|
|
Textuelle DSLs – Programmiersprachen zum selbermachen
Die meisten Softwaresysteme sind so groß, dass ein einzelner Entwickler sie nicht mehr
überall in den Implementierungsdetails überblickt. Deshalb brauchen Entwickler ein
abstrakteres Vokabular als den Quelltext, um über das System reden zu können. Diese
Kernabstraktionen können in UML-Diagrammen oder z.B. in XP-Projekten als „Metapher“
vorliegen, sie können präzise oder informell definiert sein, aber sie sind notwendig,
damit ein System änderbar ist. Ohne dieses gemeinsame Vokabular birgt jedes Gespräch
über das System die große Gefahr von unbemerkten Missverständnissen, und die Qualität
und Änderbarkeit leidet dem entsprechend.
Modellgetriebene Softwareentwicklung hat das Ziel, solche Abstraktionen explizit zu
machen, z.B. indem man auf Architekturebene Bausteine und ihr Zusammenspiel
beschreibt. Meist denkt man dabei nur an UML-Klassendiagramme, aus denen
Infrastrukturcode für das Zusammenspiel von Komponenten generiert wird. Dieser
Artikel beschreibt dagegen, wie man das Verhalten von Komponenten durch textuelle
Sprachen beschreiben kann und dabei diese Art von Abstraktionen explizit macht.
Der Artikel gliedert sich grob in drei Teile. Zunächst beschreibt er anhand eines Beispiels,
wie man mit Hilfe textueller DSLs das Verhalten eines Systems beschreiben kann. Auf der
Basis dieses Beispiels folgt eine Diskussion der Vor- und Nachteile sowie der sinnvollen
Einsatzgebiete textueller DSLs, und der Artikel schließt mit einer Reihe von Best Practices.
[Artikel]
21.09.2005
Download...
Abstract...
|
Textuelle DSLs – Programmiersprachen zum selbermachen
|
together with
Arno Haase
Published in: JavaMagazin, 2005-10
|
|