SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Programmieren ohne Programmierer
Modellgetriebene Softwareentwicklung mit GeneSEZ in 10 Minuten
                          Gerrit Beine
                     gerrit.beine@sqqd.de
Model Driven Software Development




23.08.2009          © SQQD GmbH - www.sqdd.de - info@sqdd.de   2
Nein...




23.08.2009   © SQQD GmbH - www.sqdd.de - info@sqdd.de   3
Grundidee
 ●   Software grafisch Modellieren
 ●   Vom Abstrakten zum Konkreten
 ●   Kluges Generieren statt Stupides Coden
 ●   Computer machen weniger Fehler
 ●   Modell-zu-Modell-Transformationen
 ●   Modell-zu-Text-Transformationen



23.08.2009       © SQQD GmbH - www.sqdd.de - info@sqdd.de   4
Modelltransformationen


  Volere Shell                  UML                    UML              Java, C, PHP, ...


                                                                         Datenbankstruktur
                                                       Designmodell
  Anforderungen           Analysemodell
                                                                          Programmcode
                                                     Testmodell
             Manuelle Analyse
                                                                       Testabläufe und -daten
                                  Transformation und
                                 manuelle Anreicherung
                                                             Transformation und
                                                            manuelle Anreicherung




23.08.2009                  © SQQD GmbH - www.sqdd.de - info@sqdd.de                            5
Metamodelle

                      beschreibt                    Instanz von


                                                                               Element
     MOF, Ecore               M3: Meta-Metamodell                       (Attribute: Element)

                      beschreibt                    Instanz von
                                                                              Element
   UML, GeneSEZ                    M2: Metamodell                   (Attribute: (Name: String,
                                                                    Variable: (String, String) ) )
                      beschreibt                    Instanz von
                                                                               Klasse
 Klassendiagramm,
 Aktivitätsdiagramm                  M1: Modell                       (Name: Auto, Variablen:
                                                                  (Farbe: String, Türen: Integer) )
                      beschreibt                    Instanz von

                                                                               Auto
      Objekte                      M0: Instanzen                       (Farbe: rot, Türen: 5)




23.08.2009             © SQQD GmbH - www.sqdd.de - info@sqdd.de                                       6
Die Idee von GeneSEZ




23.08.2009    © SQQD GmbH - www.sqdd.de - info@sqdd.de   7
Projekthistorie
 ●   Start 2006 an der FH Zwickau
 ●   Ziel: MDSD in 10 Minuten
 ●   Perspektive: Programmierer als Anwender
 ●   Unterstützung agiler Software-Entwicklung
 ●   Keine 1:1 Umsetzung des Modells im Code
 ●   Modelle sind abstrakter als Code



23.08.2009        © SQQD GmbH - www.sqdd.de - info@sqdd.de   8
Basistechnologien
 ●   Eclipse Modeling Framework
 ●   EMF UML2
 ●   openArchitectureWare
 ●   Warum GeneSEZ notwendig ist:
      –   Hoher Investition in Infrastrukur (Zeit)
      –   Hoher Lernaufwand (UML 2 Metamodell)
      –   Auwändige Wartung eines Generators



23.08.2009             © SQQD GmbH - www.sqdd.de - info@sqdd.de   9
GeneSEZ Ansatz
 ●   Definition eines eigenen Metamodells
      –   Optimiert für Codegenerierung
      –   Entwickler als Anwender im Fokus
 ●   Anbieten fertiger Generator-Plattformen




23.08.2009           © SQQD GmbH - www.sqdd.de - info@sqdd.de   10
GeneSEZ Metamodell
 ●   In UML entwickelt
 ●   Steht als Ecore (EMF)
     Modell zu Verfügung
 ●   Kennt AOP, OOP,
     Profile
 ●   Einfache
     Transformation aus
     UML und DSLs


23.08.2009        © SQQD GmbH - www.sqdd.de - info@sqdd.de   11
GeneSEZ Plattformen
 ●   Workflow-Komponenten für Transformationen
 ●   Naming Conventions
 ●   Package Importe / Namespaces
 ●   Type Mapping
 ●   Code-Templates für Metamodellelemente
 ●   Scripten zur Modell-Interpretation und
     -Anreicherung


23.08.2009        © SQQD GmbH - www.sqdd.de - info@sqdd.de   12
Workflow ab Release 1.7



                      UML/DSL           GeneSEZ              Testing
Anforderungen   M2M             M2M                 M2M                M2T       Tests
                       Modell            Modell              Modell


                                                             Source
                                                    M2T
                                                              Code
                                                                             QF-Test,
                                                                             Selenium


                                         Reports




23.08.2009                © SQQD GmbH - www.sqdd.de - info@sqdd.de                       13
Workflow




23.08.2009   © SQQD GmbH - www.sqdd.de - info@sqdd.de   14
Type-Mapping




23.08.2009   © SQQD GmbH - www.sqdd.de - info@sqdd.de   15
Templates




23.08.2009   © SQQD GmbH - www.sqdd.de - info@sqdd.de   16
Scripten




23.08.2009   © SQQD GmbH - www.sqdd.de - info@sqdd.de   17
Beispielcode




23.08.2009   © SQQD GmbH - www.sqdd.de - info@sqdd.de   18
Statistiken...




23.08.2009   © SQQD GmbH - www.sqdd.de - info@sqdd.de   19
Individualisierungen
 ●   Anpassung von Templates und Funktionen
      –   Beeinflussen mit Aspekten
 ●   Ändern von Datentypen
      –   Lokal im Projekt überschreiben
 ●   Generator und Plattform bleiben unverändert
 ●   Wiederverwendung: Eigene Plattform ableiten




23.08.2009           © SQQD GmbH - www.sqdd.de - info@sqdd.de   20
Individualisierungen: Templates




23.08.2009      © SQQD GmbH - www.sqdd.de - info@sqdd.de   21
Individualisierungen: Scripten




23.08.2009          © SQQD GmbH - www.sqdd.de - info@sqdd.de   22
Individualisierungen: Workflow




23.08.2009      © SQQD GmbH - www.sqdd.de - info@sqdd.de   23
Zukünftiges
 ●   31.08.2009 – Release 1.6.3
 ●   Im Herbst – Release 1.7 mit
      –   Zustandsautomaten
      –   Aktivitäten
      –   Testgenerierung
      –   Mehr Plattformen :-)




23.08.2009              © SQQD GmbH - www.sqdd.de - info@sqdd.de   24
Ausprobieren?
 ●   Informieren
      –   http://www.genesez.de/
 ●   Herunterladen
      –   http://www.genesez.de/download
      –   http://updatesite.genesez.de/site.xml
 ●   Handbuch
      –   http://manual.genesez.de/
 ●   info@genesez.de

23.08.2009            © SQQD GmbH - www.sqdd.de - info@sqdd.de   25
Gibt es Fragen?

                           Dann jetzt!

             Oder gleich an unserem Stand :-)



23.08.2009         © SQQD GmbH - www.sqdd.de - info@sqdd.de   26
Aspekte




             Danke und viel Spaß noch.




23.08.2009      © SQQD GmbH - www.sqdd.de - info@sqdd.de   27

Contenu connexe

Similaire à Programmieren ohne Programmierer

AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
 
Bachelorarbeit - Scrup Templatesystem
Bachelorarbeit - Scrup TemplatesystemBachelorarbeit - Scrup Templatesystem
Bachelorarbeit - Scrup TemplatesystemTobi NenTi
 
Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET
Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET
Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET Куранкова Татьяна
 
Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"joergreichert
 
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
".NET und jetzt!" C# in 21 Tagen oder doch besser Best PracticesGFU Cyrus AG
 
3D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 20163D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 2016Robert Siegel
 
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitDWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitNico Orschel
 
Industy-forum 2011 PARTsolutions ELWEMA
Industy-forum 2011 PARTsolutions ELWEMAIndusty-forum 2011 PARTsolutions ELWEMA
Industy-forum 2011 PARTsolutions ELWEMACADENAS
 
PLM Open Hours - ECAD und PDM - Integrationsmöglichhkeiten
PLM Open Hours - ECAD und PDM - IntegrationsmöglichhkeitenPLM Open Hours - ECAD und PDM - Integrationsmöglichhkeiten
PLM Open Hours - ECAD und PDM - IntegrationsmöglichhkeitenIntelliact AG
 
20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforumElmar Selbach
 
Software Metrics and Continuous Integration
Software Metrics and Continuous IntegrationSoftware Metrics and Continuous Integration
Software Metrics and Continuous IntegrationMilena Reichel
 

Similaire à Programmieren ohne Programmierer (20)

CodeFluent Entities and AppSofa
CodeFluent Entities and AppSofaCodeFluent Entities and AppSofa
CodeFluent Entities and AppSofa
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
Bachelorarbeit - Scrup Templatesystem
Bachelorarbeit - Scrup TemplatesystemBachelorarbeit - Scrup Templatesystem
Bachelorarbeit - Scrup Templatesystem
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
MDSD Potentiale modellgetriebener Softwareentwicklung
MDSD Potentiale modellgetriebener SoftwareentwicklungMDSD Potentiale modellgetriebener Softwareentwicklung
MDSD Potentiale modellgetriebener Softwareentwicklung
 
.NET und jetzt!
.NET und jetzt!.NET und jetzt!
.NET und jetzt!
 
Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET
Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET
Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET
 
Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"
 
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
 
JavaFX Real-World Apps
JavaFX Real-World AppsJavaFX Real-World Apps
JavaFX Real-World Apps
 
Lebenslauf
LebenslaufLebenslauf
Lebenslauf
 
MDSD Herausforderung: Entwicklungsmethodik und technisches Umfeld
MDSD Herausforderung: Entwicklungsmethodik und technisches UmfeldMDSD Herausforderung: Entwicklungsmethodik und technisches Umfeld
MDSD Herausforderung: Entwicklungsmethodik und technisches Umfeld
 
3D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 20163D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 2016
 
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitDWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
 
Industy-forum 2011 PARTsolutions ELWEMA
Industy-forum 2011 PARTsolutions ELWEMAIndusty-forum 2011 PARTsolutions ELWEMA
Industy-forum 2011 PARTsolutions ELWEMA
 
PLM Open Hours - ECAD und PDM - Integrationsmöglichhkeiten
PLM Open Hours - ECAD und PDM - IntegrationsmöglichhkeitenPLM Open Hours - ECAD und PDM - Integrationsmöglichhkeiten
PLM Open Hours - ECAD und PDM - Integrationsmöglichhkeiten
 
20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum20150923 ausführbare spezifikation_automotiveforum
20150923 ausführbare spezifikation_automotiveforum
 
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
 
Software Metrics and Continuous Integration
Software Metrics and Continuous IntegrationSoftware Metrics and Continuous Integration
Software Metrics and Continuous Integration
 
Simplify SCCM with netECM
Simplify SCCM with netECMSimplify SCCM with netECM
Simplify SCCM with netECM
 

Plus de Gerrit Beine

Auf Lesereise mit Frit und Fred
Auf Lesereise mit Frit und FredAuf Lesereise mit Frit und Fred
Auf Lesereise mit Frit und FredGerrit Beine
 
Mastering Cargo Cult
Mastering Cargo CultMastering Cargo Cult
Mastering Cargo CultGerrit Beine
 
Conway’s Law & Soziologie in der Software-Architektur
Conway’s Law & Soziologie in der Software-ArchitekturConway’s Law & Soziologie in der Software-Architektur
Conway’s Law & Soziologie in der Software-ArchitekturGerrit Beine
 
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wirdBeyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wirdGerrit Beine
 
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias CurveMastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias CurveGerrit Beine
 
Gut genug - Rahmenbedingungen für agile Architekturen
Gut genug - Rahmenbedingungen für agile ArchitekturenGut genug - Rahmenbedingungen für agile Architekturen
Gut genug - Rahmenbedingungen für agile ArchitekturenGerrit Beine
 
Beyond Agile – Ungewissheit mit der Real Option Theory meistern
Beyond Agile – Ungewissheit mit der Real Option Theory meisternBeyond Agile – Ungewissheit mit der Real Option Theory meistern
Beyond Agile – Ungewissheit mit der Real Option Theory meisternGerrit Beine
 
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...Gerrit Beine
 
Backlog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
Backlog Priorisierung mit Cost of Delay & Monte Carlo SimulationenBacklog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
Backlog Priorisierung mit Cost of Delay & Monte Carlo SimulationenGerrit Beine
 
Der hyperbolische Thread-Koeffizient
Der hyperbolische Thread-KoeffizientDer hyperbolische Thread-Koeffizient
Der hyperbolische Thread-KoeffizientGerrit Beine
 
Die Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
Die Testedimaryp - Über die Antimonie des agilen Testens in der PraxisDie Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
Die Testedimaryp - Über die Antimonie des agilen Testens in der PraxisGerrit Beine
 
Vom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerVom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerGerrit Beine
 
Technische Schulden - mit Notizen
Technische Schulden - mit NotizenTechnische Schulden - mit Notizen
Technische Schulden - mit NotizenGerrit Beine
 
Technische Schulden
Technische SchuldenTechnische Schulden
Technische SchuldenGerrit Beine
 
Die Product Owner Toolbox
Die Product Owner ToolboxDie Product Owner Toolbox
Die Product Owner ToolboxGerrit Beine
 
Agile Coach zu werden ist nicht schwer... - mit Notizen
Agile Coach zu werden ist nicht schwer... - mit NotizenAgile Coach zu werden ist nicht schwer... - mit Notizen
Agile Coach zu werden ist nicht schwer... - mit NotizenGerrit Beine
 
Agile Coach zu werden ist nicht schwer...
Agile Coach zu werden ist nicht schwer...Agile Coach zu werden ist nicht schwer...
Agile Coach zu werden ist nicht schwer...Gerrit Beine
 
Scaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
Scaled, Distributed, Agile - Produktentwicklung auf neuen WegenScaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
Scaled, Distributed, Agile - Produktentwicklung auf neuen WegenGerrit Beine
 

Plus de Gerrit Beine (20)

Auf Lesereise mit Frit und Fred
Auf Lesereise mit Frit und FredAuf Lesereise mit Frit und Fred
Auf Lesereise mit Frit und Fred
 
Mastering Cargo Cult
Mastering Cargo CultMastering Cargo Cult
Mastering Cargo Cult
 
Conway’s Law & Soziologie in der Software-Architektur
Conway’s Law & Soziologie in der Software-ArchitekturConway’s Law & Soziologie in der Software-Architektur
Conway’s Law & Soziologie in der Software-Architektur
 
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wirdBeyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
 
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias CurveMastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
 
Gut genug - Rahmenbedingungen für agile Architekturen
Gut genug - Rahmenbedingungen für agile ArchitekturenGut genug - Rahmenbedingungen für agile Architekturen
Gut genug - Rahmenbedingungen für agile Architekturen
 
Beyond Agile – Ungewissheit mit der Real Option Theory meistern
Beyond Agile – Ungewissheit mit der Real Option Theory meisternBeyond Agile – Ungewissheit mit der Real Option Theory meistern
Beyond Agile – Ungewissheit mit der Real Option Theory meistern
 
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
 
Backlog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
Backlog Priorisierung mit Cost of Delay & Monte Carlo SimulationenBacklog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
Backlog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
 
Der hyperbolische Thread-Koeffizient
Der hyperbolische Thread-KoeffizientDer hyperbolische Thread-Koeffizient
Der hyperbolische Thread-Koeffizient
 
Broken by Design
Broken by DesignBroken by Design
Broken by Design
 
Die Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
Die Testedimaryp - Über die Antimonie des agilen Testens in der PraxisDie Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
Die Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
 
Vom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerVom Projektleiter zum Product Owner
Vom Projektleiter zum Product Owner
 
Antifragilität
AntifragilitätAntifragilität
Antifragilität
 
Technische Schulden - mit Notizen
Technische Schulden - mit NotizenTechnische Schulden - mit Notizen
Technische Schulden - mit Notizen
 
Technische Schulden
Technische SchuldenTechnische Schulden
Technische Schulden
 
Die Product Owner Toolbox
Die Product Owner ToolboxDie Product Owner Toolbox
Die Product Owner Toolbox
 
Agile Coach zu werden ist nicht schwer... - mit Notizen
Agile Coach zu werden ist nicht schwer... - mit NotizenAgile Coach zu werden ist nicht schwer... - mit Notizen
Agile Coach zu werden ist nicht schwer... - mit Notizen
 
Agile Coach zu werden ist nicht schwer...
Agile Coach zu werden ist nicht schwer...Agile Coach zu werden ist nicht schwer...
Agile Coach zu werden ist nicht schwer...
 
Scaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
Scaled, Distributed, Agile - Produktentwicklung auf neuen WegenScaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
Scaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
 

Programmieren ohne Programmierer

  • 1. Programmieren ohne Programmierer Modellgetriebene Softwareentwicklung mit GeneSEZ in 10 Minuten Gerrit Beine gerrit.beine@sqqd.de
  • 2. Model Driven Software Development 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 2
  • 3. Nein... 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 3
  • 4. Grundidee ● Software grafisch Modellieren ● Vom Abstrakten zum Konkreten ● Kluges Generieren statt Stupides Coden ● Computer machen weniger Fehler ● Modell-zu-Modell-Transformationen ● Modell-zu-Text-Transformationen 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 4
  • 5. Modelltransformationen Volere Shell UML UML Java, C, PHP, ... Datenbankstruktur Designmodell Anforderungen Analysemodell Programmcode Testmodell Manuelle Analyse Testabläufe und -daten Transformation und manuelle Anreicherung Transformation und manuelle Anreicherung 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 5
  • 6. Metamodelle beschreibt Instanz von Element MOF, Ecore M3: Meta-Metamodell (Attribute: Element) beschreibt Instanz von Element UML, GeneSEZ M2: Metamodell (Attribute: (Name: String, Variable: (String, String) ) ) beschreibt Instanz von Klasse Klassendiagramm, Aktivitätsdiagramm M1: Modell (Name: Auto, Variablen: (Farbe: String, Türen: Integer) ) beschreibt Instanz von Auto Objekte M0: Instanzen (Farbe: rot, Türen: 5) 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 6
  • 7. Die Idee von GeneSEZ 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 7
  • 8. Projekthistorie ● Start 2006 an der FH Zwickau ● Ziel: MDSD in 10 Minuten ● Perspektive: Programmierer als Anwender ● Unterstützung agiler Software-Entwicklung ● Keine 1:1 Umsetzung des Modells im Code ● Modelle sind abstrakter als Code 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 8
  • 9. Basistechnologien ● Eclipse Modeling Framework ● EMF UML2 ● openArchitectureWare ● Warum GeneSEZ notwendig ist: – Hoher Investition in Infrastrukur (Zeit) – Hoher Lernaufwand (UML 2 Metamodell) – Auwändige Wartung eines Generators 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 9
  • 10. GeneSEZ Ansatz ● Definition eines eigenen Metamodells – Optimiert für Codegenerierung – Entwickler als Anwender im Fokus ● Anbieten fertiger Generator-Plattformen 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 10
  • 11. GeneSEZ Metamodell ● In UML entwickelt ● Steht als Ecore (EMF) Modell zu Verfügung ● Kennt AOP, OOP, Profile ● Einfache Transformation aus UML und DSLs 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 11
  • 12. GeneSEZ Plattformen ● Workflow-Komponenten für Transformationen ● Naming Conventions ● Package Importe / Namespaces ● Type Mapping ● Code-Templates für Metamodellelemente ● Scripten zur Modell-Interpretation und -Anreicherung 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 12
  • 13. Workflow ab Release 1.7 UML/DSL GeneSEZ Testing Anforderungen M2M M2M M2M M2T Tests Modell Modell Modell Source M2T Code QF-Test, Selenium Reports 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 13
  • 14. Workflow 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 14
  • 15. Type-Mapping 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 15
  • 16. Templates 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 16
  • 17. Scripten 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 17
  • 18. Beispielcode 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 18
  • 19. Statistiken... 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 19
  • 20. Individualisierungen ● Anpassung von Templates und Funktionen – Beeinflussen mit Aspekten ● Ändern von Datentypen – Lokal im Projekt überschreiben ● Generator und Plattform bleiben unverändert ● Wiederverwendung: Eigene Plattform ableiten 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 20
  • 21. Individualisierungen: Templates 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 21
  • 22. Individualisierungen: Scripten 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 22
  • 23. Individualisierungen: Workflow 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 23
  • 24. Zukünftiges ● 31.08.2009 – Release 1.6.3 ● Im Herbst – Release 1.7 mit – Zustandsautomaten – Aktivitäten – Testgenerierung – Mehr Plattformen :-) 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 24
  • 25. Ausprobieren? ● Informieren – http://www.genesez.de/ ● Herunterladen – http://www.genesez.de/download – http://updatesite.genesez.de/site.xml ● Handbuch – http://manual.genesez.de/ ● info@genesez.de 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 25
  • 26. Gibt es Fragen? Dann jetzt! Oder gleich an unserem Stand :-) 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 26
  • 27. Aspekte Danke und viel Spaß noch. 23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 27