Was sind eigentlich Modelle?
Grundlage der modellgetriebenen Softwareentwicklung (MDA "Model Driven Architecture") ist die Überzeugung, dass Modelle wertvolle Artefakte im Software-Entwicklungsprozess darstellen. Modelle sind kontextbezogene Abstraktionen, die den Blick des Betrachters auf das Wesentliche lenken sollen. Sie dienen darüber hinaus der Projektdokumentation und der Kommunikation innerhalb des Projekts.
Die Modell-Code-Lücke
In Softwareprojekten hängt der Wert von Modellen davon ab, inwieweit sie zulässige Abstraktionen der tatsächlichen Implementierung darstellen. Modell und Code driften jedoch oft im Laufe eines Entwicklungsprojekts auseinander. MDA schließt diese Lücke zwischen Modell und Implementierung, indem wesentliche Teile der Implementierung ausschließlich auf Basis des Modells generiert werden.
Die Zerlegung der Anwendung in stabile Abstraktionen und Elemente mit konfigurativem Charakter ist die Grundlage für die saubere Trennung von generiertem und manuell erstelltem Code.
Die maschinelle Bearbeitung von formalen Modellen und das Design eigener, domänenspezifischer Sprachen bedürfen einer adäquaten Tool-Unterstützung. In unseren Projekten haben sich die folgenden Produkte und Frameworks bewährt:
Model Driven Architecture – für schnelle, sichere und vor allem langfristig nachhaltige Entwicklungsprozesse.