
Domänenspezifische Sprachen bieten formale Notation für einen bestimmten Zweck an
Maßgeschneiderte Sprachen für besondere Probleme
Domänenspezifische Sprachen, oder DSLs, sind weit verbreitet, um die Modellierung komplexer Systeme zu ermöglichen, und zwar nicht unbedingt nur durch Software-Programmierer.
DSLs für Validierung auf formale Korrektheit
Wo werden DSLs eingesetzt?
Domänenspezifische Sprachen, oder DSLs, sind weit verbreitet, um die Modellierung komplexer Systeme zu ermöglichen, und zwar nicht unbedingt nur von Software-Programmierern. Sie können überdies erweitert werden, um aus den erstellten Modellen Code zu generieren.
Der Einsatz einer DSL bietet eine Reihe von Vorteilen
- Formale Notation für einen bestimmten Zweck bzw. eine bestimmte Domäne, die eine präzise Ausdrucksweise erlaubt bzw. erzwingt
- Validierung auf formale Korrektheit
- Abstraktion der Domänenkonzepte erlaubt meist eine sehr kompakte Notation
- Die streng formale Notation erlaubt häufig eine automatisierte Verarbeitung bzw. Umwandlung in andere Formate. Zu erwähnen sind insbesondere
- Automatische Erzeugung von Dokumentation
- Generierung von Quellcode in einer Programmiersprache (etwa zur Simulation)
- Gewinnung abgeleiteter Ergebnisse
- Alternative Darstellung ausgewählter Aspekte
Ein nicht ganz so naheliegender Nutzen ist das vertiefte Verständnis einer Domäne durch die Konstruktion einer DSL. Dieser Erkenntnisgewinn ist allerdings kaum hoch genug einzuschätzen.
Beispiele für domänenspezifische Sprachen
DSLs, die von PROTOS entwickelt wurden und werden
Beispiele für DSLs, die von PROTOS entwickelt wurden
- das Open-Source-Tool eTrice – eine Implementierung der Modellierungssprache ROOM – Real-Time Object Oriented Modeling
- reversiTECT – ein Analysewerkzeug für die Betrachtung von Architektur und Metriken einer bestehenden Code-Basis
- miniHIL – eine leichtgewichtige Testplattform für Embedded Systeme
Das Team der PROTOS Software GmbH hat viele DSLs für seine Kunden entwickelt und schult diese auch in der Verwendung von Xtext und Xtend oder auch JetBrains MPS, um eigene DSLs und Codegeneratoren zu erstellen.
Bewegen Sie sich weg von der Entwicklung von Softwarekonzepten in Allzwecksprachen oder der Verwendung ungeeigneter Werkzeuge und nehmen Sie Kontakt mit uns auf, um zu erfahren, wie DSLs Ihr Entwicklungsteam unterstützen können.