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
|
||||
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