SE-lab

Startseite

Für Studenten

Für Unternehmen

Projekte

Forum

Bewerbung

Kontakt


SE

RWTH Aachen

Monticore

Eine effektive Technik für die Softwareentwicklung ist der Gebrauch von spezifischen Notationen zur Beschreibung domänenspezifischer Lösungen. Domänenspezifische Sprachen (englisch: domain specific languages - DSLs) ermöglichen die Darstellung von Informationen und Modellen in einer von Experten bevorzugten Notation. DSLs bereiten domänenspezifisches Wissen auf, machen es transparent und vereinfachen so auch die Kommunikation zwischen Domänen und IT-Experten.

MontiCore stellt ein Framework für effiziente und agile Entwicklung domänenspezifischer Sprachen zur Verfügung. Es vereint die nötigen Entwicklungsschritte um Werkzeuge um DSLs zu betreiben, den ausgedrückten Inhalt zu analysieren und auf Instanzen der DSL basierenden Code zu generieren. Hierfür bietet MontiCore Unterstützung auf allen Ebenen der Erstellung sprachspezifischer Werkzeuge an. Dies umfasst unter anderem die Definition der Sprache an sich, die Erstellung analytischer Werkzeuge und Transformationen, die Generierung von sprachspezifischen Editoren und die Erstellung von Codegeneratoren.

Besonderes Augenmerk liegt dabei auf dem Aspekt der Kompositionalität von DSLs: qualitätsgesicherte Sprachen und Sprachteile können bibliotheksartig abgelegt und in neuen Projekten unter veränderten Anforderungen wiederverwendet werden. Hierdurch werden sowohl Effizienz- als auch Qualitätssteigerungen erreicht.

Auf diese Weise steht durch das MontiCore-Projekt nicht nur ein Werkzeug zur Erstellung neuer DSLs, sondern auch eine große Zahl an qualitativ hochwertigen Sprachen zur Verfügung. Diese reichen von allgemein verwendbaren Modellierungssprachen wie UML über spezifische Sprachen aus dem Automotive Bereich bis hin zu Programmiersprachen wie Java.

Die Anwendungen von MontiCore sind entsprechend vielfältig. So wurde es bisher zur generativen Entwicklung von Webapplikation auf Basis einer Komposition von UML und domänenspezifischen Sprachen ebenso verwendet wie zur Erstellung von Werkzeugen zur Prozessplanung oder zur Optimierung des Energiebedarfs energieintensiver Gebäude. Auch innerhalb der Hochschule wurde es im Rahmen der Einführung einer einheitlichen und zeitgemäßen EDV-Softwarelandschaft verwendet.

Weitergehende Informationen und Publikationen rund um MontiCore sind auf der Projekt-Homepage www.monticore.de verfügbar.





zurück zu Projekte