Skip to Main content Skip to Navigation

Sheep in wolf's clothing: Implementation models for data-flow multi-threaded software

Keryan Didier 1 Albert Cohen 2 Adrien Gauffriau 3 Amaury Graillat 4 Dumitru Potop-Butucaru 1
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
Abstract : Concurrent programming is notoriously difficult, especially in constrained embedded contexts. Threads, in particular, are wildly nondeterministic as a model of computation, and difficult to analyze in the general case. Fortunately, it is often the case that multi-threaded, semaphore-synchronized embedded software implements high-level functional specifications written in a deterministic data-flow language such as Scade or (safe subsets of) Simulink. We claim that in this case the implementation process should build not just the multi-threaded C code, but (first and foremost) a richer model exposing the dataflow organization of the computations performed by the implementation. From this model, the C code is extracted through selective pretty-printing, while knowledge of the data-flow organization facilitates analysis. We propose a language for describing such implementation models that expose the data-flow behavior (the sheep) hiding under the form of a multi-threaded program (the wolf). The language allows the representation of efficient implementations featuring pipelined scheduling and optimized memory allocation and synchronization. We show applicability on a large-scale industrial avionics case study and on a commercial many-core.
Document type :
Complete list of metadatas

Cited literature [14 references]  Display  Hide  Download
Contributor : Dumitru Potop-Butucaru <>
Submitted on : Sunday, April 16, 2017 - 6:47:31 PM
Last modification on : Friday, January 8, 2021 - 11:30:04 AM
Long-term archiving on: : Monday, July 17, 2017 - 12:27:45 PM


Files produced by the author(s)


  • HAL Id : hal-01509314, version 1



Keryan Didier, Albert Cohen, Adrien Gauffriau, Amaury Graillat, Dumitru Potop-Butucaru. Sheep in wolf's clothing: Implementation models for data-flow multi-threaded software. [Research Report] RR-9057, Inria Paris. 2017, pp.31. ⟨hal-01509314⟩



Record views


Files downloads