Werkzeugintegration via modellbasiertem Repositorium
Open Source Tools und kommerzielle Entwicklungs-Werkzeuge lassen sich über den Ansatz eines zentralen metamodellbasierten Repositoriums integrieren, wodurch u. a. eine werkzeugübergreifende Traceability garantiert werden kann.
Wie funktioniert das?
Alle Artefakte der einzelnen Softwareentwicklungsphasen, von den Anforderungen über Design-Elemente bis zu den Test Cases, werden als Modell-Elemente betrachtet. Ihre Strukturen, Attribute und grundsätzlichen Abhängigkeiten sind in einem werkzeugunab-hängigen Metamodell als ECore-Modell (= Essential MOF) beschrieben, ebenso wie der konkrete Entwicklungsprozess im Unternehmen.
Die zu integrierenden Werkzeuge werden an das zentrale Repositorium über Transformatoren angebunden, die die werkzeugspezifisch modellierten Artefakte (entsprechend dem Metamodell des jeweiligen Werkzeugs) in das zentrale werkzeugneutrale Metamodell umsetzen und umgekehrt. Die Bearbeitung der Artefakte wird nach wie vor in den spezialisierten Werkzeugen vorgenommen, die Verwaltung der Artefakte erfolgt im zentralen Repositorium.
Im Gegensatz zu einer geschlossenen Toolsuite (wie sie in proprietären kommerziellen Lösungen meist angeboten wird) ist das zugrunde liegende Metamodell für Prozess und Artefakte dabei offen (kann erweitert und angepasst werden). Das gemeinsame und homogene MOF-basierte Metamodell ist die Grundlage für die werkzeugneutrale und werkzeugübergreifende Integration.
Alle Phasen des Lifecycles lassen sich über eine zentrale Stelle, das so genannte Process Control Center (PCC), steuern. Das PCC ist das zentrale GUI, es basiert auf dem Open Source Framework EMF (Eclipse Modeling Framework). Über das PCC sind alle projektbezogenen Informationen zugänglich und steuerbar. Die verschiedenen integrierten Werkzeuge sind über die Navigationsleiste des PCC eingebunden und aufrufbar, so dass die oben beschriebenen Transformationen im Betrieb für den Benutzer nicht sichtbar werden.
Die (Modell-)Instanzen aller Artefakte im Prozess und ihre Beziehungen untereinander werden persistent über ein Version-Control-Repositorium, bspw. Subversion verwaltet. Der Zugriff erfolgt im Falle von Subversion über das SVN-Eclipse Plugin Subversive oder Subclipse.
Die Traceability über Werkzeuggrenzen hinweg ist durch Verweis-Informationen gegeben, die in den werkzeugneutralen Metamodellen mit enthalten sind und bei den Transformationen Berücksichtigung finden. Trace-Informationen entstehen dabei teilweise automatisch durch zu definierende Prozess-Regeln bzw. Regeln in den Werkzeugen oder auch manuell, durch das Setzen von Links in den Werkzeugen selbst über dort angebotene Traceability-Matrizen. Zudem ist die Visualisierung und Pflege der Traceability-Informationen im Repositorium außerhalb der spezialisierten Werkzeuge, bspw. über Traceability-Matrizen in EXCEL möglich.
Was erhält man?
Es kann die durchgängige Integration und Verfolgbarkeit der Artefakte über den gesamten Lebenszyklus sichergestellt werden.
Dieser Ansatz bietet insbesondere die Möglichkeit einer schrittweisen und zukunfts-orientierten Integration vorhandener oder neuer Werkzeuge mit dem Ziel einer in sich geschlossenen Werkzeugkette.
Aufgrund der resultierenden hohen Integration vermeidet man Brüche zwischen den Entwicklungsphasen und schafft die technologische Basis für eine Steigerung des Prozessreifegrades.
Unter Anbindung von Version Control und Change Control Werkzeugen, ob Open Source oder kommerziell, erhält man ein integriertes Konfigurationsmanagement über alle Entwicklungsphasen hinweg.
Beispiel
Das dem PCC zugrunde liegende zentrale Metamodel reflektiert die Domäne des Anwenders. Bei unserem Beispielkunden seien dies Requirements, UseCases, TestCases und Components, sowie deren Zusammenhänge. Die entsprechenden Artefakte werden mit Word, Enterprise Architect (UML-Werkzeug), Matlab/Simulink (Modellierungswerkzeug für embedded Systeme) und Excel erzeugt. Jedes Tool verwaltet seine Daten aber in unterschiedlichen Formaten (= toolspezifische (Meta-)Modelle), die nicht ohne Weiteres miteinander verbunden werden können.
- Requirements werden mit Word erstellt. Durch einen "einfachen" Adapter wird das Word-Dokument geparst und in die Metamodell-konforme Repräsentation des PCC konvertiert.
- Durch die MOF bzw. ECore Kompabilität des Metamodells können aus den Requirements direkt UseCases erzeugt werden. Hier kommt QVT-Technologie zum Einsatz, die die Transformation von MOF-Modellen unterstützt. Innerhalb des PCC wird diese Transformationen dann automatisiert nach definierten Regeln durchgeführt. Bei unserem Beispielkunden wird für jedes funktionale Requirement automatisch ein UseCase mit gleichem Namen erstellt. Des Weiteren wird pro Requirement bereits automatisch ein TestCase mit entsprechendem Bezug zum Requirement angelegt.
- Die erzeugten UseCases sind sicherlich noch unvollständig, da aus den Requirements u.a. noch keine Akteure zugeordnet werden können. Daher werden im nächsten Schritt die UseCases im EA vervollständigt. Der EA-Adapter konvertiert das interne Modell in ein für das UML-Tool "lesbares" Format. Je nach Art der Anbindung erfolgt das z.B. über die Erzeugung von XMI-Files. Nach Vervollständigung der UseCases im EA erfolgt umgekehrt (bidirektionale Adapter) die Re-Konvertierung in das interne Modell.
- Je nach Vorgabe im Entwicklungsprozeß erfolgen nun weitere Schritte: Ableitung von Sequenzdiagrammen aus den UseCases, das High-Level-Design der Komponenten in EA, Detailed-Level-Design der Komponenten in Matlab, die Ausformulierung der TestCases in EXCEL usw.
Der entscheidende Aspekt ist, dass alle Aktionen (im Beispiel 1.-4.) über das PCC gesteuert und die relevanten Informationen in einem zentralen MOF-basierten Datenpool verwaltet und über die Verbindung zu Subversion (Plugin/Teamfunktionen) persistiert werden. So lässt sich u.a. jederzeit automatisiert darstellen, welche Komponenten eigentlich ursprünglich auf welchen Requirements beruhen bzw. auf welche UseCases oder Komponenten die Änderung eines Requirements Auswirkungen hat (Traceability). Über OCL-Constraints lassen sich festgelegte Regeln überprüfen und das ganze System über den Änderungsprozess konsistent halten.
Weitere Information erhalten Sie im Download-Bereich.



