Programmieren ohne ProgrammiererModellgetriebene Softwareentwicklung mit GeneSEZ in 10 Minuten
Gerrit [email protected]
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 2
Model Driven Software Development
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 3
Nein...
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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 - [email protected] 5
Modelltransformationen
Anforderungen Analysemodell
Designmodell
Testmodell
Datenbankstruktur
Programmcode
Testabläufe und -datenManuelle Analyse
Transformation undmanuelle Anreicherung
Transformation undmanuelle Anreicherung
Volere Shell UML UMLUML Java, C, PHP, ...
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 6
Metamodelle
M3: Meta-Metamodell
M2: Metamodell
M1: Modell
M0: Instanzen
MOF, Ecore
UML, GeneSEZ
Klassendiagramm,Aktivitätsdiagramm
Objekte
MOF, Ecore
Auto(Farbe: rot, Türen: 5)
Klasse(Name: Auto, Variablen:
(Farbe: String, Türen: Integer) )
Element(Attribute: (Name: String, Variable: (String, String) ) )
Element(Attribute: Element)
beschreibt
beschreibt
beschreibt
beschreibt
Instanz von
Instanz von
Instanz von
Instanz von
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 7
Die Idee von GeneSEZ
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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 - [email protected] 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 - [email protected] 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 - [email protected] 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 - [email protected] 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 - [email protected] 13
Workflow ab Release 1.7
UML/DSLModell
GeneSEZModellAnforderungen M2M
TestingModellM2M M2M M2T Tests
M2T SourceCode
QF-Test,Selenium
Reports
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 14
Workflow
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 15
Type-Mapping
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 16
Templates
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 17
Scripten
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 18
Beispielcode
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 19
Statistiken...
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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 - [email protected] 21
Individualisierungen: Templates
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 22
Individualisierungen: Scripten
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 23
Individualisierungen: Workflow
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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 - [email protected] 25
Ausprobieren?
● Informieren– http://www.genesez.de/
● Herunterladen– http://www.genesez.de/download
– http://updatesite.genesez.de/site.xml
● Handbuch– http://manual.genesez.de/
23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 26
Gibt es Fragen?
Dann jetzt!
Oder gleich an unserem Stand :-)