While numerous solutions supporting Model-Based Systems Engineering and Architecture Definition are available on the market, their actual, large-scale deployment in industries remains low. Returns on experiments provide a wide spectrum of reasons: Low maturity, too generic, too specific, too technical, too expensive, no or poor methodological support, too dependent on tool vendor support and/or roadmap, etc.
The Arcadia method and Capella ecosystem (extensible, customisable workbench and its associated development environment) aim at providing efficient engineering support, as they have been specified, designed and developed for and with operational engineers coming from multiple domains, with the following key concerns/drivers:
- Better quality of the developed systems.
- Better productivity of engineering activities.
- Ease of use.
- Early validation.
- Integration, seamlessness, consistency and traceability.
- Best practice and know-how capitalization.
- Performance and scalability.
- Configuration management.
- Collaborative engineering.
- Compliance with the ISO/IEC 42010 standard.
- Interoperability with existing general purpose or specific modeling environment, including standard languages (UML and SysML) and tools.
Capella is a field-proven model driven engineering solution based on a graphical modeling workbench providing rich methodological guidance and offering high productivity and quality insurance gains for engineers developing systems, software and hardware architectures.
The Capella workbench is a Java / Eclipse RCP application providing a domain-specific language (DSL) implementing Arcadia, both as a simplification and a semantic enrichment of the UML and SysML standards. Its toolset is dedicated to guidance, productivity and quality: Intuitive model editing and viewing capabilities help engineers primarily focus on the design and description of the system and its architecture. This relieves them from the management of the sometimes complex semantics of the UML or SysML modeling languages.
At the core of the Capella workbench is a constantly challenged balance between remaining as simple as possible for the end-users and providing the required expressivity to model complex systems. The following business-focused capabilities are all within the scope of the Capella project:
- Embedded methodological browser, providing a step-by-step workflow and a constant reference to contextual model content.
- Advanced features to manage complexity, including relevant diagram filters, layers, and dynamically computed model graphical simplifications.
- Productivity tools including model-to-model transformations, capitalization through patterns, libraries of replicable elements, layout copy-paste, system to subsystem transition, etc.
- Native support for viewpoint extensions, allowing to extend and/or specialize the core environment to address particular engineering concerns (performance, operating safety, security, cost, weight, product line, etc.), combined with the possibility to carry out multi-criteria analyses of target architectures to help find the best trade-offs.
Figure 1. Capella diagram examples
Beside the graphical modeling workbench, the Capella project includes a development environment (based on Kitalpha and Sirius) providing means to customize and extend the workbench: Meta-model extensions, additional views, additional diagrams or diagram layers, bridges towards or from other engineering tools, etc.
While the Capella project includes a set of basic Capella-coupled viewpoints, it is not in the scope of the project to develop specialty viewpoints nor bridges towards other specialty engineering tools.
The Arcadia engineering method mainly focuses on functional analysis, complex architecture definition and early validation. It is highly extensible and customizable through viewpoints providing integrated specialty engineering support. Both the method (which is going to be published and standardized) and the Capella ecosystem are already operationally deployed within Thales in defense, aerospace, space, transportation and security business domains, across several countries, thanks to a large-scale rollout of model-based approaches, with hundreds of daily users worldwide, on critical operational projects.
Figure 2. Arcadia / Capella engineering phases
Figure 3. Capella methodological browser
To improve quality, productivity, agility and flexibility of the engineering activities, Capella provides means to:
- Ensure an engineering-wide collaboration with all stakeholders sharing the same reference architecture, including architects and engineers for system and subsystems, development teams, specialty engineers (e.g. interfaces design, performance, security, RAMS -- Reliability Availability Maintainability and Safety --, costs, mass, product line, etc.), integration and validation, customer, etc.
- Master the complexity of systems and architectures to be developed by enforcing a built-in multi-level engineering and by separating engineering concerns while ensuring their integration in the reference architecture.
- Define the best optimal architectures through trade-off analysis: Validate the architecture early in the development cycle, hence dramatically reducing re-engineering costs by evaluating the architecture design in short decision loops according to different integrated concerns.
- Master transitions and traceability, through automated transition and information refinement, while providing means to maintain information consistency and to analyze the impact of modifications, inside and between different engineering phases, and between system and subsystems.
Figure 4. Architecture early validation principles using viewpoints with Capella
Figure 5. Viewpoints at work with Capella to early validate architectures
The system and subsystems Capella architecture models are intended to be the reference for most engineering activities. However, Capella fits into a wider engineering landscape, as bridges can be developed to:
- Initialize Capella models from upstream engineering outputs (typically coming from Architecture Frameworks such as NAF)
- Confront architecture models to specialty engineering tools (performance, safety, etc.)
- Iteratively populate downstream engineering (subsystems, code generation, etc.)
Figure 6. Capella big picture
By releasing and developing Capella openly in PolarSys, the objectives are the following:
- Strengthen the PolarSys ecosystem by providing a high value proven model-based engineering workbench for System and Architecture engineering, with long term support.
- Interoperate with its Polarsys companion projects or components, e.g. Papyrus (an Eclipse component in the Polarsys catalogue) for exporting models to a SysML pivot model and for transitioning to UML for software engineering, ReqCycle for integrated requirement management, Kitalpha for viewpoint development, etc.
- Enhance the existing Capella solution to adapt it to further business domains and segments.
- Foster the emergence of an ecosystem of integrated solutions around Capella, with shared viewpoints, architecture styles, architecture patterns, standard model fragments and libraries, bridges with specific engineering environment, etc.
The Capella project is based on Polarsys and Eclipse Modeling projects, notably:
- Kitalpha and its Core Technology Kit, that provides the architectural foundations of Capella and which is the Capella viewpoint development and runtime environment.
- Sirius, used at development time (e.g., for a graphical rendering of the architectures) and runtime (e.g., for architectures edition through diagrams and tables).
- EMF Diff Merge that provides Capella advanced model tooling capabilities (e.g. model diff/merge, iterative transformations, pattern support, etc.).
- EGF used for producing and maintaining the Capella metamodels, helpers and build chain.
- October 2014: code submission and IP review.
- December 2014: 0.8 release.
- June 2015: 0.9 release.
- December 2015: 1.0 release.
Growing a community of interest and of users is a major objective of the Capella project. The goal is to favor the emergence of an ecosystem of organizations, including industries that would drive the Capella roadmap according to operational needs, service and technology suppliers that would develop their business around the solution, and academics that would pave the future of the engineering ecosystem.
The PolarSys Eclipse Industry Working Group will help reach this goal. In parallel, multi-year European and French government sponsored projects also help such actors unify their efforts on specific themes. One of these projects is currently starting and is dedicated to growing the Capella ecosystem and community. Some Capella-related technological components are also developed or improved in the context of other funded projects.