Real-Life Case Studies

Many modeling workbenches have already been implemented with Sirius in various fields and use-cases. Here are some noteworthy examples.

Thales: a System Engineering modeling workbench

One of the most deployed workbench based on Sirius is the tool created by Thales to equip its system engineers. The tool implements Arcadia, a model-based architecture engineering approach defined by Thales.

For Arcadia, Thales integrated and extended several standards such as AADL, DoDAF, NAF, UML or SysML. Specific viewpoints were also created and are dedicated to:

  • operational analysis
  • functional analysis
  • logical architecture
  • physical architecture
  • non functional constraints
  • non functional trade-offs
  • transition to software or hardware

The tool supports three main objectives:

  1. Decrease the rework in design and production by performing early validation of key architectural aspects;
  2. Improve the quality of the architecture by helping the engineers to take better decisions regarding complex, but necessary, architectural trade-offs;
  3. Capitalize on both product definition and know-how by supporting negotiation and compromise between stakeholders.

The tool provides several editors for these viewpoints and allows the system architects to graphically design and analyze a system.

System architects can evaluate their candidate’s architecture against industrial constraints (cost & schedule, performance, safety, maintainability, product policy, etc.). For each type of constraint, layers can be applied on the diagrams to graphically highlight the violated constraints.

Performance analysis

Initially, the tool was developed to target system and software architecture engineering of data processing, signal processing or information systems. In the end, Thales successfully applied the tool to larger fields, such as electrical power systems or thermal systems.

The tool can be used to work on several interleaved multi-physics models of a new airplane:

  • Power Model describing electrical generators, loads, converters, etc;
  • Thermal model describing turbines, compressors, valves, etc;
  • Command & Control model describing interfacing units, computing unit, data, etc.

Specific viewpoints on these models can help the engineers evaluate the solution architecture and detect problems before the IVVQ (Integration, Verification, Validation, Qualification) phase for many fields:

  • electrical power systems
  • power and thermal performance depending on flight phase consumption
  • redundancy rules, failure scenarios and propagation
  • reconfiguration issues
  • early identification of spatial arrangement constraints impacting the architecture
  • etc.

In summary, this approach has many advantages. Mainly, it allows system architects to avoid exhaustive modeling and, thanks to multi-viewpoint tooling, they can adjust the modeling efforts on major engineering issues.

French Ministry of Defense: Software architecture and design

The french ministry of defence has developed a workbench to design its new IT applications. The modeler allows software architects to specify the interactions between the users and the system, to define the services, the entities and the screen flow of the applications.

Graal Designer: Users/System Interactions and link with the related user-stories

Cinematic Designer: Flow between pages of an application

It is complemented by code generators to automatically produce an important part of the JavaEE source code.

In addition to improving productivity, now, the software architecture of the french ministry of defense applications can be reproduced easily.

The benefits of this approach, with a dedicated tool, have been successfully demonstrated on a first project that represents 6 000 days and more than 600 000 of lines of code, 80% of which were automatically generated.

Furthermore, a significant part of the modelers and code generators created during this project was contributed to Open Source and are used by other companies on their own projects.

MAIF: New insurance products definition

MAIF, an insurance company, has equipped its experts in P&C products (property and casualty) with a graphical tool to define the new insurance products and to administrate their life-cycle.

The tool, an RCP application integrating Sirius, provides graphical editors to create, modify, consult, version and validate each product. The models created with this workbench are directly consumed by the IT system through distributed services (progressively replacing legacy ones).

Architecture of the Product Catalog

With this solution, MAIF has dramatically reduced its need for specific IT developments concerning the delivery of insurance products. As a result, the deployment of new products was reduced from several weeks to only one week. Their process is not only more clear and simple, but it allowed them to also increase their productivity and optimise their deployment process.

ESA: Modeling satellites on-board applications

The European Space Agency (ESA) has defined a generic architecture for on-board satellite applications. This software reference architecture (SRA) aims to make software development faster in the context of a reduced schedule, to allow late definition or changes (e.g., adaptation to hardware specificities or changes) and to cope with the various system integration strategies.

The cornerstone principle of the SRA is separation of concerns, which is used in order to separate different aspects of software design (functional and non-functional concerns, actor's area of expertise, etc.) and address them with the best-fit formalisms, tools and verification techniques. Other key principles of SRA are composability, compositionality, property preservation and composition with guarantees.

Design views: Represent self-contained concerns relevant to stakeholders

EMF (Eclipse Modeling Framework) and Sirius were selected to develop these views. The resulting editor, initially developed by the University of Padova, was later adopted and refined in subsequent ESA-funded studies.

Two strategies have been considered:

  • UML with a specific profile
  • a DSL (Domain Specific Model)

Because of the gap between the concepts of the SRA component model and those defined by UML, using UML in this context would have introduced unnecessary complexity. That's the reason why an Ecore metamodel, called SCM, implementing the component model concepts was developed. With this approach, the tool natively supports the component model of the SRA.

Then, Sirius was used to implement the 19 types of diagrams and 8 kinds of tables, which allow the user to edit and visualize the components in modeling workbenches integrated with Eclipse.

Processor board diagram: Declaration of the internals of a processor board in terms of processors, processor cores, cache and memory banks.

Hardware diagram: Declaration of the processing units, sensors, actuators, devices and the interconnections between them.

These views are complemented by validation rules and specific actions (for intensive computations).

An alternative would have been to directly use GMF, but implementing 19 specific diagrams would have consumed most of the effort to the detriment of realizing and perfectioning the approach. On the contrary, with Sirius, the design views have been implemented much faster with better support for extensibility and incremental adaptations. Most of all, it enables fast iterations with stakeholders in the prototypal phase for delicate points of the methodology.

About the Authors

Frédéric Madiot

Daniel Exertier