MF (Graphical Modeling Framework) sowie Xtext hat sich dies grundlegend geändert. Insbesondere die Erstellung von externen textuellen DSLs auf Basis von EBNF-basierten Grammatiken hat sich deutlich vereinfacht.
Doch handelt es sich hier nicht um alten Wein in neuen Schläuchen? Parser- und Generatorbau können guten Gewissens als alte Disziplinen der Informatik bezeichnet werden und begleiten uns nun schon seit etlichen Jahrzehnten. Können durch textuelle externe DSLs die immer noch existenten Probleme der modellgetriebenen Softwareentwicklung (Teamarbeit / Versionierung) gelöst werden?
1. Textuelle DSLs
Alter Wein in neuen
Schläuchen?
Peter Friese
itemis
(c) 2009 Peter Friese. Distributed under the EDL V1.0 - http://www.eclipse.org/org/documents/edl-v10.php
7. Eine Domain Specific Language (DSL)
ist eine formale, durch Computer
verarbeitbare Sprache, die einen
bestimmten Gesichtspunkt bzw.
Aspekt eines Softwaresystems
ausdrückt.
14. Alter Wein in neuen Schläuhen
MDSD Generatoren
DSLs Lexer / Parser
DSLs Lexer / Parser
15. Die Gute Alte Zeit™
1)Grammatik für ANTLR erstellen
2)Lexer / Parser generieren
3)Parser erstellt Parsetree
4)Parsetree in semantisches Model transformieren
5)Modell iterieren
6)Modellelemente an Template übergeben
18. Brave New World
1)Grammatik für Xtext erstellen
2)Lexer / Parser / Metamodell / UI generieren
3)Parser erstellt Parsetree
4)UND semantisches Modell
5)Workflow steuert Iteration des Modells und
Templateverarbeitung