Generative Technologien

Language und Generator Workbench MontiCore

MontiCore ist ein Framework zur effizienten Software-Entwicklung unter Nutzung domänenspezifischer Sprachen, kurz DSLs. Eine Reihe verfügbarer Komponenten sorgen für eine effektive Bearbeitung von DSL-Modellen. Entwickler haben die Möglichkeit, effizient eine Sprache, Kontextbedingungen und einen Generator zu definieren und im Entwicklungsprozess einzusetzen.

Erfolgreiche Sprachbeispiele sind Klassendiagramme, Automaten, Workflows, Feature-Modelle, Fahrszenarien-Simulationen, automotive Funktionsnetze, AutoSAR-Konfigurationen, eine effiziente Teilsprachen der UML oder der SysML V2 oder auch Prüfungsordnungen. Sie werden eingesetzt, um Code bis hin zu kompletten Anwendungen und dazu gehörende Tests zu generieren, Qualitätssicherung effizient zu gestalten oder auch, um vorhandene Software zu effizienter konfigurieren.

MontiCore besitzt eine ausgeprägte Sammlung an Basis-Sprachkomponenten für Expressions aus der Informatik, dem Finanzwesen, der Mathematik, der Physik, sowie Kommandos und zur Strukturbildung, so dass maßgeschneiderte, erweiterbare DSL mit Bibliotheks-Funktion schnell gebaut werden können.

MontiCore ist Open Source. Wir bieten einerseits weitere Sprachkomponenten und andererseits eine effektive Integration in den jeweiligen Entwicklungsprozess (als Generatoren) oder das jeweilige Produkt (als LowCode Konfigurations-Plattform).

DSL Tool MontiCore

Feature-basierte Software Produktlinien

Varianten spielen in der Entwicklung von Software dann eine besonders große Rolle, wenn sie in ein regelmäßig weiter zu entwickelndes Produkt eingebettet sind, das in vielen Konfigurationen individualisiert ausgeliefert wird. Evolution, Bugfixes, verschiedene Ausstattungsvarianten, Sicherheitsupdates, etc. erfordern heute ein explizites Management von Variabilität in Produktlinien. Für einen erfolgreichen Einsatz von Produktlinien wird Delta-Modellierung als sofort einsetzbarer Bottom-Up-Ansatz genutzt (unter Umgehung der sonst notwendigen 150% Modelle) und durch MontiCore’s Featuremodelle gestützt.