Is Capella a SysML Tool?
Designing complex and critical systems, and more generally architectures that are subject to multiple functional and non-functional constraints, is an activity which requires a level of rigor that can only be provided by formalized and tooled modeling approaches.
The Arcadia methodology and the corresponding open source tool Capella have been developed with these challenges in mind. With Arcadia as its DNA, the Capella workbench provides methodological guidance, including an engineering workflow with clear modeling objectives, and an advanced set of productivity tools. Successfully deployed across various industrial domains, Capella is a field-proven solution which helps manage systems complexity, primarily during the development phases, but also during the production and operations phases.
As a way of extending its adoption beyond Thales, Capella was made open source in 2014 as part of PolarSys, an Eclipse Foundation Working Group that is dedicated to embedded systems development.
Among the standards from which Arcadia and Capella are inspired, the SysML language is definitely prominent. To the extent that Arcadia/Capella can be considered a SysML-like solution to design the architecture of complex systems using models:
- SysML is a standard and a general-purpose language for systems modeling covering a large spectrum of applications.
- Arcadia/Capella primarily focuses on the design of systems architectures (functional analysis, identification of subsystems, definition and justification of interfaces, early evaluation).
The Arcadia/Capella solution capitalizes on the SysML concepts that it simultaneously simplifies and enriches. As a consequence, the Arcadia method is supported by various kinds of diagrams (Architecture, Dataflow, Functional chains, Sequence, Tree, Mode and States, Classes and Interfaces) which are largely inspired by UML and SysML diagrams (Block Definition, Internal Block, Activity, Sequence, State Machine, Use Case, Requirement , Parametric).
For example, when the Internal Block Diagram in SysML captures the internal structure of a block in terms of properties and connectors between properties, Arcadia/Capella offers a twin diagram, the Architecture Diagram, which describes the assembly of components in terms of internal breakdown and connections.
SysML Internal Block Diagram
Arcadia/Capella Architecture Diagram
The purpose of Arcadia and Capella is to have systems engineers embrace the cultural change of MBSE, rather than having modeling “experts” owning the model on behalf of systems engineers. The main differences between SysML and Capella/Arcadia are motivated by the commitment to reach this goal and result from the integration of the actual practices and concerns of systems engineers who do not necessarily have software engineering background.
For example, functional analysis is a classical technique broadly used by systems engineers. Arcadia and Capella provide methodological guidance and engineering helpers to support this technique that has been mostly left out of SysML V1. While the mapping of Capella functions to SysML activities is the most natural one in terms of semantics, there are a few fundamental differences between them.
In particular, the strong encapsulation mechanism of SysML favors the reuse of activity definitions in multiple contexts but also enforces a top-down approach and imposes strong constraints on what can be represented in one single diagram.
Several diagrams required to perform a functional analysis
To facilitate the implementation of flexible workflows (top-down and bottom-up), Arcadia/Capella relies on a different approach in order to:
- help manage the complexity of functional trees by relieving engineers from the tedious task of maintaining the consistency of dependencies between several levels of decomposition
- allow the immediate production of simplified views of the functional analysis
- enable the easy combination between top-down and bottom-up workflows
The two diagrams below are an example of two views automatically computed from the same diagram. Ports are displayed on non-leaf functions but still belong to children functions.
Diagram displaying leaf and non-leaf functions
The same diagram hiding leaf functions
Many other equivalences and differences between SysML and Arcadia/Capella are explained in more details on this article: https://www.polarsys.org/capella/arcadia_capella_sysml_tool.html
A webinar (45 minutes) is dedicated to this topic:
For more in-depth information about Capella, its release, the upcoming events including monthly webinars, etc.: join the discussion by following the Capella Twitter account, the Capella Youtube Channel and the Capella LinkedIn Group.
Feel also free to check the Capella website!