|
Kompetenzzentrum Modellbasierte Entwicklung - Überblick
Die zunehmende Komplexität der Software mit den damit verbundenen vielfältigen
technischen Fragen (z.B. Ressourcenbeschränkung) und strategischen Problemstellungen
(z.B. Produktlinienbildung) erzwingt die Verwendung von verschiedenen Systemsichten,
um eine effiziente Entwicklung hochqualitatifier Systeme sicherzustellen.
Für die Entwicklung sind daher spezifische Modelle mit unterschiedlichen Abstraktionsgraden
notwendig. Diese Modelle sind dabei jeweils auf die unterschiedlichen Sichten auf das zu
entwickelnde System ausgerichtet, die sich abhängig vom Entwicklungsstadium ergeben.
Methodisch lassen sich diese Modelle in vier Gruppen einordnen, die jeweils eine spezifische Architektursicht unterstützen:
 |
- Funktionale Architektur: Die Modelle der funktionalen Architektur beschreiben die
Funktionen, die das zu entwickelnden System bereitstellen soll, sowie deren Abhängigkeiten.
Die Beschreibung erfolgt aus dem Blickwinkel der Anwendung. Die funktionale Architektur
konzentriert sich dabei auf die Beschreibung der Funktionen unabhängig von ihrer
Integration (auf der Ebene der logischen Architektur), um die Identifikation
von Variationspunkten und Produktlinien zu unterstützen.
- Logische Architektur: Modelle der logischen Architektur beschreiben, wie das System in
kooperierende logische Komponenten zergliedert ist; die Komponentenhierarchie ist dabei
unabhängig von der Implementierungsplattform beschrieben. Die logische Architektur
konzentriert sich auf die Integration aller Funktionen der funktionalen Architektur
durch die Kombination von Funktionen zu Komponenten.
- Technische Architektur: Die Modelle der Plattformarchitektur beschreiben die verfügbaren
Ressourcen für die Realisierung des zu entwickelnden Systems, d.h., verfügbare Sensoren,
Aktoren, Prozessoreinheiten und Kommunikationspfade.
Abhängig vom benötigten Detaillierungsgrad kann dies sowohl eine
Hardwareabstraktionsschicht (HAL) oder die konkrete technische Plattform sein.
Sie bildet die Voraussetzung für eine ressourcenbezogene Realisierung des Systems.
|
Die durch die Abstraktion der Architekturebenen sichergestellten Modellierungsbeschränkungen
stellen dabei einen wesentlichen Aspekte der konstruktiven Qualitätssicherung in der
Entwicklung dar. Neben der Beschreibung des System auf den unterschiedlichen Abstraktonsebenen erlaubt
die modellbasierte Entwicklung auch die Erfassung der Beziehungen zwischen diesen Sichten,
z.B. die Zuordnung von Funktionen zu Komponenten oder Komponenten zur Resourcen.
Darüberhinaus werden in der modellbasierten Entwicklung verschiedene Beschreibungstechniken
für die unterschiedlichen Sichten angeboten.
Für eine durchgängige Entwicklung ist eine Integration der unterschiedlichen
Architekturebenen in ein gemeinsames Systemmodell notwendig. Durch diese Integration
werden die konzeptuellen Abhängigkeiten der einzelnen Architekturebenen definiert;
darüber hinaus werden die Modelle der einzelnen Ebenen als Teilsichten eines
umfassenden Systemmodells definierbar. Für eine durchgängige Entwicklungsunterstützung
ist weiterhin die prozesstechnische Integration mittels analytischer und
generativer Schritte notwendig. Insgesamt bietet die modellbasierte Entwicklung:
- Abstrakte Modellsichten: Da die einzelnen Modellsichten nur die Aspekte
abdecken sollten, die auf der zugehörigen Modellierungsebene benötigt werden,
ist das einheitliche Systemmodell so zu gestalten, dass die einzelnen Sichten
unabhängig von einander dargestellt werden können. Durch diese Unabhängigkeit
wird sichergestellt, dass das zu entwickelnde System auf jeder Architekturebene
mit möglichst geringer Komplexität darstellbar ist.
Zusätzlich können nur so die Freiheitsgrade und Restriktionen der einzelnen
Abstraktionsebene optimal für eine schrittweise, qualitätsgesicherte Entwicklung
ausgenutzt werden.
- Integration mittels Analyse: Neben den konzeptuellen Abhängigkeiten innerhalb des
Systemsmodells sind auch weitergehende Abhänigkeiten zwischen den Modellsichten vorhanden.
Für einen durchgängigen Prozess müssen daher Abhängigkeiten sowohl innerhalb einer
Ebene (z.B. szenariobasierte und zustsandsbasierte Darstellung einer Funktion) als
auch zwischen den Ebenen (z.B. Interaktion zwischen logischen Komponenten und dem
zugehörigen Busschedule) auf ihre Konsistenz geprüft werden.
- Integration mittels Genereriung: Neben den analytischen Schritten tragen
insbesondere zu einer erhöhten Effizienz und Qualität des Entwicklungsprozesses bei.
Neben Fortwärtsgenerierung von abstrakteren zu konkreteren Ebenen
(z.B. von Testfällen aus zustandbasierten Funktionsbeschreibungen) ist
auch die Rückwärsgenerierung (z.B. Abstraktion von Ablaufprotokollen der
Implementierungsebene zu Interaktionsdiagrammen der logischen Ebene) notwendig
für einen durchgängigen Prozess.
Aktuelle Forschungsthemen beinhalten
domänenspezifische Ausprägungen der Architektursichten,
Modellierung und Qualitätssicherung in den frühen Phasen,
Automatisierung der Abbildung auf die Zielplattform (Deployment),
Modellbasierte Qualitätssicherung,
Werkzeugunterstützung für einen durchgängigen Prozess.
Anwendungsdomänen umfassen eingebettete, mobile, und betriebliche Informationssysteme.
|
|