Mirco DohmannInnovation und Technologie

Wir sprechen Ihre Sprache

Wie lassen sich komplexe Sachverhalte in Software-Applikationen gießen? Erforderlich ist eine formalisierte Sprache, die auch die Software-Entwicklung verstehen und umsetzen kann und dies möglichst generativ. Dies ist die Welt der modellgetriebenen Software-Entwicklung.

Vor allem im beruflichen Alltag verwenden wir – oftmals unbewusst – unsere eigene Fachsprache, beispielsweise wenn wir komplexe Sachverhalte vermitteln wollen. Das drückt sich auch in den zugrunde liegenden Applikationen und Technologien aus: Buchhalter verwenden komplexe Formeln, Statistiker analysieren Sachverhalte mithilfe von Zahlen und in der IT werden beispielsweise graphische Diagramme und formalisierte Methoden zur Beschreibung von Systemen und Software eingesetzt. Sie alle verwenden also eine domänenspezifische Sprache, eine Domain Specific Language, kurz DSL.

Solche Sprachen finden sich also unter anderem in der Welt der Software-Entwicklung wieder. Oftmals ist die individuell genutzte Sprache aber nur teilweise formal definiert und wird von den verwendeten, standardmäßig dafür vorgesehenen Tools nur bedingt unterstützt. Eine vollständige Formalisierung sowie eine auf den Sachverhalt zugeschnittene Unterstützung durch ein Tool sind daher wünschenswert. So lassen sich beispielsweise die Geschwindigkeit und Benutzerfreundlichkeit bei der Modellierung des Sachverhalts erhöhen, die Fehleranfälligkeit reduzieren und automatisch Artefakte wie Dokumentation oder Quelltext generieren.

Genau diese zuvor beschriebenen Vorteile bringt die modellgetriebene Software-Entwicklung (Model Driven Software Development) mit sich. Für diese Vorgehensweise bei der Software-Entwicklung existieren unterschiedliche Tools, die den Entwickler unterstützen. Materna setzt bei diesem Vorgehen auf das Tool MPS von JetBrains. MPS bietet unterschiedliche Optionen zur Darstellung einer eigenen DSL. So können die Modelle beispielsweise durch Formeln, textuelle Editoren, Tabellen oder graphische Varianten repräsentiert werden. Die Modelle können anschließend in andere Modelle oder eine beliebige Zielsprache überführt werden.

Die Domain Specific Language kann auf konkrete Anwendungsfälle zugeschnitten werden und unterstützt den Benutzer optimal bei der Modellierung. Dadurch können auch Fachexperten an der Modellierung beteiligt und neue Mitarbeiter schneller eingearbeitet werden. Das Modell ist zudem wesentlich weniger komplex als die zu generierenden Artefakte und vermeidet dabei unnötige Redundanzen.

Materna baut momentan eine umfassende Domain Specific Language zur Modellierung einer 3-Schichten-Architektur auf, die sich aus mehreren DSLs zusammensetzt. Dies geschieht durchgängig von der Persistenz-, über die Applikations- bis zur Präsentationsschicht und ermöglicht dadurch eine nahtlose Migration auf ein neues System.

Die modellgetriebene Software-Entwicklung bietet also vielfältige Einsatzmöglichkeiten. Sprechen Sie uns an. Gemeinsam finden wir einen Weg, auch Ihre individuelle Sprache zu sprechen.

Schlagwörter: ,