MARTe: A Multiplatform Real-Time Framework

JET EFDA Contributors, André C. Neto, Filippo Sartori, Fabio Piccolo, Riccardo Vitelli, Gianmaria De Tommasi, Luca Zabeo, Antonio Barbalace, Horácio Fernandes, Daniel F. Valcárcel, Antonio J. N. Batista

Research output: Contribution to journalArticlepeer-review

Abstract

Development of real-time applications is usually associated with nonportable code targeted at specific real-time operating systems. The boundary between hardware drivers, system services, and user code is commonly not well defined, making the development in the target host significantly difficult. The Multithreaded Application Real-Time executor (MARTe) is a framework built over a multiplatform library that allows the execution of the same code in different operating systems. The framework provides the high-level interfaces with hardware, external configuration programs, and user interfaces, assuring at the same time hard real-time performances. End-users of the framework are required to define and implement algorithms inside a well-defined block of software, named Generic Application Module (GAM), that is executed by the real-time scheduler. Each GAM is reconfigurable with a set of predefined configuration meta-parameters and interchanges information using a set of data pipes that are provided as inputs and required as output. Using these connections, different GAMs can be chained either in series or parallel. GAMs can be developed and debugged in a non-real-time system and, only once the robustness of the code and correctness of the algorithm are verified, deployed to the real-time system. The software also supplies a large set of utilities that greatly ease the interaction and debugging of a running system. Among the most useful are a highly efficient real-time logger, HTTP introspection of real-time objects, and HTTP remote configuration. MARTe is currently being used to successfully drive the plasma vertical stabilization controller on the largest magnetic confinement fusion device in the world, with a control loop cycle of 50 μs and a jitter under 1μs. In this particular project, MARTe is used with the Real-Time Application Interface (RTAI)/Linux operating system exploiting the new x86 multicore processors technology.
Original languageEnglish
Pages (from-to)479-486
Number of pages8
JournalIEEE Transactions on Nuclear Science
Volume57
Issue number2
DOIs
Publication statusPublished - 12 Apr 2010
Event16th IEEE-NPSS Real Time Conference 2009 - Beijing, China
Duration: 10 May 200915 May 2009

Keywords

  • Linux
  • real-time systems
  • scheduling
  • software libraries
  • MARTe
  • multiplatform real time framework
  • real time applications
  • nonportable code
  • real time operating systems
  • hardware drivers
  • system services
  • user code
  • Multithreaded Application Real-Time executor
  • multiplatform library
  • high level interfaces
  • user interfaces
  • Generic Application Module
  • real time scheduler
  • debugging
  • real time logger
  • HTTP remote configuration
  • plasma vertical stabilization controller
  • magnetic confinement fusion device
  • control loop cycle
  • Linux operating system
  • multicore processors technology
  • Real time systems
  • Operating systems
  • Hardware
  • Libraries
  • User interfaces
  • Software algorithms
  • Scheduling algorithm
  • Application software
  • Robustness
  • Software debugging
  • Computer control systems
  • data acquisition systems
  • real-time computer applications
  • real-time software systems
  • software performance

Fingerprint

Dive into the research topics of 'MARTe: A Multiplatform Real-Time Framework'. Together they form a unique fingerprint.

Cite this