Textuelle DSLs - Alter Wein In Neuen Schläuchen

Post on 15-Jan-2015

1.377 views 8 download

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?

Transcript of Textuelle DSLs - Alter Wein In Neuen Schläuchen

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

@xtexthttp://www.xtext.org