Skip to Main content Skip to Navigation
Preprints, Working Papers, ...

1-Synchronous Programming of Large Scale, Multi-Periodic Real-Time Applications with Functional Degrees of Freedom

Guillaume Iooss 1 Marc Pouzet 1, 2 Albert Cohen 2 Dumitru Potop-Butucaru 3 Jean Souyris 4 Vincent Bregeon 4 Philippe Baufreton 5
2 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, CNRS - Centre National de la Recherche Scientifique, Inria de Paris
3 KAIROS - Logical Time for Formal Embedded System Design
CRISAM - Inria Sophia Antipolis - Méditerranée , Laboratoire I3S - COMRED - COMmunications, Réseaux, systèmes Embarqués et Distribués
Abstract : The design and implementation of reactive, hard real-time systems involves modeling and generating efficient code for the integration of harmonic multi-periodic tasks. Such a reactive system can be modeled as a synchronous program orchestrating computations, state machine transitions and communications. In a harmonic multi-periodic integration program, task execution rates are related through integral ratios. This paper aims at providing a scalable way to implement large systems composed of modular, synchronous reactive tasks, and to generate efficient code satisfying real-time constraints. The paper describes three incremental extensions to the Lustre language and evaluates them on production applications. First, we propose a clock calculus for 1-synchronous clocks, i.e. strictly periodic clocks with a single activation on their period; we show how the compiler can exploit this information to raise the level of abstraction when integrating tasks at the system level. Second, we allow some variables to have unknown phases, extending the clock inference to gather constraints on unknown phases, using a solver for load balancing over multi-periodic real-time schedules, before instantiating this solution to assign clocks to all reactions of the system. Third, we propose temporally underspecified operations, relevant to many discrete control scenarii, for example on variables with low temporal variability; we show how to express this in a composable way, retaining the Kahn semantics of the synchronous program outside these controlled relaxations, and exploiting slack in the computation to relax the constraints of the real-time load-balancing problem.
Complete list of metadatas

Cited literature [18 references]  Display  Hide  Download
Contributor : Guillaume Iooss <>
Submitted on : Thursday, March 12, 2020 - 2:57:11 PM
Last modification on : Tuesday, May 26, 2020 - 6:50:58 PM
Document(s) archivé(s) le : Saturday, June 13, 2020 - 3:38:55 PM


Files produced by the author(s)


  • HAL Id : hal-02495471, version 2



Guillaume Iooss, Marc Pouzet, Albert Cohen, Dumitru Potop-Butucaru, Jean Souyris, et al.. 1-Synchronous Programming of Large Scale, Multi-Periodic Real-Time Applications with Functional Degrees of Freedom. 2020. ⟨hal-02495471v2⟩



Record views


Files downloads