38,910 research outputs found

    Transformationen in der modellgetriebenen Software-Entwicklung

    Get PDF
    odellgetriebene Software-Entwicklung ist in den letzten Jahren insbesondere unter Schlagworten wie MDA oder MDD zu einem Thema von allgemeinem Interesse fĂŒr die Software-Branche geworden. Dabei ist ein Trend weg von der codezentrierten Software-Entwicklung hin zum (Architektur-) Modell im Mittelpunkt der Software-Entwicklung festzustellen. Modellgetriebene Software-Entwicklung verspricht eine stetige und automatisierte Synchronisation von Software-Modellen verschiedenster Ebenen. Dies verspricht eine VerkĂŒrzung von Entwicklungszyklen und mehr ProduktivitĂ€t. PrimĂ€r wird nicht mehr reiner Quellcode entwickelt, sondern Modelle und Transformationen ĂŒbernehmen als eine höhere Abstraktionsebene die Rolle der Entwicklungssprache fĂŒr Software-Entwickler. Software-Architekturen lassen sich durch Modell beschreiben. Sie sind weder auf eine Beschreibungssprache noch auf eine bestimmte DomĂ€nen beschrĂ€nkt. Im Zuge der BemĂŒhungen modellgetriebener Entwicklung lassen sich hier Entwicklungen hin zu standardisierten Beschreibungssprachen wie UML aber auch die EinfĂŒhrung von domĂ€nen-spezifischen Sprachen (DSL) erkennen. Auf diese formalisierten Modelle lassen sich schließlich Transformationen anwenden. Diese können entweder zu einem weiteren Modell ("Model-to-Model") oder einer textuellen ReprĂ€sentation ("Model-to-Text") erfolgen. Transformationen kapseln dabei wiederholt anwendbares Entwurfs-Wissen ("Muster") in parametrisierten Schablonen. FĂŒr die Definition der Transformationen können Sprachen wie beispielsweise QVT verwendet werden. Mit AndoMDA und openArchitectureWare existieren Werkzeuge, welche die Entwickler bei der AusfĂŒhrung von Transformationen unterstĂŒtzen

    Inkrementelle Aktualisierungstechniken fĂŒr Modelle und ihre DatenbankreprĂ€sentation

    Get PDF
    Modellgetriebene Software-Entwicklung (engl. Model Driven Software Development) steht fĂŒr die Entwicklung von Software auf der Basis von Modellen. Diese stehen im Entwicklungsprozess auf einer Stufe mit Quelltext, der aus den Modellen generiert werden kann. Um die Arbeit im Team effizient zu ermöglichen, ist eine Synchronisierung der zu bearbeitenden Modelle nach einer Änderung zwischen allen Mitgliedern zwingend notwendig. Bei der Nutzung von Datenbanken zur Speicherung der Modelle ergeben sich dabei jedoch Probleme, da eine generierte Persistenzschicht hĂ€ufig nur eine vollstĂ€ndige Ersetzung von bereits geladenen Elementen unterstĂŒtzt. Eine Lösungsmöglichkeit ist die Detektion von Änderungen und die anschließende, inkrementelle Aktualisierung. HierfĂŒr stehen bereits vorhandene Techniken zur VerfĂŒgung, welche kombiniert werden können. Im Rahmen dieser Arbeit sollten verschiedene AnsĂ€tze gefunden und anhand von Metriken bewertet werden. Eine Lösung des Problems ist die Kombination von aktiven Datenbanksystemen zur Änderungserkennung mit einer Persistenzschicht zur inkrementellen Aktualisierung einzelner Modellelemente. Bei der Untersuchung von UML-Modellen durchschnittlicher GrĂ¶ĂŸe (ca. 400 Elemente) ergibt sich bereits eine 25-fache Beschleunigung im Vergleich mit nicht-inkrementellen Methoden

    Model-Based Run-time Verification of Software Components by Integrating OCL into Treaty

    Get PDF
    Model Driven Development is used to improve software quality and efficiency by automatically transforming abstract and formal models into software implementations. This is particularly sensible if the model’s integrity can be proven formally and is preserved during the model’s transformation. A standard to specify software model integrity is the Object Constraint Language (OCL). Another topic of research is the dynamic development of software components, enabling software system composition at component run-time. As a consequence, the system’s verification must be realized during system run-time (and not during transformation or compile time). Many established verification techniques cannot be used for run-time verification. A method to enable model-based run-time verification will be developed during this work. How OCL constraints can be transformed into executable software artifacts and how they can be used in the component-based system Treaty will be the major task of this diploma thesis.Modellgetriebene Entwicklung dient der Verbesserung von QualitĂ€t und Effizienz in der Software-Entwicklung durch Automatisierung der notwendigen Transformationen von abstrakten bzw. formalen Modellen bis zur Implementierung. Dies ist insbesondere dann sinnvoll, wenn die IntegritĂ€t der ursprĂŒnglichen Modelle formal bewiesen werden kann und durch die Transformation gewĂ€hrleistet wird. Ein Standard zur Spezifikation der IntegritĂ€t von Softwaremodellen ist die Object Constraint Language (OCL). Eine weitere Forschungsrichtung im Software-Engineering ist die Entwicklung von dynamischen Komponenten-Modellen, die die Komposition von Softwaresystemen im laufenden Betrieb ermöglichen. Dies bedeutet, dass die Systemverifikation im laufenden Betrieb realisiert werden muss. Die meisten der etablierten Verifikationstechniken sind dazu nicht geeignet. In der Diplomarbeit soll ausgehend von diesem Stand der Technik eine Methode zur modellbasierten Verifikation zur Laufzeit entwickelt werden. Insbesondere soll untersucht werden, wie OCL-Constraints zur Laufzeit in ausfĂŒhrbare Software-Artefakte ĂŒbersetzt und in dem komponentenbasierten System Treaty verwendet werden können

    Modelle der Software-Entwicklung - Abbilder oder Vorbilder?

    Get PDF
    Der nachfolgende Beitrag ist aus der Antrittsvorlesung entstanden, die ich am 28. Juni 1989 hier an der UniversitĂ€t Stuttgart gehalten habe. Ich gehe von der Problemstellung aus, wie sie sich heute aus meiner Sicht im Fach Software Engineering bietet. Anschließend gehe ich auf das Problem der Modellbildung ein und skizziere schließlich ein Projekt, das unsere Abteilung in den nĂ€chsten Jahren bearbeiten wird

    Konsistenzerhaltung von Feature-Modellen durch externe Sichten

    Get PDF
    Bei der Produktlinienentwicklung werden Software-Produktlinien(SPLs) meistens Featureorientiert strukturiert und organisiert. Um die gemeinsamen und variablen Merkmale der Produkte einer Produktlinie darzustellen, können Feature-Modelle verwendet werden. Ein Software-Werkzeug zum Erstellen und Editieren von Feature-Modellen ist FeatureIDE, welche die ZustĂ€nde der Feature-Modelle als Dateien der Extensible Markup Language (XML) persistiert. Bei der Entwicklung von Software-Systemen existieren allerdings mehrere unterschiedliche Artefakte. Diese können sich Informationen mit den Feature-Modellen teilen. Um diese Artefakte und Modelle gemeinsam automatisch evolvieren zu können, werden KonsistenzerhaltungsansĂ€tze benötigt. Solche AnsĂ€tze sind jedoch nicht mit den persistierten XML-Dateien kompatibel. In dieser Arbeit implementieren wir eine bidirektionale Modell-zu-Text-Transformation, welche die als XML-Dateien persistierten ZustĂ€nde der FeatureIDE-Modelle in geeignete ModellreprĂ€sentationen ĂŒberfĂŒhrt, um daraus feingranulare Änderungssequenzen abzuleiten. Diese können zur deltabasierten Konsistenzerhaltung verwendet werden. FĂŒr die ModellreprĂ€sentation verwenden wir ein bestehendes Metamodell fĂŒr VariabilitĂ€t. Zur Ableitung der Änderungssequenzen wird ein existierendes Konsistenzerhaltungsframework eingesetzt. Wir validieren die Korrektheit der Transformation mithilfe von Round-Trip-Tests. Dabei zeigen wir, dass die in dieser Arbeit implementierte Transformation alle geteilten Informationen zwischen FeatureIDE und dem VariabilitĂ€ts-Metamodell korrekt transformiert. Zudem können mithilfe der in dieser Arbeit implementierten Transformation und mit dem verwendeten Konsistenzerhaltungsframework zu 94,44% korrekte feingranulare Änderungssequenzen aus den als XML-Datei persistierten ZustĂ€nden der FeatureIDE-Modelle abgeleitet werden

    HybridMDSD: Multi-Domain Engineering with Model-Driven Software Development using Ontological Foundations

    Get PDF
    Software development is a complex task. Executable applications comprise a mutlitude of diverse components that are developed with various frameworks, libraries, or communication platforms. The technical complexity in development retains resources, hampers efficient problem solving, and thus increases the overall cost of software production. Another significant challenge in market-driven software engineering is the variety of customer needs. It necessitates a maximum of flexibility in software implementations to facilitate the deployment of different products that are based on one single core. To reduce technical complexity, the paradigm of Model-Driven Software Development (MDSD) facilitates the abstract specification of software based on modeling languages. Corresponding models are used to generate actual programming code without the need for creating manually written, error-prone assets. Modeling languages that are tailored towards a particular domain are called domain-specific languages (DSLs). Domain-specific modeling (DSM) approximates technical solutions with intentional problems and fosters the unfolding of specialized expertise. To cope with feature diversity in applications, the Software Product Line Engineering (SPLE) community provides means for the management of variability in software products, such as feature models and appropriate tools for mapping features to implementation assets. Model-driven development, domain-specific modeling, and the dedicated management of variability in SPLE are vital for the success of software enterprises. Yet, these paradigms exist in isolation and need to be integrated in order to exhaust the advantages of every single approach. In this thesis, we propose a way to do so. We introduce the paradigm of Multi-Domain Engineering (MDE) which means model-driven development with multiple domain-specific languages in variability-intensive scenarios. MDE strongly emphasize the advantages of MDSD with multiple DSLs as a neccessity for efficiency in software development and treats the paradigm of SPLE as indispensable means to achieve a maximum degree of reuse and flexibility. We present HybridMDSD as our solution approach to implement the MDE paradigm. The core idea of HybidMDSD is to capture the semantics of particular DSLs based on properly defined semantics for software models contained in a central upper ontology. Then, the resulting semantic foundation can be used to establish references between arbitrary domain-specific models (DSMs) and sophisticated instance level reasoning ensures integrity and allows to handle partiucular change adaptation scenarios. Moreover, we present an approach to automatically generate composition code that integrates generated assets from separate DSLs. All necessary development tasks are arranged in a comprehensive development process. Finally, we validate the introduced approach with a profound prototypical implementation and an industrial-scale case study.Softwareentwicklung ist komplex: ausfĂŒhrbare Anwendungen beinhalten und vereinen eine Vielzahl an Komponenten, die mit unterschiedlichen Frameworks, Bibliotheken oder Kommunikationsplattformen entwickelt werden. Die technische KomplexitĂ€t in der Entwicklung bindet Ressourcen, verhindert effiziente Problemlösung und fĂŒhrt zu insgesamt hohen Kosten bei der Produktion von Software. ZusĂ€tzliche Herausforderungen entstehen durch die Vielfalt und Unterschiedlichkeit an KundenwĂŒnschen, die der Entwicklung ein hohes Maß an FlexibilitĂ€t in Software-Implementierungen abverlangen und die Auslieferung verschiedener Produkte auf Grundlage einer Basis-Implementierung nötig machen. Zur Reduktion der technischen KomplexitĂ€t bietet sich das Paradigma der modellgetriebenen Softwareentwicklung (MDSD) an. Software-Spezifikationen in Form abstrakter Modelle werden hier verwendet um Programmcode zu generieren, was die fehleranfĂ€llige, manuelle Programmierung Ă€hnlicher Komponenten ĂŒberflĂŒssig macht. Modellierungssprachen, die auf eine bestimmte ProblemdomĂ€ne zugeschnitten sind, nennt man domĂ€nenspezifische Sprachen (DSLs). DomĂ€nenspezifische Modellierung (DSM) vereint technische Lösungen mit intentionalen Problemen und ermöglicht die Entfaltung spezialisierter Expertise. Um der Funktionsvielfalt in Software Herr zu werden, bietet der Forschungszweig der Softwareproduktlinienentwicklung (SPLE) verschiedene Mittel zur Verwaltung von VariabilitĂ€t in Software-Produkten an. Hierzu zĂ€hlen Feature-Modelle sowie passende Werkzeuge, um Features auf Implementierungsbestandteile abzubilden. Modellgetriebene Entwicklung, domĂ€nenspezifische Modellierung und eine spezielle Handhabung von VariabilitĂ€t in Softwareproduktlinien sind von entscheidender Bedeutung fĂŒr den Erfolg von Softwarefirmen. Zur Zeit bestehen diese Paradigmen losgelöst voneinander und mĂŒssen integriert werden, damit die Vorteile jedes einzelnen fĂŒr die Gesamtheit der Softwareentwicklung entfaltet werden können. In dieser Arbeit wird ein Ansatz vorgestellt, der dies ermöglicht. Es wird das Multi-Domain Engineering Paradigma (MDE) eingefĂŒhrt, welches die modellgetriebene Softwareentwicklung mit mehreren domĂ€nenspezifischen Sprachen in variabilitĂ€tszentrierten Szenarien beschreibt. MDE stellt die Vorteile modellgetriebener Entwicklung mit mehreren DSLs als eine Notwendigkeit fĂŒr Effizienz in der Entwicklung heraus und betrachtet das SPLE-Paradigma als unabdingbares Mittel um ein Maximum an Wiederverwendbarkeit und FlexibilitĂ€t zu erzielen. In der Arbeit wird ein Ansatz zur Implementierung des MDE-Paradigmas, mit dem Namen HybridMDSD, vorgestellt

    Entwicklung eines IR-Kohlenmonoxidsensors

    Full text link
    Die Arbeit beschreibt die Entwicklung und Charakterisierung einer neuartigen Gasmesszelle fĂŒr Kohlenmonoxidmessungen mittels IR-Absorption. Die Entwicklung basiert einerseits auf Vergleichsmessungen mit bestehenden Gasmesszellen und andererseits auf den Ergebnissen zahlreicher Computersimulationen. Die Software zur Simulation und Beurteilung refelektiv arbeitender optischer Systeme wurde ebenfalls im Rahmen der Arbeit entwickelt. ZusĂ€tzlich wurde eine 3d-engine programmiert, mit deren Hilfe sowohl beliebige Modelle von Gasmesszellen, als auch die mit dem Simulationsprogramm berechneten Lichtwege in perspektivischer Ansicht grafisch dargestellt werden können. Durch die Integration der erfundenen Gasmesszelle "spiralförmige Gassensoroptik" in ein Messsystem konnte ein Sensor entwickelt werden, der Kohlenmonoxidmessungen in verschiedenen Konzentrationsbereichen ermöglicht. Das entwickelte optische System wurde unter der Nummer DE 10 2006 030 788.7 beim DPMA zum Patent angemeldet

    Warum klassische Evaluation oftmals nicht ausreicht – eine Studie zur Ermittlung der Bedeutsamkeit Mentaler Modelle als Evaluationsmethode

    Get PDF
    Hohe Benutzertauglichkeit und Akzeptanz eines Webseitenservices sind nur dann gewĂ€hrleistet, wenn diese auf die funktionalen BedĂŒrfnisse, aber auch auf die strukturellen Vorstellungen ihrer Benutzer zugeschnitten sind. Im Kontext einer Webseite zur „Suche nach E-Learning-Produkten im Internet“ wurde untersucht, inwieweit die Kenntnis der Mentalen Modelle potenzieller Nutzer den Softwareentwicklungsprozess positiv beeinflussen kann. Dabei erlaubte die Erhebung Mentaler Modelle mit Hilfe der Struktur-Lege-Technik (SLT) als Evaluationsmethode einen Vergleich mit der tatsĂ€chlich entwickelten Webseite. Die Studie zeigte, dass trotz zuvor bereits durchgefĂŒhrter, klassischer Evaluationen (Usability Tests, Anwendung von Heuristiken und Cognitive Walkthroughs) 40 Funktionsbereiche genannt wurden, die auf der tatsĂ€chlichen Webseite nicht vorgesehen oder umgesetzt sind. Daraus folgt, dass die Erhebung von Mentalen Modellen ebenfalls bereits vor dem Software-Entwicklungsprozess durchgefĂŒhrt werden soll. (DIPF/Orig.

    Software Lifecycle Management als GrenzgÀnger

    Get PDF
    Software Lifecycle Management bedeutet zunĂ€chst einmal die ganzheitliche Verwaltung von Software ĂŒber den Lifecycle «Plan – Build – Run». Bei genauerem Hinsehen ist es jedoch eine GrenzĂŒberschreitung zwischen Bereitstellung und Betrieb. Diese Grenze gilt es zu ĂŒberwinden – dies ist nicht ganz einfach, denn die gĂ€ngigen Software-Engineering-Praktiken ignorieren die BedĂŒrfnisse des geregelten Betriebs in strĂ€flicher Weise

    Entwicklungsmethodiken zur kollaborativen Softwareerstellung – Stand der Technik

    Full text link
    Die weltweit wachsende Nachfrage nach Unternehmenssoftware erfordert immer neue Methoden und Formen der Zusammenarbeit (Kollaboration) bei der Softwareerstellung. Zu diesem Zweck untersucht und vergleicht dieses Arbeitspapier existierende Vorgehensmodelle und deren Evolution. ZusĂ€tzlich werde erste AnsĂ€tze zur kollaborativen Softwareerstellung vorgestellt und ihre Eignung fĂŒr ein kommerzielles Umfeld analysiert. Die Arbeit verwendet hierzu einen eigenen Vergleichsrahmen, der u.a. auch so genannte "Kollaborationspunkte“ in Betracht zieht, d.h. AktivitĂ€ten im Prozess an denen das Einbinden mehrerer Entwickler und/oder Anwender vorteilhaft ist. Die Erkenntnisse aus der vergleichenden Analyse des Stands der Technik werden schließlich dazu verwendet, Defizite existierender AnsĂ€tze aufzuzeigen und Anforderungen fĂŒr unterstĂŒtzende Werkzeuge abzuleiten
    • 

    corecore