Validierung und Verfeinerung von szenariobasierten Anforderungsspezifikationen für automotive Systeme

Die Automobilentwicklung ist gekennzeichnet von der Kooperation zwischen Automobilherstellern (Original Equipment Manufacturers, OEMs) und Zulieferern. Dabei stellt der OEM dem Zulieferer Kundenanforderungen zur Verfügung, welche die grobe Funktionalität des zu entwickelnden Systems (System under Development, SUD) beschreiben. Der Zulieferer antwortet mit Systemanforderungen, die eine mögliche Implementierung der Kundenanforderungen vorschlagen. Falls sich beide Parteien auf diese Systemanforderungen einigen, so basiert die weitere Entwicklung des SUDs auf diesen Anforderungen. Solche Kunden- und Systemanforderungen werden typischerweise mit Hilfe von informeller, natürlicher Sprache spezifiziert und beschreiben, wie die einzelnen Systeme miteinander interagieren sollen. Charakteristisch für die Automotive-Domäne ist eine hohe Anzahl an Anforderungen, die darüber hinaus Echtzeitaspekte umfassen. Im weiteren Entwicklungsprozess entwirft der Zulieferer auf Basis der Systemanforderungen eine Systemarchitektur für das SUD und entscheidet, welche Systemarchitekturelemente in Software und welche in Hardware realisiert werden. Die für die Software relevanten Systemanforderungen werden in Anforderungen an die einzelnen Softwareelemente der Systemarchitektur dekomponiert, die sog. Softwareanforderungen.

Aufgrund des informellen Charakters und der Vielzahl der Anforderungen sowie der übrigen o.g. domänenspezifischen Gegebenheiten ist es nicht ohne weiteres möglich, die Anforderungen automatisch zu validieren oder auf Konsistenz und Erfüllbarkeit zu überprüfen. Ein Ansatz, der dies nach einer Formalisierung der Anforderungen prinzipiell ermöglicht, wurde bereits in der Fachgruppe Softwaretechnik entwickelt. Doch können typische Anforderungen der Automotive-Domäne mit diesem Ansatz nur eingeschränkt spezifiziert werden. Des Weiteren verlangt die Dekomposition der vertraglich bindenden Systemanforderungen  auf Anforderungen an die Softwareelemente der Systemarchitektur, dass die resultierenden Softwareanforderungen das Verhalten der Systemanforderungen erhalten.

Als Grundlage für eine Sprache zur Anforderungsspezifikation soll der o.g. in der Fachgruppe Softwaretechnik entwickelte szenariobasierte Requirements-Engineering-Ansatz genommen werden, da dieser sich ideal für die Spezifikation von Anforderungen an miteinander interagierende Systeme eignet. Dieser Ansatz erlaubt es insbesondere so spezifizierte Anforderungen zwecks Validierung zu simulieren und darüber hinaus auf formal auf Konsistenz und Erfüllbarkeit zu verifizieren. Um diesen Ansatz aber letztendlich anwendbar für die Automotive-Domäne zu machen, müssen die Sprache und damit die Simulations- und Verifikationskonzepte um bestimmte domänenspezifische Aspekte erweitert werden. Des Weiteren soll ein Konzept zur konstruktiven und/oder analytischen Sicherstellung der korrekten Verfeinerung der mit dieser szenariobasierten Sprache spezifizierten Anforderungen im Zusammenspiel mit der Systemarchitektur und Zeitrestriktionen entwickelt werden.

Ansprechpartner: Jörg Holtmann