2019 19th International Conference on Application of Concurrency to System Design (ACSD) 2019
DOI: 10.1109/acsd.2019.00009
|View full text |Cite
|
Sign up to set email alerts
|

Sheep in wolf's Clothing: Implementation Models for Dataflow Multi-Threaded Software

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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
3
0

Year Published

2021
2021
2022
2022

Publication Types

Select...
4

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(3 citation statements)
references
References 21 publications
0
3
0
Order By: Relevance
“…Synchronous programming models led to synchronous programming languages, e.g., Esterel [36], Lustre [37], Signal [38], and the development of tools to formally analyze their execution correctness as well as compilers to generate correct synchronizing code for embedded [2] or multicore platforms [4]. This created a virtuous cycle -as researchers understood better properties and embedded them into languages and tools, they drove the adoption of synchronous execution and formal tools for a number of industrial control applications, avionics, and critical system components.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Synchronous programming models led to synchronous programming languages, e.g., Esterel [36], Lustre [37], Signal [38], and the development of tools to formally analyze their execution correctness as well as compilers to generate correct synchronizing code for embedded [2] or multicore platforms [4]. This created a virtuous cycle -as researchers understood better properties and embedded them into languages and tools, they drove the adoption of synchronous execution and formal tools for a number of industrial control applications, avionics, and critical system components.…”
Section: Related Workmentioning
confidence: 99%
“…Often, synchronous abstractions are decoupled from implementation and are used to validate system functional behavior. When mapping synchronous abstractions to asynchronous nondeterministic hardware, work has been done to automate code generation that matches the functional semantics, hiding the non-deterministic behavior of the hardware with explicit synchronization, for example [4]. Logical Execution Time (LET) was introduced by Henzinger and Kirsch [5] to support the design of reactive, cyberphysical systems.…”
Section: Introductionmentioning
confidence: 99%
“…Although there is a significant amount of research for deriving efficient control for PPNs with particular constraints coming from the hardware [32], all this process remains polyhedral. Like the synchronous proposition of [33], we believe that these polyhedral works should be carefully integrated in our setting in order to gain benefit of both task and instruction parallelism; however we do not want to restrict the input language to a particular subclass of statically optimizable kernels, like in [34].…”
Section: Related Workmentioning
confidence: 99%