Upload
peter-friese
View
1.378
Download
8
Embed Size (px)
DESCRIPTION
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?
Citation preview
Textuelle DSLsAlter 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
Probleme
Niedrige Effizienz
Sprachlosigkeit
Ausdrucksschwache Sprachen
Auswege
MDSD
DSLs
DSLs
Eine Domain Specific Language (DSL) ist eine formale, durch Computer verarbeitbare Sprache, die einen bestimmten Gesichtspunkt bzw.
Aspekt eines Softwaresystems ausdrückt.
Arten von DSLs
textuell grafisch
Eine wahre Geschichte...
Eine wahre Geschichte...
Eine wahre Geschichte...
“It’s old wine in new bottles!”
Eine wahre Geschichte...
“It’s old wine in new bottles!”
“People have been writing their own languages for decades”
Auswege
MDSD
DSLs
DSLs
Alter Wein in neuen Schläuhen
MDSD
DSLs
DSLs
Generatoren
Lexer / Parser
Lexer / Parser
Die Gute Alte Zeit™
1)Grammatik für ANTLR erstellen2)Lexer / Parser generieren3)Parser erstellt Parsetree4)Parsetree in semantisches Model transformieren
5)Modell iterieren6)Modellelemente an Template übergeben
... zur Beschreibung von DSLs
Xtext - eine DSL...
Brave New World1)Grammatik für Xtext erstellen2)Lexer / Parser / Metamodell / UI generieren3)Parser erstellt Parsetree 4)UND semantisches Modell
5)Workflow steuert Iteration des Modells und Templateverarbeitung
DEMO
Alter Wein?
Abstraktion
Effizienzsteigerung in der Toolentwicklung