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.
Beschreibungsmittel für verschiedene konzeptuelle und dynamische Aspekte eines Systems und<br />
basiert dabei auf dem objektorientierten Paradigma, das ein System als eine Menge interagierender<br />
Objekte versteht. Die einzelnen Aspekte eines Systems können in der UML durch insgesamt<br />
13 verschiedene Diagrammarten beschrieben werden, die die Struktur eines Systems (z.B. in<br />
Klassen- und Komponentendiagrammen) und dessen Verhalten (in Aktivitätsdiagrammen, Zustandsdiagrammen,<br />
Sequenzdiagrammen, etc.) erfassen. Umfassende, weiterführende Informationen<br />
zu den Diagrammarten, der Syntax und Semantik der UML finden sich in zahlreichen<br />
Literaturquellen, z.B. in [RQZ07], weswegen hier nicht weiter darauf eingegangen wird.<br />
Die UML wird durch die Object Management Group (OMG) verwaltet und weiterentwickelt.<br />
Aktuell liegt die UML-Spezifikation in der erheblich umfangreicheren Version 2.1.2 2 vor. Die<br />
Sprachdefinition untergliedert sich dabei in drei wesentliche Elemente:<br />
• Die Infrastructure Definition definiert die internen Bestandteile, aus denen sich die UML<br />
zusammensetzt [OMG07-3]<br />
• Die Superstructure Definition [OMG07-2] legt die eigentlichen, vom Anwender nutzbaren<br />
Sprachelemente auf Basis der Infrastructure Definition fest<br />
• Die vom IBM entwickelte Object Constraint Language (OCL), die in die UML-Spezifikation<br />
aufgenommen wurde, um bestimmte Zusicherungen, wie z.B. Invarianten in Klassendiagrammen<br />
oder Bedingungen in Sequenzdiagrammen ausdrücken zu können [OMG06-1].<br />
Daneben existiert noch eine Spezifikation für den Austausch von grafischen Diagramminformationen<br />
mit der Diagram Interchange Specification.<br />
Die UML hat mittlerweile weiter Verbreitung im ingenieurwissenschaftlichen und industriellen<br />
Umfeld gefunden und wird durch eine fast unüberschaubare Zahl an Werkzeugen, ergänzenden<br />
Tools und sonstigen Produkten unterstützt. Allerdings ist sie nach wie vor sehr durch Konzepte<br />
aus der Softwareentwicklung geprägt, was für Ingenieure ohne Informatik-Hintergrund abschreckend<br />
wirken kann. Diese Ausrichtung zeigt sich auch in den einzelnen Sprachelementen:<br />
zwar können diese durch die semantische Umdeutung auch für die Spezifikation von kompletten<br />
Systemen verwendet werden, allerdings fehlen dafür wiederum wesentliche Elemente, wie<br />
beispielsweise kontinuierliche Stoff- und Informationsflüsse, parametrische Beschreibungen von<br />
mathematischen Funktionen und die Einbindung von textlichen Requirements.<br />
Dieser Mangel wurde erkannt und führte zur Entwicklung einer speziellen Sprache für die Spezifikation<br />
von Systemen, der auf der UML basierenden SysML [OMG07-1]. Sie ist besonders für<br />
die Spezifikation der Anforderungen, des Verhaltens, der Struktur sowie der Randbedingungen<br />
komplexer Systeme entwickelt worden und zielt weniger auf software-orientierte Problemstellungen<br />
ab als die UML. Die SysML eignet sich daher besser, wenn über die konkrete Realisierung<br />
eines Systems und die Verteilung der Funktionalität auf Hardware und Software noch nichts<br />
bzw. wenig bekannt ist. Da die SysML auf der UML basiert, besteht eine Abhängigkeit zwischen<br />
beiden Sprachen. Das Verhältnis zwischen UML und SysML lässt sich dabei durch die folgenden<br />
drei Aussagen definieren und ist in Abbildung 3.1 grafisch dargestellt:<br />
• Zahlreiche UML-Konstrukte wurden direkt in die SysML übernommen und werden dort<br />
mit gleicher inhaltlicher Bedeutung verwendet (als „UML4SysML”), wurden aber teilweise<br />
umbenannt.<br />
• Einige Konstrukte der UML werden für die SysML nicht benötigt<br />
2 Im Rahmen dieser Arbeit wird jedoch die frühere Version 2.1.1 der UML-Spezifikation verwendet, die zum Zeitpunkt<br />
der Modellierungsarbeiten aktuell war. Um Versionskonflikte in Referenzen zu vermeiden, wurde entschieden,<br />
auch nach Veröffentlichung der neueren Version 2.1.2 weiterhin die Version 2.1.1 zu verwenden.<br />
10