Modellbasierte Softwareentwicklung

Anwendungen für intelligente Umgebungen müssen in er Lage sein, sich an unvorhersehbare Kontextsituationen zu adaptieren. In traditionellen Ansätzen der modellgetriebenen Softwareentwicklung wird der Applikationscode aus Modellen generiert und zur Laufzeit ausgeführt. Spätere Adaptionen der Struktur und des Verhaltens der Applikationen werden von der statischen Natur des Codes erschwert. Um die notwendige Flexibilität sicherzustellen, werden daher Ansätze zur Nutzung der Modelle zur Laufzeit vorgeschlagen. Sie ermöglichen die Struktur der Applikation und die Spezifikation des Entwicklers zur Laufzeit einzusehen und zu adaptieren.

Die Nutzung von Modellen zur Laufzeit hat mehrere Vorteile für die Entwicklung adaptiver Systeme. Einerseits können solche Modelle zur einfachen Informationsgewinnung dienen, was eine komfortable Erkennung der aktuellen Situation und der benötigten Adaptionen ermöglicht. Außerdem ruft eine strukturelle Änderung dieser Modelle automatisch eine Änderung in der dazugehörenden Applikation hervor. Das bedeutet, eine Applikation kann adaptiert werden, indem ihre Modelle rekonfiguriert werden. Der hohe Abstraktionsgrad der Modelle ist hierbei ein Vorteil, da er dem Designer ein leichtes Verstehen und eine bequeme Adaption ermöglicht. Es existieren bereits einige Ansätze für die einfache Beschreibung von möglichen Rekonfigurationen.

Unsere Forschung fokussiert sich auf Techniken zur Beschreibung von Modellrekonfiguration. Diese enthalten einerseits Rekonfigurationstechniken, die auf spezielle Modellierungssprachen abzielen und deren Eigenschaften. Außerdem befassen wir uns mit der Definition von Rekonfigurationen höherer Ordnung, die es dem Designer ermöglichen, die einzelnen Rekonfigurationstechniken zu komplexen Abläufen zu verbinden und somit mehrere Modelle gleichzeitig zu rekonfigurieren.