Download - Textuelle DSLs - Alter Wein In Neuen Schläuchen

Transcript
Page 1: 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

Page 2: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Probleme

Page 3: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Niedrige Effizienz

Page 4: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Sprachlosigkeit

Page 5: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Ausdrucksschwache Sprachen

Page 6: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Auswege

MDSD

DSLs

DSLs

Page 7: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Eine Domain Specific Language (DSL) ist eine formale, durch Computer verarbeitbare Sprache, die einen bestimmten Gesichtspunkt bzw.

Aspekt eines Softwaresystems ausdrückt.

Page 8: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Arten von DSLs

textuell grafisch

Page 9: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Eine wahre Geschichte...

Page 10: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Eine wahre Geschichte...

Page 11: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Eine wahre Geschichte...

“It’s old wine in new bottles!”

Page 12: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Eine wahre Geschichte...

“It’s old wine in new bottles!”

“People have been writing their own languages for decades”

Page 13: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Auswege

MDSD

DSLs

DSLs

Page 14: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Alter Wein in neuen Schläuhen

MDSD

DSLs

DSLs

Generatoren

Lexer / Parser

Lexer / Parser

Page 15: Textuelle DSLs - Alter Wein In Neuen Schläuchen

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

Page 16: Textuelle DSLs - Alter Wein In Neuen Schläuchen
Page 17: Textuelle DSLs - Alter Wein In Neuen Schläuchen

... zur Beschreibung von DSLs

Xtext - eine DSL...

Page 18: Textuelle DSLs - Alter Wein In Neuen Schläuchen

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

Page 19: Textuelle DSLs - Alter Wein In Neuen Schläuchen

DEMO

Page 20: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Alter Wein?

Page 21: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Abstraktion

Page 22: Textuelle DSLs - Alter Wein In Neuen Schläuchen

Effizienzsteigerung in der Toolentwicklung

Page 23: Textuelle DSLs - Alter Wein In Neuen Schläuchen

@xtexthttp://www.xtext.org