feasiPLe Logo

Forschungsprojekt feasiPLe

Feature-getriebene, aspektorientierte und modellgetriebene Produktlinienentwicklung

Embedded DSLs

Eine eigebettete domänenspezifische Sprache (EDSL) ist ein Weg in kurzer Zeit neue DSLs bereit zu stellen. Diese Implementierungstechnik bettet domänenspezifische Sprachen in eine andere Sprache ein. Dabei werden die Sprachfeature der Hostsprache, in die die EDSL eingebettet wurde, wiederverwendet. Dieser Ansatz verspricht es schneller eine mächtige Sprache zur Verfügung zu haben, als wenn man dem traditionellen Ansatz für DSL Implementierung folgt. Der traditionelle Ansatz benötigt das Bereitstellen von Parsern, Compilern und Entwicklungswerkzeugen. In Gegensatz dazu ist bei EDSLs die Wiederverwendung von Parsern, Compilern und Entwicklungswerkzeugen der Hostsprache zu einem gewissen Anteil möglich.

Die Entwicklung von EDSLs ist eine wohlbekannte Technik in vielen Sprachen, einige von ihnen sind Ruby, Groovy, Scala, Haskel und ML. Zum Beispiel benutzt das bekannte Rails Web Framework den EDSL Ansatz, um eine Familie von DSL bereit zu stellen. Im Allgemeinen schreibt man domänenspezifischen Code in der Syntax der Hostsprache, dann werden die domänenspezifischen Literale und Operatoren, die nicht in der Hostsprache definiert sind, durch eine Bibliothek interpretiert welche die Logik der jeweiligen Domäne implementiert.

EDSLs im Kontext der Produktlinienentwicklung

  • Verwendung von EDSLs in MDSD
  • Ansätze für EDSLs in SPL


Zurück zur feasiPLe Architektur