www.wikidata.de-de.nina.az
Modellgetriebene Softwareentwicklung englisch model driven software development MDSD oder MDD ist ein Oberbegriff fur Techniken die automatisiert aus formalen Modellen lauffahige Software erzeugen 1 Dabei werden Modellierungssprachen insbesondere domanenspezifische Sprachen DSLs zusammen mit Codegeneratoren und Interpretern eingesetzt Inhaltsverzeichnis 1 Definition 2 Vorteile 3 Nachteile 4 Werkzeuge 4 1 Beispiele fur integrierte MDD Werkzeuge 5 Siehe auch 6 Weblinks 7 EinzelnachweiseDefinition BearbeitenModellgetriebene Softwareentwicklung hat zum Ziel den Quelltext fur ein Softwaresystem ganz oder teilweise aus einem Modell zu generieren wobei das Modell von deutlich einfacherer Komplexitat ist als der zu generierende Quelltext Insbesondere kommt dabei das DRY Prinzip 1 zum Tragen Neben dem Quelltext lassen sich aber auch weitere Artefakte wie nicht ausfuhrbare Dateien sowie Tests und Dokumentationen automatisiert generieren 2 Weil allein mit den Mitteln der jeweiligen Programmiersprache nicht immer passende Abstraktionen zur Beschreibung verschiedener Gegenstandsbereiche Domanen eines Softwaresystems gefunden werden konnen werden zielsprachunabhangige Abstraktionen in Form von Modellierungssprachen erschaffen Modellierungssprachen konnen auf den jeweiligen Gegenstandsbereich speziell zugeschnitten sein Man spricht dann von einer domanenspezifischen Sprache DSL Ublich ist auch die Verwendung von universellen Modellierungssprachen wie der Unified Modeling Language UML 3 Die Modellierungssprache wird entweder generativ oder interpretativ auf die Zielplattform abgebildet Der Einsatz modellgetriebener Softwareentwicklung hat Auswirkungen auf allen Ebenen eines Projektes sowohl technisch fachlich als auch im Managementbereich Deshalb beschreibt die Fachliteratur zu modellgetriebener Softwareentwicklung nicht nur wie man DSLs und Codegeneratoren entwickelt sondern auch wie man diese sinnvoll in Entwicklungsprozesse integriert Vorteile BearbeitenDurch den erhohten Abstraktionsgrad der DSLs sind Problembeschreibungen wesentlich klarer einfacher und weniger redundant festgehalten Das erhoht nicht nur die Entwicklungsgeschwindigkeit sondern sorgt innerhalb des Projektes fur klar verstandliche Domanenkonzepte Das Konzept der Ubiquitous Language aus dem Domain driven Design wird hier auf die Konzeptebene der Softwarearchitektur angewandt Weiterhin wird die Evolution der Software durch die Trennung der technischen Abbildung und der fachlichen Modelle wesentlich vereinfacht Testfalle konnen rascher oder grundlicher erstellt werden da man nicht mehr jede einzelne Zeile Code testet sondern auf funktionaler Ebene das Systemverhalten statisch und dynamisch pruft Domanenspezifische Validierung in den Entwicklungswerkzeugen sorgt fur sehr kurze Turnarounds Nachteile BearbeitenDer Initialaufwand zur Entwicklung einer DSL bzw zur massgeschneiderten Abbildung von UML auf die Zielsprache kann insbesondere bei nicht trivialen Projekten erheblich sein Da sich die Metamodelle und damit die Modelle in der Regel auf Teilaspekte der abzubildenden Wirklichkeit beschranken wird oft nur ein Rahmen Datenstrukturen Schnittstellen Funktionsrumpfe etc erzeugt welcher noch von Hand um die tatsachliche Funktion erganzt werden muss Dies fuhrt dazu dass der tatsachliche Projektaufwand deutlich unterschatzt werden kann Auszunehmen sind hiervon in der Regel Client Anteile von Client Server Anwendungen und reine Datenverwaltungsanwendungen Weiterhin auszunehmen sind Falle in denen ausgereifte domanenspezifische Sprachen DSL zum Einsatz kommen die dynamische Aspekte des Systemverhaltens so weit abdecken dass eine vollstandige oder fast vollstandige Generierung des Quelltexts ermoglicht wird z B Simulink Bei nicht trivialen Fehlern solche die nicht auf Spezifikationsfehler zuruckzufuhren sind ist in der Regel eine Fehlersuche zur Laufzeit notwendig Dies ist insbesondere der Fall wenn der generierte Code durch handgeschriebene Anteile erganzt wurde Eine Unterstutzung zur Fehlersuche auf Modellebene ist oft nicht oder nur unvollstandig vorhanden Werkzeuge BearbeitenRein grafische Modellierungswerkzeuge Diese dienen lediglich zur grafischen Darstellung und unterstutzen keine automatischen Transformationen Das Modell wird hier in ein textuelles Austauschformat wie zum Beispiel XMI exportiert und mit gesonderten Transformatoren weiterbearbeitet Rein textuelle Modellierungswerkzeuge Diese basieren auf einer oder mehreren textuellen domanenspezifische Sprachen und unterstutzen immer auch die Transformation z B in Sourcecode oder Dokumente Reine Transformatoren Diese dienen ausschliesslich der Transformation von Modellen und beinhalten keine grafischen Modellierungsfunktionalitaten Modelle werden in einem textuellen Austauschformat wie XMI in ein internes Modellformat importiert transformiert und danach wieder exportiert Integrierte MDD Werkzeuge Diese bieten Modellierung Modelltransformationen und Codegenerierung in einem Werkzeug Export und Importvorgange Kompatibilitatsprobleme beim Datenaustausch und Rustaufwand bezuglich Integration werden vermieden Die Navigierbarkeit und Synchronisation zwischen fachlichem und technischem Modell und Implementierungscode wird unterstutzt 4 Beispiele fur integrierte MDD Werkzeuge Bearbeiten Actifsource von Actifsource AG ArcStyler von Interactive Objects Software GmbH Artisan Studio von Artisan Software Tools ASCET von ETAS Dezyne von Verum Software Tools BV E2E Bridge von E2E Technologies Ltd EB GUIDE Studio von Elektrobit Automotive GmbH Eclipse basierte Actifsource von Actifsource AG Apollo for Eclipse von Gentleware eTrice von der Eclipse Foundation Eclipse Modeling Framework EMF von der Eclipse Foundation Eclipse openArchitectureWare Enterprise Architect UML Tool ModuleStudio von Guite Eclipse basiertes MDSD Tool fur das in PHP geschriebene Zikula Web Application Framework OOMEGA von OOMEGA GbR unterstutzt M2M M2T Transformationen mit ATL und openArchitectureWare Sympedia GenFw EMF Basiertes Generator Framework YAKINDU Statechart Tools Open Source Tool von itemis AG Xtext Open Source Framework von itemis AG Enterprise Architect von Sparx Systems Feature Oriented Programming von Launix HyperSenses und ANGIE von DELTA Software Technology ICon L von ProSign GmbH Innovator von MID GmbH LMS Embedded Software Designer von Siemens PLM Software MagicDraw von No Magic Inc 5 MetaEdit von MetaCase objectiF von microTOOL OptimalJ von Compuware radCASE von IMACS GmbH Rational Rhapsody von IBM Rational SDL Suite SDL Real Time Developer Studio SDL SCADE Suite von Esterel Technologies MDSD Tool fur sicherheitskritische Anwendungen Select Architect von Select Business Solutions MDSD Tool mit MDA Unterstutzung und Modelltransformation Simulink von The MathWorks siehe auch Stateflow und Embedded Coder TargetLink Together Architect von Borland TOPCASED Open Source Tool Visual Studio Ultimate bietet UML MDD Fahigkeiten Visual Paradigm X2X von Triple S GmbH YAKINDUSiehe auch BearbeitenModellbasiertes Testen als Gegenstuck zu MDSD Generative Programmierung ein eng verwandtes ProgrammierparadigmaWeblinks BearbeitenSven Efftinge Peter Friese Jan Kohnlein Best Practices of Model Driven Software DevelopmentEinzelnachweise Bearbeiten a b Thomas Stahl Markus Volter Sven Efftinge Modellgetriebene Softwareentwicklung Techniken Engineering Management 2 aktualisierte und erweiterte Auflage Dpunkt Verlag Heidelberg 2007 ISBN 978 3 89864 448 8 Juan Carlos Flores Beltran Boris Holzer Thorsten Kamann Michael Kloss Steffen A Mork Benedikt Niehues Karsten Thoms Modellgetriebene Softwareentwicklung MDA und MDSD in der Praxis Hrsg Georg Pietrek Jens Trompeter Entwickler Press Frankfurt am Main 2007 ISBN 978 3 939084 11 2 Amelie Flatt Arne Langner Olof Leps Model Driven Development of Akoma Ntoso Application Profiles Hrsg Springer Nature 1 Auflage Springer Nature Heidelberg 2022 ISBN 978 3 03114131 7 springer com abgerufen am 19 August 2022 Amelie Flatt Arne Langner Olof Leps Model Driven Development of Akoma Ntoso Application Profiles Hrsg Springer Nature 1 Auflage Springer Nature Heidelberg 2022 ISBN 978 3 03114131 7 springer com abgerufen am 19 August 2022 Amelie Flatt Arne Langner Olof Leps Model Driven Development of Akoma Ntoso Application Profiles Hrsg Springer Nature 1 Auflage Springer Nature Heidelberg 2022 ISBN 978 3 03114131 7 springer com abgerufen am 19 August 2022 Abgerufen von https de wikipedia org w index php title Modellgetriebene Softwareentwicklung amp oldid 238744450