Top Banner
Programmieren ohne Programmierer Modellgetriebene Softwareentwicklung mit GeneSEZ in 10 Minuten Gerrit Beine [email protected]
27

Programmieren ohne Programmierer

Jun 26, 2015

Download

Technology

Gerrit Beine

Die Folien meines Vortrags von der FrOSCon 2009.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programmieren ohne Programmierer

Programmieren ohne ProgrammiererModellgetriebene Softwareentwicklung mit GeneSEZ in 10 Minuten

Gerrit [email protected]

Page 2: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 2

Model Driven Software Development

Page 3: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 3

Nein...

Page 4: Programmieren ohne Programmierer

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

Page 5: Programmieren ohne Programmierer

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, ...

Page 6: Programmieren ohne Programmierer

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

Page 7: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 7

Die Idee von GeneSEZ

Page 8: Programmieren ohne Programmierer

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

Page 9: Programmieren ohne Programmierer

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

Page 10: Programmieren ohne Programmierer

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

Page 11: Programmieren ohne Programmierer

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

Page 12: Programmieren ohne Programmierer

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

Page 13: Programmieren ohne Programmierer

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

Page 14: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 14

Workflow

Page 15: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 15

Type-Mapping

Page 16: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 16

Templates

Page 17: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 17

Scripten

Page 18: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 18

Beispielcode

Page 19: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 19

Statistiken...

Page 20: Programmieren ohne Programmierer

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

Page 21: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 21

Individualisierungen: Templates

Page 22: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 22

Individualisierungen: Scripten

Page 23: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 23

Individualisierungen: Workflow

Page 24: Programmieren ohne Programmierer

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 :-)

Page 25: Programmieren ohne Programmierer

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/

[email protected]

Page 26: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 26

Gibt es Fragen?

Dann jetzt!

Oder gleich an unserem Stand :-)

Page 27: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 27

Aspekte

Danke und viel Spaß noch.