Motivation
Ungenauigkeiten und Fehler in der Anforderungsspezifikation für Softwaresysteme sind oft Ursachen für Fehler. Neben erhöhten Kosten bei der Entwicklung und im Betrieb der Software können diese Fehler auch zu Unfällen führen. Eine Fehlerquelle und ein Grund für unpräzise Anforderungen ist die gängige Praxis, Anforderungen in natürlicher Sprache zu formulieren. Mehrdeutige Interpretationen sind damit möglich. Manuelle Analysen sowie informelle Dokumentationen stellen weitere Gründe dar, warum eine entwickelte Software fehlerhaft arbeitet oder der Spezifikation nicht entspricht.
Ziele und Vorgehen
Ziel des Projekts Safe.Spec ist es daher, ein Softwarewerkzeug zu entwickeln, das den Softwareentwickler bei der Spezifikation der Verhaltensanforderungen unter-stützt. Dabei beschreibt der Softwareentwickler jedes geforderte oder gewünschte Szenario des Softwaresystems. Dies geschieht weitgehend in natürlicher Sprache mit Hilfe von Formalisierungsmustern aus einem Musterkatalog. Potentielle Fehler im Zusammenspiel von mehreren Anforderungen und Szenarien werden durch das Werkzeug automatisch erkannt. Dies gilt sowohl für einzelne Module als auch für das gesamte Softwaresystem. Um dieses Ziel erreichen zu können, wird in Safe.Spec zunächst ein exemplarischer Musterkatalog erstellt. Es werden Algorithmen entwickelt, um die einzelnen formalen Repräsentationen der Szenarien zu einem Modell der gesamten Anforderungsspezifikation zusammenzuführen. Dazu werden die Überprüfungsbedingungen (Verifikation) mit natürlich-sprachlicher Grammatik aus dem Anforderungsdokument formalisiert. Des Weiteren werden Verfahren entwickelt, um Synonyme zu analysieren und Anforderungskonflikte zu identifizieren. Durch den Einsatz formaler Verifikationsmethoden wird überprüft, ob das Softwaresystem tatsächlich der Spezifikation entspricht.
Innovationen und Perspektiven
Der gesamte Ansatz ermöglicht die Analyse individueller Szenarien, deren Zusammenspiel sowie die Korrektheit bezüglich der Verifikationsbedingungen. Das prototypische Werkzeug soll sich durch einfache Bedienbarkeit und Skalierbarkeit für industrielle Anwendungen auszeichnen und damit die theoretischen, wissenschaftlichen Ergebnisse in die Praxis transferieren. Somit leistet das Projekt einen wichtigen Beitrag bei der Qualitätssicherung von Anforderungsdokumenten und beim Erstellen qualitativ hochwertiger Anforderungsspezifikationen.