Modellbasierte Softwareentwicklung

Kontakt: Grzegorz LehmannFrank Trollmann

 

Computer begleiten den modernen Menschen bei fast jeder Aktivität. Sie sind in unseren Büros, Autos, Smartphones, sogar in unseren Fernsehern. Obwohl wir inzwischen überall Zugriff auf Computer und Informationen haben könnten, sind die meisten Applikationen auf einen Nutzer, einen Rechner und eine Umgebung begrenzt. Das CC NGS untersucht, wie man Applikationen entwickeln kann, die dem Nutzer in jeder Situation behilflich sind und sich an seine Bedürfnisse anpassen. Dafür sind neue Programmierparadigmen und Modellierungssprachen notwendig, welche die Umsetzung von hoch-adaptivem Applikationsverhalten ermöglichen würden. Aus diesem Grund erforscht das CC NGS die Anwendung von ausführbaren und rekonfigurierbaren Modellen auf die Entwicklung von adaptiven Applikationen für intelligente Umgebungen.

Modelle zur Laufzeit

Anwendungen für intelligente Umgebungen müssen in der 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.

Obwohl die Idee der Nutzung von Modellen zur Laufzeit nicht neu ist, wurden bisher viele Fragen noch nicht erforscht: wie verbindet man Modelle mit einer Laufzeitarchitektur? Wie synchronisiert man die Modelle mit einer laufenden Applikation? Welche Änderungen an den Modellen darf man zur Laufzeit vornehmen und wie wirken sie sich auf die Applikation aus? Welche zusätzlichen Informationen enthalten die Modelle, wenn man sie zur Laufzeit nutzt?

Modellrekonfiguration

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.