Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Allerdings zeigt die natürliche Sprache bei der funktionalen Spezifikation von sicherheitskritischen<br />
Systemen einige immanente Nachteile, die auch durch eine optimale Strukturierung des<br />
Erstellungsprozesses und der Dokumente nicht ausgeglichen werden können:<br />
• Natürlich-sprachlich formulierte Dokumente sind nicht eindeutig, weil die Syntax- und<br />
Semantikdefinition natürlicher Sprachen immer Interpretationsspielraum lässt.<br />
• Natürlich-sprachliche Dokumentationen komplexer Systeme erreichen oftmals einen großen<br />
Umfang, was zu einem hohen Bearbeitungsaufwand führt.<br />
• Natürlich-sprachliche <strong>Anforderungsspezifikation</strong>en setzen üblicherweise erhebliches Fachwissen<br />
voraus, da die durch die Verwendung natürlicher Sprache fehlende Genauigkeit<br />
durch viele Annahmen des Lesers implizit kompensiert werden muss.<br />
• Natürlich-sprachliche Dokumentationen lassen sich nicht automatisiert auf Vollständigkeit,<br />
Widerspruchsfreiheit und Korrektheit prüfen.<br />
3.1.1.2. Formale Sprachen<br />
Eine Möglichkeit zur exakten und eindeutigen Beschreibung von Systemen besteht in der Verwendung<br />
mathematisch/logisch orientierter, formaler Spezifikations- und Beschreibungssprachen.<br />
Zu dieser Gruppe gehören - als exemplarische Aufzählung - unter anderen die folgenden<br />
Sprachen:<br />
• TLA+ [LAM02], eine von Leslie Lamport entwickelte und auf Temporallogik und Aktionslogik<br />
basierende Sprache, die zur Spezifikation von Systemen genutzt werden kann<br />
• Die formalen Sprachen B [SCH01] und Z [IEC13568], die auf den Arbeiten von Jean-<br />
Raymond Abrial basieren und die zur Erstellung von Systemspezifikationen verwendet<br />
werden können<br />
• Kontrollierte natürliche Sprachen, wie beispielsweise ACE [FUS96], die auf einer syntaktischen<br />
und semantischen Einschränkung natürlicher Sprachen (hier: Englisch) basieren.<br />
In kontrollierten Sprachen lassen sich Spezifikationen schreiben, die auf den ersten Blick<br />
natürlich-sprachlichen Texten ähneln, sich aber auf Grund ihrer speziellen Eigenschaften<br />
in formale Spezifikationen überführen lassen und somit ausführbar und durch Test- und<br />
Verifikationstechniken überprüfbar werden<br />
• Neben diesen generellen Ansätzen existieren auch Vorschläge für domänenspezifische formale<br />
Systembeschreibungssprachen, wie z.B. eine spezifische formale Sprache für die Beschreibung<br />
von Leit- und Sicherungssystemen für Eisen- und Straßenbahnen von Haxthausen<br />
und Peleska [HAP02]<br />
Die Syntax dieser Gruppe von Beschreibungsmitteln ist üblicherweise stark mathematisch geprägt.<br />
Der folgende Ausschnitt aus einer in TLA+ verfassten Systemspezifikation gibt einen Eindruck<br />
von der Charakteristik dieser Beschreibungsmittel.<br />
invalSet ==<br />
(∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗)<br />
(∗ The set of Inval messages that are generated . ∗)<br />
(∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗)<br />
IF writing<br />
THEN { [ t y p e |−> " Inval " ,<br />
cmdr |−> msg.cmdr,<br />
8