Overview

The MARTe software framework is a C++ modular and multi-platform framework for the development of real-time control system applications.

The previous version of the framework (aka MARTe1) was deployed in many fusion real-time control systems, particularly in the JET tokamak.

One of the main advantages of the MARTe architecture is the bold separation between the platform specific implementation, the environment details and the real-time algorithms (i.e. the user code).

The platform is defined by the target processor and the operating system, while the environment encapsulates all the interfacing details which are related to the peculiarities of the location where the final system is to be deployed. This includes both the interfacing with the hardware platform and the binding to the services that allow to configure and retrieve data from the system.

This clear separation of concern has allowed to reuse many components inside the same environment (e.g. all the systems deployed at JET share the same services for parameter configuration and data retrieval) and to develop and test the user algorithms in non-real-time operating systems and to later deploy the same exact code in a previously tested platform.

As more systems started to use MARTe1, the number of supported environments and platforms has grown considerably. This has leveraged the exposure of the same core code to different environment configurations, thus increasing the confidence on its quality and robustness. Having the same infrastructure being used inside a community has also had the advantage of sharing and recycling knowledge about the framework and its architecture.

One of the main objectives of the MARTe2 version was to develop a software Quality Assurance (QA) strategy that is appropriate for the development of real-time applications that required the integration of contributions from a large and heterogeneous development community, which includes developer profiles both from the scientific community and from the industry.

More details about the QA process (and in particular on the MISRAC++:2008 compliance) can be found here.