CHESS logo

Background

Distributed dependable real-time embedded software systems, like Satellite on board software, are becoming increasingly complex due to the demand for extended functionalities or the reuse of legacy code and components. Model-Driven Engineering (MDE) approaches are good solutions to help build such complex systems. Addressing domain specific modeling (like component description and interaction, real-time constraints, ...) while keeping the flexibility and generality offered by languages like UML is a challenge in a context where software must be qualified according to safety and reliability standards.

That's why the CHESS project was created to address the development of high-integrity embedded systems by combining component-based development on top of model driven engineering and addressing dependability and real-time specific constraints.

Scope

The CHESS project provides a model-driven, component-based methodology [1] and tool support for the development of high-integrity systems for different domains. The methodology is particularly suited for space systems and industrial domains.

Thanks to a dedicated MARTE and UML profile and associated tooling, CHESS addresses solutions to problems of property-preserving component assembly in real-time and dependable embedded systems, and supports the description, verification, and preservation of real-time properties (like sporadic/periodic activation patterns, worst case execution time, deadline) of software components at the level of component design down to the execution level.

CHESS enables the design of safety-critical systems implementing the contract-based paradigm. The structural and behavioural aspects are verified interacting respectively with contract-based verification tools (such as OCRA) and model checking tools (such as nuXmv).

CHESS also addresses the description and verification of system and component dependability properties (like fault, error, failures and failures propagations) through a dedicated UML profile for dependability and seamless integration with embedded and external dependability tools, such as xSAP, enabling failure propagation and state based analysis.

CHESS tooling extends Papyrus editor to properly support the CHESS methodology, in particular allowing working with different views on the model including requirements, system, components, deployment and analysis view.

Description

CHESS implements the CHESS UML/SysML profile, a specialization of the Modeling and Analysis of Real-Time and Embedded Systems (MARTE) profile, by producing extensions to Papyrus that provide component-based engineering methodology and tool support for the development of high-integrity embedded systems in different domains like satellite on board systems

The CHESS tool environment is composed by: (1) a MARTE, UML and SysML profile, (2) an extension to the Papyrus UML graphical editor that supports the notion of design views, (3) a model validator that assesses the well-formedness of the model before model transformations can be undertaken, and (4) a set of model to model and model to text transformations, the former for the purpose of model-based schedulability,dependability and contract-based design analysis, and the latter for code generation toward multiple language targets.