Wir alle haben es schon gesehen: Sie müssen ein Lastenheft schreiben, öffnen Word, schreiben etwas Text, kopieren ein Zustandsdiagramm aus Enterprise Architect und senden es schließlich als PDF ab.
Okay, die Dinge sind jetzt etwas besser. Im Eclipse-Ökosystem verwenden Sie vielleicht Papyrus zum Modellieren mit UML oder SysML. Sie verwenden möglicherweise sogar ein echtes Anforderungstool wie Eclipse ProR. Aber wieder müssen Sie dieses Diagramm in das Modell bekommen, daher werden Sie immer noch den gefürchteten Kopiervorgang durchführen, der Ihr schönes Modell unweigerlich in eine leblose Bitmap umwandelt.
Es gab Versuche, dies zu korrigieren, beispielsweise durch die Verknüpfung der Modelle mit einem Rückverfolgbarkeits-Framework. Dies ist ein Schritt nach vorn und ermöglicht die Erstellung und Analyse Ihrer Rückverfolgbarkeit, ignoriert aber das Problem der Präsentation.
Ein RMF-basiertes Canvas
Was wir experimentell erforscht haben und wo wir viel Potenzial sehen, ist die RMF-basierte Modellintegration und Rückverfolgbarkeit. Das Requirements Modeling Framework ist ein etabliertes Projekt zur Arbeit mit textuellen Anforderungen, das ReqIF, einen OMG-Standard, als zugrundeliegendes Datenmodell verwendet. Wir stellten fest, dass ReqIF bereits alles für Rückverfolgbarkeit enthält: atomare Anforderungen (“SpecObjects”), die mit einer beliebigen Anzahl von typisierten Attributen angepasst werden können, und Spuren (“SpecRelations”), die ebenfalls beliebige Attribute enthalten können. Nachteilig ist jedoch, dass man auf das ReqIF-Universum beschränkt ist: Man kann nur Spuren zwischen SpecObjects erstellen.
Aber hier ist die Idee: Führen Sie SpecObjects ein, die als Proxys fungieren. Diese enthalten Referenzen, die beim Rendern aufgelöst werden. ProR rendert Informationen in einer Gitterstruktur, nicht unähnlich Excel (aber mit Hierarchie). Jede Box repräsentiert den Wert eines SpecObject, so dass sie atomar enthalten ist, mit einem sauberen rechteckigen Rahmen darum. Wir haben dies bereits für die Rückverfolgbarkeit zu (formalen) Event-B-Modellen implementiert, arbeiten aber derzeit an einer generischen Lösung für EMF-basierte Modelle.
Dies ist also die Vision: Sie arbeiten innerhalb von Eclipse, z. B. erstellen Sie ein UML-Zustandsdiagramm in Papyrus. Dann ziehen Sie es in ProR (die RMF-Benutzeroberfläche), wo ein Proxy-Element erstellt wird, das das Diagramm nahtlos in Ihrer Spezifikation rendert (in einem Feld mit einem Rahmen darum). Plötzlich wird, was früher ein Anforderungsmanagement-Tool war, zu einer Zeichenfläche mit Feldern, die mit Inhalten von überall gefüllt werden können – Inhalten, die referenziert und bei Bedarf gerendert werden. Den Benutzer kümmert es nicht, ob die Inhalte aus einem anderen aktiven Modell in Eclipse abgerufen werden oder über einen Webservice oder OLSC von der anderen Seite der Welt.
Wir haben grob drei Integrationsmodelle identifiziert, die wir hier vorstellen möchten:
Proxy-Element im Textfluss

Ein Proxy-Element kann einfach in den Fluss von SpecObjects eingefügt werden, wie oben gezeigt. Dies entspricht dem “Kopieren und Einfügen” (keine Nachverfolgbarkeit), aber zumindest ist der Inhalt immer aktuell. In der obigen Abbildung ist das Proxy-Element ein Kind (wie an der Einrückung zu erkennen), um die Eltern-Kind-Beziehung anzuzeigen.
Proxy-Element mit zusätzlichen Attributen

Ein Proxyelement kann mit “normalen” Attributen angereichert werden, die alle Werte fest miteinander verbinden – sie stellen eine Einheit dar. Dies ist in der obigen Abbildung dargestellt, die einen ReqIF-Wert und einen Proxy-Wert nebeneinander zeigt.
Proxy-Element über SpecRelation

Zuletzt kann auch einer “klassische” Rückverfolgbarkeit realisiert werden. Im Gegensatz zu externen Lösungen nutzen wir jedoch (ReqIF) SpecRelations für die Rückverfolgbarkeit. Dadurch wird der Name des Link-Ziels, der in der Hauptansicht angezeigt wird, vom Modell bereitgestellt (in diesem Beispiel “safety_property (mac)”). Der tatsächliche Wert kann in der Eigenschaftenansicht inspiziert werden, indem einfach das Link-Ziel ausgewählt wird.
Setzen Sie es in Gang
Selbstverständlich können diese drei Ansätze kombiniert werden, um den Wert zu maximieren. So ist es zum Beispiel sehr sinnvoll, eine verknüpfungsbasierte Rückverfolgbarkeit zu etablieren, um beispielsweise die Modellabdeckung zu überprüfen oder die Auswirkungen von Änderungen zu analysieren.
Dieser Ansatz bietet eine Reihe von Vorteilen: Der Benutzer kann die bequemste Darstellung finden, indem er auf andere Inhalte inline (in einer Box) oder über einen Link verweist. Um die Nachvollziehbarkeit zu analysieren, müssen nur die ReqIF-Datenstrukturen bekannt sein, der Analysator kann unwissend sein, woher der Inhalt stammt. Und schließlich ist es möglich, zusätzlich zur ID eine zwischengespeicherte Version des Inhalts zu speichern. Das bedeutet, dass durch das Teilen des ReqIF-Modells auch die Nachvollziehbarkeit geteilt wird. Sie könnten die exportierte .reqifz-Datei in Rational DOORS öffnen und alle referenzierten Inhalte sehen (die natürlich veraltet sein können und hier nicht bearbeitet werden können, aber hey, es ist in DOORS). Noch besser ist, dass Sie die leistungsstarken Nachvollziehbarkeitsanalysewerkzeuge von DOORS nutzen könnten.
Als nächstes in der Reihe: Papyrus (UML und SysML)
Das, was wir gerade beschrieben haben, wurde realisiert und ist für die (Eclipse-basierte) Rodin-Plattform verfügbar, welche die Event-B Modellierungssprache unterstützt. Aber Event-B ist eher exotisch. Deshalb arbeiten wir gerade an einer Papyurs-Integration.
Bild mit freundlicher Genehmigung von digitalart / FreeDigitalPhotos.net



