Author: Boncagni, L.
Paper Title Page
THDAULT06 MARTe Framework: a Middleware for Real-time Applications Development 1277
  • A. Neto, D. Alves, B. Carvalho, P.J. Carvalho, H. Fernandes, D.F. Valcárcel
    IPFN, Lisbon, Portugal
  • A. Barbalace, G. Manduchi
    Consorzio RFX, Associazione Euratom-ENEA sulla Fusione, Padova, Italy
  • L. Boncagni
    ENEA C.R. Frascati, Frascati (Roma), Italy
  • G. De Tommasi
    CREATE, Napoli, Italy
  • P. McCullen, A.V. Stephen
    CCFE, Culham, Abingdon, Oxon, United Kingdom
  • F. Sartori
    F4E, Barcelona, Spain
  • R. Vitelli
    Università di Roma II Tor Vergata, Roma, Italy
  • L. Zabeo
    ITER Organization, St. Paul lez Durance, France
  Funding: This work was supported by the European Communities under the contract of Association between EURATOM/IST and was carried out within the framework of the European Fusion Development Agreement
The Multi-threaded Application Real-Time executor (MARTe) is a C++ framework that provides a development environment for the design and deployment of real-time applications, e.g. control systems. The kernel of MARTe comprises a set of data-driven independent blocks, connected using a shared bus. This modular design enforces a clear boundary between algorithms, hardware interaction and system configuration. The architecture, being multi-platform, facilitates the test and commissioning of new systems, enabling the execution of plant models in offline environments and with the hardware-in-the-loop, whilst also providing a set of non-intrusive introspection and logging facilities. Furthermore, applications can be developed in non real-time environments and deployed in a real-time operating system, using exactly the same code and configuration data. The framework is already being used in several fusion experiments, with control cycles ranging from 50 microseconds to 10 milliseconds exhibiting jitters of less than 2%, using VxWorks, RTAI or Linux. Codes can also be developed and executed in Microsoft Windows, Solaris and Mac OS X. This paper discusses the main design concepts of MARTe, in particular the architectural choices which enabled the combination of real-time accuracy, performance and robustness with complex and modular data driven applications.
slides icon Slides THDAULT06 [1.535 MB]