Capella und ARCADIA bei Thales: Sollten Werkzeug und Methode gekoppelt werden?

Auf diesen Seiten wurde bereits viel über Eclipse berichtet, und auch schon über die Arbeitsgruppe PolarSys, bei der es um die Entwicklung von Embedded Systems mit Eclipse-basierten Werkzeugen geht. Heute geht es um Capella, einem Werkzeug aus der PolarSys-Werkzeugkiste, sowie einer Methode namens ARCADIA. Zwei Dinge sind hier für den Leser interessant: Zum einen werden Capella und ARCADIA von Thales mitfinanziert und, laut Thales, auch schon weit verbreitet im Konzern produktiv mit Erfolg eingesetzt. Zum anderen geht es hier um die enge Kopplung von Werkzeug und Methode, was auch eher ungewöhnlich ist. Was dieser Ansatz bedeutet soll im Folgenden beleuchtet werden.

Nächste Woche Dienstag, am 27. Juni um 19:00 (CEST), werde ich zusammen mit den Firmen Jama Software und Intercax vorstellen, wo wir eine Integration zwischen Jama (Anforderungsmanagement) und Cameo (SysML-Modellierung) zeigen. Kostenlos anmelden >>

Mehr zu dem hier gesagten kann übrigens auch auf dem kürzlich veröffentlichen Artikel Coupling Methodology and Tooling for Systems Modelling: ARCADIA and Capella at Thales nachgelesen werden.

Open Source

Capella wurde ursprünglich als internes, proprietäres Werkzeug bei Thales entwickelt. Erst in 2014 wurde es in die Open Source gestellt. In den Jahren seit der Veröffentlichung ist die Gemeinschaft und das Ökosystem kräftig gewachsen, was zeigt, dass die Rechnung aufgegangen ist: Sowohl für Thales, als auch für die vielen Nutzer.

Es gibt inzwischen viele Faktoren, die für Open Source im kommerziellen Umfeld sprechen. Die finanziellen Kosten fallen dabei fast gar nicht ins Gewicht. Es geht hier viel mehr um Nachhaltigkeit, Langzeit-Verfügbarkeit und die Unabhängigkeit von Softwareherstellern. Capella, sowie begleitende Dokumentation und Beispieldaten, können kostenlos von der PolarSys-Webseite heruntergeladen werden. PolarSys ist eine Eclipse Working Group, und dementsprechend ist Capella unter der Schirmherrschaft der Eclipse Foundation angesiedelt.

ARCADIA

ARCADIA steht für „ARChitecture And Design Integrated Approach“ und deckt Methode, abstrakte Ontologie und Sichten ab. Dazu wird eine eigene Notation eingeführt. Die Notation ist einer der Gründe, warum ein eigenes Werkzeug entwickelt wurde.

ARCADIA selbst ist ein Ansatz zur Modellierung von Hardware und Software, mit dem Ziel, den Kundennutzen zu verstehen und die Systemarchitektur zu kommunizieren. Es ist weiterhin für die Koordinierung der disziplinübergreifenden Arbeit gedacht. Verifizierung und Validierung (V&V) sollen frühzeitig angegangen werden. Um diese Ziele zu erreichen, folgt der Ansatz mehren Prinzipien, wie funktionale Analyse und Trennung von Bedarf und Lösung.

Konzepte und Modelltypen

ARCADIA hat mehrere semantische Konzepte, die sich in verschiedenen Diagrammtypen in Capella darstellen lassen. Dazu gehört:

  • System Dataflow Diagram für die funktionale Analyse
  • Class Diagram für die Datenanalyse
  • System Architecture Diagram für die Analyse des Verhaltens
  • Physical Architecture Diagram für die physikalische Partitionierung

Wie bei vielen Modellierungsansätzen ist auch bei Capella das Diagramm lediglich eine Sicht auf das Modell. Dementsprechend ermöglicht das Modell, die Elemente miteinander zu verknüpfen, wobei ARCADIA das Vorgehen bestimmt. Das Modell hat auch weitere Konstrukte für den Umgang mit dem Modell, wie bspw. „Replicable Elemenst“, um Wiederverwendung zu ermöglichen.

Neben den Diagrammen gibt es auch noch Perspektiven. Dies sind Sichten, die für bestimmte Aktivitäten besonders geeignet sind. Dies sind:

  • Operational analysis, um den Bedarf der Stakeholder zu erfassen
  • System Need Analysis, um den Beitrag des Systems zur Lösung des Problems zu erfassen
  • Logical Architecture, die beschreibt, wie das System das Problem lösen wird
  • Physical Architecture, um die physikalische Manifestierung, also das anfassbare System, zu erfassen
  • Product Building Strategy, also wie das System konfiguriert und integriert werden soll.

Capella

Nachdem bestehende Modellierungssprachen wie UML und SysML inzwischen weite Verbreitung gefunden haben, ist es im ersten Moment verwunderlich, dass noch eine neue Sprache – und Werkzeug – entwickelt werden mussten. Und dieser Weg wurde auch in der Anfangszeit von ARCADIA ausprobiert: In den 2000er Jahren wurde versucht, über Profile SysML für den Einsatz mit ARCADIA anzupassen. Doch es stellte sich heraus, dass dieser Ansatz um einen sehr Aufwändig war. Die Werkzeuge waren nicht einfach zu konfigurieren, und Nutzer beklagten sich über Usability.

Capella wurde von SysML inspiriert, ist aber eine eigenständige Sprache, was diese dadurch deutlich einfacherer machte. Durch die Spezialisierung ist Capella nicht so flexibel wie SysML, abr dafür einfacher zu verstehen und mächtiger. Durch die Eigenentwicklung war auch eine engere Verzahnung mit der Methode möglich, was an vielen Stellen die Nutzung erleichtert und den Anwender führt. Zum Beispiel werden bei Capella gezielt Farben für verschiedene Perspektiven eingesetzt.

Auch beim Arbeiten mit dem Modell kommt die Verzahnung zwischen Werkzeug und Methode zum Vorschein, indem der Nutzer geführt und das Modell automatisch ergänzt wird. Ein gutes Beispiel ist das Arbeiten mit Schnittstellen zwischen Komponenten, die beim Verknüpfen entsprechend initialisiert werden können.

Capella ist eine semi-formale Sprache, was an vielen Stellen im Werkzeug den Nutzer bei nerventötenden Aktivitäten unterstützt, wie dem Pflegen von Abhängigkeiten, Modellgenerierung, automatisierten „Quick Fixes“, usw. Viele dieser Funktionen dürften Leser mit Programmiererfahrung an die leistungsfähigen Features moderner Programmierumgebungen erinnern.

Skalierung

Die eben beschriebenen Konzepte sind für die Skalierung notwendig, und Skalierung ist für den industriellen Einsatz unabdinglich. Dabei gibt es natürlich viele Aspekte der Skalierung: Es geht nicht nur die Größe des Modells, sondern auch darum, Methode und Werkzeug in einer großen Organisation zu verbreiten. Eine einfache Sprache (zumindest im Vergleich mit bspw. SysML) ist dazu auch hilfreich. In der Modellierungssprache wurden Beschränkungen eingeführt, die letzten Endes der Skalierung zu Gute kommen. Zum Beipiel können nur solche Funktionen Ein- und Ausgänge haben, die keine Unterfunktionen enthalten. Dies ermöglicht zum einen eine schnelle Vollständigkeitsanalyse, zum anderen können verschachtelte Ein- und Ausgänge automatisch über mehrere Ebenen herausgetragen werden. Der oben zitierte Artikel enthält dazu einige Beispiele.

Fazit

Die Entscheidung für den Einsatz von jeder Methoden-Werkzeug-Kombination sollte strategisch sein, und das trifft auch auf Capella und ARCADIA zu. Insofern sollte sorgfältig geprüft werden, ob es einen Business Case gibt, und ob ein Return on Investment realisiert werden kann. Allerdings ist Capella aus mehreren Gründen attraktiv: Die langjährige Unterstützung und Einsatz durch Thales geben dem Ansatz schon eine gewisse Sicherheit der Stabilität. Der Aufwand für einen Piloten hält sich in Grenzen. Und es gibt inzwischen eine starke Gemeinschaft, die Capella weiterentwickelt und bei Fragen hilft.

Persönlich finde ich die enge Verzahnung zwischen Methode und Werkzeug hochinteressant. Gern würde ich mal ein Projekt mit Capella und ARCADIA durchführen.

Haben Sie schon mit Capella und ARCADIA Erfahrung gesammelt? Dann teilen Sie diese doch im Kommentarbereich!

Bild: PolarSys/Capella

Dieser Artikel erschien zuerst bei se-trends.de.

  • pica

    Die Verzahnung von Methodik und Werkzeug sehe ich mit gemischten Gefühlen. Einerseits bietet dies den Anwendern eine Anleitung, zum anderen bringt diese Verzahnung Einschränkungen. Diese Verzahnung ist im Enterprise Architecture Umfeld bei TOGAF/Archimate Werkzeugen seit Anbeginn üblich und wird in diesem Umfeld voll und ganz akzeptiert.

    Im technisch geprägten Umfeld gibt es jedoch keine allgemein anerkannte Methodik wie TOGAF im Enterprise Architecture Umfeld. Zudem wird im technisch geprägten Umfeld die Methodik deutlich stärker diskutiert und hinterfragt. Entsprechend wird es wohl im technisch geprägten Umfeld mit der Akzeptanz schwieriger. Bei UML Werkzeugen, die eine Methodik vorgeben (z.B. MID Innovator) wurde dies nach meiner Erfahrung allgemein nicht als hilfreich angesehen.

  • pica

    Ich beobachte ARCADIA/Capella seit Dezember 2014 und habe mich intensiv sowohl mit der Methodik als auch dem Tool auseinandergesetzt.

    Zur Methodik:
    Die Methodik ist für Großprojekte das Beste was ich bislang gesehen habe. Die Methodik ist deutlich leichtgewichtiger als z.B. NAF v3 bietet dennoch alle notwendigen Abstraktionsebenen. Desweiteren ist die Abfolge der Sichten sinnvoll.

    Zum Tool:
    Gut das Tool funktioniert. Durch die geringere Zahl ARCADIA Elemente und deren Attribute gegenüber SysML sind auch die Menus übersichtlicher als bei SysML Tools.

    Im Ganzen empfinde ich ARCADIA im reinen Systems Engineering Umfeld als angenehmer als SysML. Als Problem sehe ich jedoch den Übergang in das Software Engineering an. Im Software Engineering ist UML de facto gesetzt. Ein Übergang von ARCADIA nach UML ist jedoch ein Medienbruch. Bei Werkzeugen, die SysML als UML Profil interpretieren ist der Übergang ohne Medienbruch möglich.

  • Michael Schaefer

    Aus unserer Erfahrung in der Anwendung von Capella/ARCADIA auf Steuerungs- und Kontrollsystem für Eisenbahnen können wir dies nur unterstreichen. Die saubere Trennung in die verschiedenen Abstraktionsebenen hilft Neuanfängern wie Experten besser ihre Systeme zu strukturieren. Man vermeidet die sonst oft entstehende Vermischung von logischen und physikalischen Sichten und verliert in größeren Systemen nicht so leicht den Überblick.