Claire Pagetti, "Developing multi-periodic critical embedded systems on multi/many-core architectures”
Claire Pagetti has a mathematical background and holds a PhD in
computer science from the Ecole Centrale de Nantes (2004). She is a
research engineer at Onera Toulouse, France and associate professor at
ENSEEIHT. Her field of interest is mainly in safety-critical real-time
systems. She is/was involved in FP7 projects (Scarlett, DREAMS) and
industrial projects on the use of multi-core and many-core. She leads
the RTRA cluster TORRENTS
We present an end-to-end framework, named Prelude/SchedMcore, for the design and the implementation of embedded systems. We illustrate the use of the framework through a comprehensive methodology to transform a baseline flight controller into a multi-periodic controller that can be executed on a multi/many-core target.
The developer first specifies the system using the Prelude language, a
formal real-time architecture description language. Prelude belongs to
the synchronous data-flow languages and focuses on dealing with the
functional and real-time aspects of multi-periodic systems conjointly. More
precisely, a system is specified as a modular and hierarchical
assembly of several locally mono-periodic synchronous functions into
a globally multi-periodic synchronous system. The compiler then
translates the program into a set of communicating periodic tasks that
preserves the semantics of the original program. This requires to
respect extended precedence constraints among tasks and to consume
correct data using a specific communication protocol.
The designer can then integrate the dependent communicating tasks set on a real
target. To do so, the WCET (worst case execution time) of each task
must be computed and a scheduling policy must be chosen. SchedMcore
provides a schedulability analyzer that supports either global preemptive
policies (such as FP, gEDF, gLLF or LLREF) as well as partitioned non
preemptive ones. It can also generate static off-line
sequences. Finally, SchedMcore also provides a run-time environment to
execute the task sets on different targets.
The scheduler is tick-based, i.e., scheduling
decisions are taken only at discrete instants of a chosen
granularity, rather than at potentially every clock cycle. The
run-time has been ported on multicore with Linux as well as a
bare-metal framework on the Intel SCC and the ZOL (Zero Linux Overhead) environment on Tilera Gx.