Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Modellgetriebene Softwareentwicklung openArchitectureWare Tool-Suite für modellgetriebene Softwareentwicklung Vortrag im Rahmen des Seminars Modellgetriebene.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Modellgetriebene Softwareentwicklung openArchitectureWare Tool-Suite für modellgetriebene Softwareentwicklung Vortrag im Rahmen des Seminars Modellgetriebene."—  Präsentation transkript:

1 Seminar Modellgetriebene Softwareentwicklung openArchitectureWare Tool-Suite für modellgetriebene Softwareentwicklung Vortrag im Rahmen des Seminars Modellgetriebene Softwareentwicklung Nico Suchold cs.uni-magdeburg.de

2 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold2 Inhalt Historie und Einordnung Kern-Kompetenz Das Generator-Framework Metamodellierung Templates Integration Zusammenfassung und Ausblick

3 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold3 Historie und Einordnung entstanden aus dem kommerziellen Produkt b+m Generator FrameWork der b+m Informatik AG wurde unter LGPL (Lesser General Public License) als Open Source zur Verfügung gestellt Java-implementiertes, MDSD-konformes Framework Metamodell-basierte, domainspezifische Sprachen (abstrakte Syntax, konkrete Syntax) Transformation durch Templates (Semantik) definierte Plattform manuelle Ergänzung

4 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold4 Kern-Kompetenz Jede Form von Modellinformationen ist auswertbar beliebige Ausgabeformate generierbar (Java, XML, PHP etc.) explizites Domain-Metamodell einfache Template-Sprache gute Integrationsfähigkeit umfangreiche Dokumentation

5 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold5 Das Generator-Framework Parser analysiert Inputmodell (z.B. XMI-Format) Instantiator bildet Instanzen des Metamodells zum geparsten Modell auf Basis Plattform-spezifischer Templates erzeugt Code Generator den zu generierenden Code

6 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold6 Metamodellierung I reduziertes, praxis-orientiertes UML-Metamodell vorhanden und bildet Basis-Metamodell wird repräsentiert durch Basis-Metaklassen des Generator- Frameworks Basis-Metamodell wird um Elemente der eigenen Anwendungsarchitektur erweitert um DSL abzubilden

7 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold7 Metamodellierung II für abgeleitete Element des Metamodells müssen die jeweiligen Metaklassen erstellt werden am einfachsten mittels Vererbung der Basis-Metaklassen und Implementierung speziell benötigter Methoden zu realisieren

8 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold8 Metamodellierung III mittels der Mapping-Datei wird z.B. der Stereotyp Geschaeftsobjekt auf die erstellte Metaklasse Geschaeftsobjekt abgebildet Geschaeftsobjekt

9 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold9 Metamodellierung IV Instantiierung Geschaeftsobjekt Geschaeftsobjekt

10 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold10 Templates I dienen der Beschreibung der Codegenerierungsvorschriften werden mit oAW-eigener Sprache Xpand erstellt sehr einfache Sprache mit wenigen Sprachelementen Templatedatei besteht aus beliebig vielen DEFINE-Blöcken Rumpf der DEFINE-Blöcke enthält beliebigen Text, Tags mit > geklammert und Xpand-Kommentare Tags steuern die Generierung und Text wird unverändert in den Output geschrieben

11 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold11 Templates II

12 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold12 Templates III > public class > // Geschaeftsprozess { > } > private > >; public void >( > >) { > = >; } public > > () { return >; } > > > > > ( > > > >) { > > // place code here > } > public class > // Geschaeftsprozess { > } > private > >; public void >( > >) { > = >; } public > > () { return >; } > > > > > ( > > > >) { > > // place code here > } > public class RechnungErstellen // Geschaeftsprozess { private int interneNummer; public void setinterneNummer( int pinterneNummer ) { interneNummer = pinterneNummer; } public int getinterneNummer () { return interneNummer; } public void erstelleRechnungFuerKunde( int pKundennummer) { /*PROTECTED REGION ID(I197eb84m ca2mm4784) START*/ // place code here /*PROTECTED REGION END*/ } public class RechnungErstellen // Geschaeftsprozess { private int interneNummer; public void setinterneNummer( int pinterneNummer ) { interneNummer = pinterneNummer; } public int getinterneNummer () { return interneNummer; } public void erstelleRechnungFuerKunde( int pKundennummer) { /*PROTECTED REGION ID(I197eb84m ca2mm4784) START*/ // place code here /*PROTECTED REGION END*/ } generierte Datei RechnungErstellen.java Ausschnitt aus der Templatedatei instantiierte Metaklasse aus dem Modell

13 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold13 Integration Projekte zur Integration in UML-Werkzeuge verschiedene unterstützte UML Dialekte ARIS UML-Designer Gentleware Poseidon for UML Rational Rode + UniSys XML Tools eigenes Plugin für Integration von oAW in Eclipse anzupassende Build-Skripte auf ANT-Basis Xpand Template Editor Content Outline Page Analyse von Generatorausgaben

14 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold14 Zusammenfassung und Ausblick leichter Einstieg durch Tutorials und Dokumentation flexibles Framework zur Generierung von Applikationen Version 4 Anfang 2006 bessere Integration in Eclipse (besseres debuggen) EMF – Unterstützung Erweiterung von XPand

15 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold15 Quellenangaben b+m Informatik AG: Open Generator Framework Referenz, kReference_de.pdf Völter M.: Modellgetriebende Softwareentwicklung, Völter M.: Metamodellbasierte Codegenerierung in Java, n.pdf Grund M.: MDA Tools, Hasso-Plattner-Institut, Thoms K., Holzer B.: Java Magazin 07/2005, Codegenerierung mit dem openArchitectureWare Generator 3.0: The next Generation, Thoms K., Gruske M.: Java Magazin 08/2005, openArchitectureWare, Teil 2: Metamodellierung und Tool- Integration: Wenn Architektur zur Ware wird,

16 Seminar Modellgetriebene Softwareentwicklung openArchitectureWareNico Suchold16 Vielen Dank für Ihr Interesse !


Herunterladen ppt "Seminar Modellgetriebene Softwareentwicklung openArchitectureWare Tool-Suite für modellgetriebene Softwareentwicklung Vortrag im Rahmen des Seminars Modellgetriebene."

Ähnliche Präsentationen


Google-Anzeigen