Bezeichnen Sprachen, die auf ein ganz bestimmtes Anwendungsgebiet ausgerichtet sind. DSL verwenden die spezifischen Konzepte eines Anwendungsgebietes mit einer konzentrierten Notation, um zu einer hohen Ausdruckskraft zu bekommen. Im Gegensatz zu einer normalen Programmiersprache kann eine DSL den gleichen Sachverhalt komprimierter und kompakter ausdrücken. In diesem Forschungskontext werden DSL als interne, auf eine existierende Programmiersprache aufbauende, Sprachen verstanden, welche zur Implementierung von Anwendungen eingesetzt werden.
Bezeichnen Sprachen, deren Semantik und Syntax zu größeren Teilen angepasst werden kann, weil kein Compiler, sondern ein Interpreter eingesetzt werden. Damit werden Anpassungen des Programms zur Laufzeit möglich, insbesondere durch den Einsatz von Metaprogrammierung oder holistischen Manipulationsmöglichkeiten (Manipulation der Text-Representation oder des Abstrakten Syntax-Baums eines Programms).
Die Aufgabe dieses Gebietes ist es, die Prozesse, Methoden und Techniken zur Gestaltung von Sprachen, insbesondere Domain-Specific Languages, zu identifizieren, gestalten, zu analysieren und einzusetzen. Dazu zählen Fragen der (i) Domänen-Analyse um die abzubildenden Konzepte, Attribute und deren Beziehungen zu ermitteln, (ii) des Entwicklungsprozesses, d.h. durch welche Schritte dieses Konzepte in eine DSL überführt werden, und (iii) Fragen der Implementierung, d.h. mit welchen Mechanismen und Techniken DSL als externe Sprachen (mit eigenem Parser und Translator) oder als interne Sprachen (bauen auf eine existierende Programmiersprache auf) implementiert werden können.
Definitionen
Veröffentlicht:
06.07.2009
Domain-Specific Languages (DSL)
Dynamic Programming Languages
Language Engineering
Autor(en):
Prof. Dr. Möslein
(Uni Nürnberg-Erlangen)
Prof. Dr. Schwabe
(Uni Zürich)
Dr. Orestis Terzidis
(SAP Research)
Heino Schrader
(SAP University Alliances)




