Systematic composition of language components in MontiCore

Butting, Arvid; Rumpe, Bernhard (Thesis advisor); Gray, Jeff (Thesis advisor)

Düren : Shaker Verlag (2023)
Buch, Doktorarbeit

In: Aachener Informatik-Berichte, Software Engineering 53
Seite(n)/Artikel-Nr.: xiii, 321 Seiten : Illustrationen, Diagramme

Dissertation, RWTH Aachen University, 2022

Kurzfassung

In der modellgetriebenen Softwareentwicklung (MDD) sind Modelle die zentralen Entwicklungsartefakte. MDD wird in verschiedenen Domänen wie Luftfahrt, Recht, Maschinenbau oder Robotik angewendet, in denen die Domänenexperten nicht immer auch Softwareentwickler sind. Daher sollten Modellierer die Modelle in einer Notation spezifizieren, die nah an der Anwendungsdomäne liegt. Dies wird durch die Nutzung von domänenspezifischen Modellierungssprachen (DSMLs) erreicht. In komplexen modernen Softwareanwendungen werden verschiedene Aspekte in zahlreichen integrierten Modellen dargestellt. Diese Modelle sind konform zu heterogenen, integrierten DSMLs, welche die Konsistenz der Modelle einer Applikation sicherstellen können. Die Ad-hoc-Entwicklung von DSMLs ist ein zeitintensiver und fehleranfälliger Prozess. Systematische und standardmäßige Black-Box-Wiederverwendung von DSMLs oder Teilen von diesen unterstützt deren schnellere und zuverlässigere Entwicklung. Bei der Black-Box-Wiederverwendung werden im Gegensatz zur Wiederverwendung über Clone-and-Own die wiederverwendeten Anteile unverändert übernommen und führen nicht zu nebeneinander existierenden Klonen. Derartige Wiederverwendung setzt voraus, dass Sprachentwickler DSMLs durch verschiedene Formen der Sprachkomposition integrieren können. Bestehende Ansätze zur Entwicklung von DSMLs basieren oft auf generischer Sprachinfrastruktur, wodurch Kompatibilitätsprüfungen zwischen den Infrastrukturen von zu komponierenden Sprachen kompliziert sind. Ansätze für die Modularisierung von DSMLs fokussieren typischerweise die konzeptuellen Teile einer Sprache anstelle der Realisierung. Diese Arbeit beschreibt einen Ansatz zur Realisierung von modularen Sprachkomponenten, die über ihre Symboltabellen komponiert werden können, um so Sprachproduktlinien in der Language Workbench MontiCore umsetzen zu können. Die vorgestellten Sprachkomponenten identifizieren die Gesamtheit der Quellcodeartefakte die eine DSML realisieren. Die DSMLs basieren auf durch Kinds getypte Symboltabellen, welche die Sprachkompatibilität während der Sprachkomposition sicherstellen. Die Komposition von Sprachen über Symboltabellen ist leichtgewichtig, weil die Sprachinfrastrukturen so nur lose gekoppelt werden. Ein Ansatz für die Persistenz von Symboltabellen entkoppelt die Sprachinfrastrukturen noch weiter voneinander und verbessert die Performanz für Typ- und Konsistenzprüfungen zwischen Modellen die zu unterschiedlichen DSMLs konform sind. Mit dem Ansatz für Sprachproduktlinien können Sprachkomponenten systematisch komponiert und unerwünschte Kompositionen vermieden werden. Die in dieser Arbeit vorgestellten getypten und persistierten Symboltabellen, Sprachkomponenten und Sprachproduktlinien zielen darauf ab, Sprachentwicklung im Großen umzusetzen.

Einrichtungen

  • Fachgruppe Informatik [120000]
  • Lehrstuhl für Informatik 3 (Software Engineering) [121510]

Identifikationsnummern

  • ISBN: 3-8440-8936-5
  • ISBN: 978-3-8440-8936-3
  • RWTH PUBLICATIONS: RWTH-2023-01592