I introduce and advocate for the concept of Real-Time Systems Compilation. By analogy with classical compilation, real-time systems compilation consists in the fully automatic construction of running, correct-by-construction implementations from functional and non-functional specifications of embedded control systems. Like in a classical...
-
November 10, 2015 (v1)PublicationUploaded on: February 28, 2023
-
July 1, 2015 (v1)Journal article
Les plates-formes d'exécution industrielles sont souvent très chères et opaques, tant pour le matériel que pour le système d'exploitation. Alors, une vraie alternative s'ouvre au chercheur motivé : celle de créer une plate-forme d'expérimentation et d'enseignement complètement ouverte et abordable. Le prix à payer : un certain investissement en...
Uploaded on: February 28, 2023 -
2014 (v1)Book section
We start this chapter by explaining how modeling needs of thereal-time community have lead to the introduction of synchronouslanguages in the early 1980s. We present the characteristics of theselanguages as well as their limitations. We then propose aclassification of synchronous languages and of the languages relatedto them. This introduces a...
Uploaded on: March 25, 2023 -
2014 (v1)Journal article
We propose a software pipelining technique adapted to specific hard real-time scheduling problems. Our technique optimizes both computation throughput and execution cycle makespan, with makespan being prioritary. It also takes advantage of the predicated execution mechanisms of our embedded execution plat-form. To do so, it uses a reservation...
Uploaded on: March 25, 2023 -
2008 (v1)Report
We consider the problem of minimizing bus usage for static real-time scheduling of hierarchical dataflow specifications involving conditional execution. Statically scheduling conditional communications over an asynchronous broadcast bus involves the sending of the activation conditions themselves, which allow all processors to know which...
Uploaded on: December 4, 2022 -
June 1, 2014 (v1)Book section
Les langages synchrones sont issus de la communauté temps réel, comme l'attestentles premières publications sur le sujet, datant des années 1980. Ils répondent au besoin de spécifier de manière non ambigüe les fonctionnalités de systèmes de commande complexes soumis à des contraintes de temps stictes (dures), appelés aussi systèmes temps réel...
Uploaded on: March 25, 2023 -
July 9, 2013 (v1)Conference paper
Worst-case execution time (WCET) analysis has reached a high level of precision in the analysis of sequential programs executing on single-cores. In this paper we extend a state-of-the-art WCET analysis technique to compute tight WCETs estimates of parallel applications running on multicores. The proposed technique is termed integrated because...
Uploaded on: October 11, 2023 -
July 9, 2013 (v1)Conference paper
Worst-case execution time (WCET) analysis has reached a high level of precision in the analysis of sequential programs executing on single-cores. In this paper we extend a state-of-the-art WCET analysis technique to compute tight WCETs estimates of parallel applications running on multicores. The proposed technique is termed integrated because...
Uploaded on: December 3, 2022 -
April 20, 2011 (v1)Report
Reservation tables are used at various levels in embedded systems design to represent the allocation of resources in cyclic computations. They model system-level static realtime task schedules in fields like automotive or avionics, but also model the cycle-accurate ordering of instructions at microarchitectural level, as used in software...
Uploaded on: December 4, 2022 -
June 25, 2018 (v1)Conference paper
International audience
Uploaded on: February 22, 2023 -
February 13, 2013 (v1)Report
Worst-case execution time (WCET) analysis has reached a high level of precision in the analysis of sequential programs executing on single-processor targets. In this paper we extend a state-of-the-art WCET analysis algorithm and tool to allow the computation of \textit{tight} estimates of the worst-case response time (WCRTs) of parallel...
Uploaded on: December 4, 2022 -
April 2021 (v1)Report
The Kalray MPPA3 Coolidge many-core processor is one of the few off-the-shelf high-performance processors amenable to full-fledged static timing analysis. And yet, even on this processor, providing tight execution time upper bounds may prove difficult. In this paper, we consider the sub-problem of bounding the timing overhead due to memory...
Uploaded on: December 4, 2022 -
October 24, 2010 (v1)Conference paper
We propose a technique to automatically synthesize programs and schedules for hard real-time distributed (embedded) systems from synchronous data-flow models. Our technique connects the SynDEx scheduling tool and the Network Code toolchain in a seamless flow of automatic model transformations that go all the way from specification to...
Uploaded on: December 4, 2022 -
2008 (v1)Report
Synchronous reactive formalisms form an appealing programming model for embedded system and Systems-on-Chip (SoC) design. Deploying synchronous programs onto asynchronous distributed execution platforms is an important issue, and has been the topic of substantial research in the past. The point is that signal/event absence in a reaction cannot...
Uploaded on: December 4, 2022 -
2006 (v1)Report
We define a method for synthesizing the asynchronous executives that are driving the synchronous modules of a globally synchronous, locally synchronous (GALS) system. The technique takes as input high-level synchronization constraints, under the form of multi-clock modular synchronous reactive (\SR) specifications. For each synchronous module,...
Uploaded on: March 25, 2023 -
2007 (v1)Report
Synchronous reactive formalisms associate concurrent behaviors to precise schedules on global clock(s). This allows a non-ambiguous notion of "absent" signal, which can be reacted upon. But in desynchronized (distributed) implementations, absent values must be explicitely exchanged, unless behaviors were already provably independent and...
Uploaded on: February 28, 2023 -
July 2010 (v1)Book section
Hard real-time embedded systems are often designed as automatic control systems that can include both continuous and discrete parts. The functional specification of such systems is usually done in a conditioned data-flow formalism such as Simulink or Scade. These formalisms are either quasi-synchronous or synchronous, and they go beyond the...
Uploaded on: December 3, 2022 -
November 30, 2015 (v1)Journal article
Our objective is to facilitate the development of complex time-triggered systems by automating the allocation and scheduling steps. We show that full automation is possible while taking into account the elements of complexity needed by a complex embedded control system. More precisely, we consider deterministic functional specifications...
Uploaded on: February 28, 2023 -
October 17, 2012 (v1)Report
We consider deterministic functional specifications provided by means of synchronous data-flow models with multiple modes and multiple relative periods. These specifications are extended to include a real-time characterization defining task periods, release dates, and deadlines. Task deadlines can be longer than the period to allow a faithful...
Uploaded on: December 3, 2022 -
2009 (v1)Book section
International audience
Uploaded on: December 2, 2022 -
December 2020 (v1)Report
We are interested in the programming and compilation of reactive, real-time systems. More specifically, we would like to understand the fundamental principles common to generalpurpose and synchronous languages—used to model reactive control systems—and from this to derive a compilation flow suitable for both high-performance and reactive...
Uploaded on: December 4, 2022 -
June 23, 2019 (v1)Conference paper
Concurrent programming is notoriously difficult, especially in constrained embeddedcontexts. Threads, in particular, are wildly nondeterministic as a model of computation, anddifficult to analyze in the general case. Fortunately, it is often the case that multi-threaded,semaphore-synchronized embedded software implements high-level functional...
Uploaded on: December 4, 2022 -
November 28, 2023 (v1)Publication
Reactive languages are dedicated to the programming of systems which interact continuously and concurrently with their environment. Values take the form of unbounded streams modeling the (discrete) passing of time or the sequence of concurrent interactions. While conventional reactivity models recurrences forward in time, we introduce a...
Uploaded on: December 25, 2023 -
June 23, 2014 (v1)Conference paper
On-chip networks (NoCs) used in multiprocessor systems-on-chips (MPSoCs) pose significant challenges to both on-line (dynamic) and off-line (static) real-time scheduling ap-proaches. They have large numbers of potential contention points, have limited internal buffering capabilities, and network control operates at the scale of small data...
Uploaded on: March 25, 2023