Domain Specific Language
1. Dezember 2007 – 13:33 von AndreasDSL steht für Domain Specific Language und beschreibt einen Ansatz, der bei Softwareprojekten leider oft viel zu kurz kommt. Aber warum? DSLs bieten so viele spannende und tolle Features! Bei einer DSL muss eine geeignete Beschreibungsform für eine bestimmte Problemdomäne entwickelt werden. Wichtig hierbei ist, dass diese Beschreibungsform auch maschinell verarbeitbar ist. Außerdem sollte sie so gehalten sein, dass Sie nicht nur ein bestimmtes Problem abdeckt, sondern eine ganze Problemklasse. DSLs lassen sich auch leichter an Metaphern koppeln, was ein besseres Verständnis mit sich bringt. Man arbeitet bei einer DSL also an der Problemdomäne. Dadurch kann man auch sehr gut mit dem Kunde zusammen an seiner Entwicklung arbeiten und das Risiko, dass sich die Lösung von dem eigentlichen Kundenwunsch entfernt wird erheblich verringert. DSLs sind nichts neues. Es gibt viele verschiedene DSL-Beispiele: z.B. HTML für die Darstellung und das Layout von Webseiten. Aber auch die Windows Workflow Foundation ist ein schönes Beispiel für eine DSL.
Für Visual Studio gibt es die Domain-Specific Language Tools, welche es ermöglichen sehr einfach die Erstellung grafischer Designer und die Generierung von Code durch eine domänenspeziefische Notation/Beschreibungsform durchzuführen. Dabei darf man aber nicht vergessen, dass die Beschreibungsform in keinem Fall einen grafischen Designer beinhalten muss! Es kann sich hierbei genauso um einen XML-Dialekt oder auch etwas ganz anders handeln. Die Kunst ist es eben genau diese geeignete Beschreibungsform zu finden, welche sich gut für die Porlemdomäne eignet und gleichzeitig auch maschinell verarbeitbar ist.
Domain-Specific Language Tools für Visual Studio:
http://msdn2.microsoft.com/en-us/teamsystem/aa718368.aspx
Software Factories:
http://msdn2.microsoft.com/en-us/teamsystem/aa718951.aspx
Ein kleiner Einblick in den Ablauf bei den DSL Tools für VS:

