Abstract April
This commit is contained in:
parent
f5e37f71f4
commit
80bf582355
1 changed files with 32 additions and 1 deletions
|
|
@ -10,5 +10,36 @@ location:
|
||||||
location: bib
|
location: bib
|
||||||
public: true
|
public: true
|
||||||
---
|
---
|
||||||
(Details folgen)
|
Sprachen sind seit jeher das Rückgrat des Software Engineering:
|
||||||
|
Programmiersprachen, Modellierungssprachen, Spezifikationssprachen.
|
||||||
|
|
||||||
|
Sprachen sind nützlich, da sie es den Entwicklern erlauben, bestimmte
|
||||||
|
Problemstellungen oder Lösungsalgorithmen möglichst gut auszudrücken.
|
||||||
|
"Gut" kann bedeuten: möglichst kompakt, möglichst leicht lesbar,
|
||||||
|
zugänglich für Nicht-Programmierer in interdisziplinären Kontexten, oder
|
||||||
|
geeignet für bestimmte (semi-)formale Analysealgorithmen. Leicht
|
||||||
|
vereinfachend kann man sagen: je breiter das Anwendungsspektrum einer
|
||||||
|
Sprache, desto schlechter erfüllt sie viele dieser Kriterien.
|
||||||
|
|
||||||
|
Ein vielversprechender Ansatz besteht daher darin, eine Sprache für
|
||||||
|
einen ganz konkreten Einsatzzweck zu bauen, sogenannten
|
||||||
|
domänenspezifische Sprachen: für Steuergesetze, für medizinische
|
||||||
|
Algorithmen, für die Konfiguration komplexer technischer Geräte oder die
|
||||||
|
Performanceanalyse von eingebetteten Systemen.
|
||||||
|
|
||||||
|
Der Haken dabei? Man muss eine neue Sprache bauen. Die Lösung?
|
||||||
|
Domänenspezifische Sprachen zur Sprachdefinition. Über die letzten Jahre
|
||||||
|
haben sich die dafür notwendigen Werkzeuge so weiterentwickelt, dass der
|
||||||
|
Aufwand zum Bau einer Sprache problemlos im Rahmen eines normalen
|
||||||
|
Softwareenticklungsprojektes unterzubringen ist. Diese Werkzeuge,
|
||||||
|
Language Workbenches, unterstützen die Definition aller relevanten
|
||||||
|
Sprachaspekte, von Struktur über Typsystem bis zu Interpretern,
|
||||||
|
Compilern und komfortablen IDEs. Sie erlauben modulare Spracherweiterung
|
||||||
|
und -komposition sowie die Mischung von Syntaxformen wie Text, Tabellen,
|
||||||
|
und Diagrammen.
|
||||||
|
|
||||||
|
In diesem Vortrag zeige den Sprachbau mit einer solchen Language
|
||||||
|
Workbench, dem Open-Source Werkzeug MPS von Jetbrains. Neben der
|
||||||
|
Live-Demo einer Spracherweiterung zeige ich ein paar Beispiele für DSLs
|
||||||
|
aus dem industriellen Umfeld. Ich gehe dabei auch auf die Integration
|
||||||
|
mit Verifikationwerkzeugen wie SMT Solvern und Model Checkern ein.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue