Your SlideShare is downloading. ×
Programmieren ohne Programmierer
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Programmieren ohne Programmierer

265
views

Published on

Die Folien meines Vortrags von der FrOSCon 2009.

Die Folien meines Vortrags von der FrOSCon 2009.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
265
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Programmieren ohne ProgrammiererModellgetriebene Softwareentwicklung mit GeneSEZ in 10 Minuten Gerrit Beine gerrit.beine@sqqd.de
  • 2. Model Driven Software Development23.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-Transformationen23.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 Anreicherung23.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 GeneSEZ23.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 Code23.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 Generators23.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-Plattformen23.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 DSLs23.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 -Anreicherung23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 12
  • 13. Workflow ab Release 1.7 UML/DSL GeneSEZ TestingAnforderungen M2M M2M M2M M2T Tests Modell Modell Modell Source M2T Code QF-Test, Selenium Reports23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 13
  • 14. Workflow23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 14
  • 15. Type-Mapping23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 15
  • 16. Templates23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 16
  • 17. Scripten23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 17
  • 18. Beispielcode23.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 ableiten23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 20
  • 21. Individualisierungen: Templates23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 21
  • 22. Individualisierungen: Scripten23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 22
  • 23. Individualisierungen: Workflow23.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.de23.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

×