Proceedings of the 2004 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems 2004
DOI: 10.1145/1023833.1023859
|View full text |Cite
|
Sign up to set email alerts
|

Causality analysis of synchronous programs with delayed actions

Abstract: Synchronous programs are well-suited for the implementation of real-time embedded systems. However, their compilation is difficult due to the paradigm that microsteps are executed in zero time. This can yield cyclic dependencies that must be resolved to generate single-threaded code. State of the art techniques are based on a fixpoint computation at compile time that 'simulates' the microstep execution. However, existing procedures do not consider delayed actions that have been recently introduced in synchrono… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
37
0

Year Published

2006
2006
2016
2016

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 30 publications
(37 citation statements)
references
References 40 publications
0
37
0
Order By: Relevance
“…The partitioning into micro and macro steps is explicitly *Correspondence: gemuende@cs.uni-kl.de Department of Computer Science, University of Kaiserslautern, Kaiserslautern, Germany given by the programmer, and the micro steps are executed in a causal ordering so that there are no read-afterwrite conflicts [7,15]. As a consequence, all threads of a program run in lockstep: they execute the micro steps of their current macro steps in the common global variable environment, and therefore automatically synchronize at the end of the macro step.…”
Section: Reviewmentioning
confidence: 99%
See 1 more Smart Citation
“…The partitioning into micro and macro steps is explicitly *Correspondence: gemuende@cs.uni-kl.de Department of Computer Science, University of Kaiserslautern, Kaiserslautern, Germany given by the programmer, and the micro steps are executed in a causal ordering so that there are no read-afterwrite conflicts [7,15]. As a consequence, all threads of a program run in lockstep: they execute the micro steps of their current macro steps in the common global variable environment, and therefore automatically synchronize at the end of the macro step.…”
Section: Reviewmentioning
confidence: 99%
“…Instead it should be possible to evaluate those control-flow conditions from already known values. Checking this property statically is known as causality analysis [7,15,[23][24][25][26][27][28] in the context of synchronous programs.…”
Section: Logical Correctness and Causalitymentioning
confidence: 99%
“…Thus, the number of iteration steps is bounded by the number of variables. A detailed description of causality and the corresponding causality analysis is given in [Schn09,ScBS04b,BrSc08a,Berr00,Berr99]. The causality analysis has to determine that the statements of a synchronous program can be executed in a causal order where all trigger conditions are determined before the corresponding statements are executed and a written value/variable is not overwritten.…”
Section: Causalitymentioning
confidence: 99%
“…Moreover, they allow direct translations to synchronous hardware circuits. On the other hand, the synchronous programming model challenges the compilers: Intrinsic problems like causality and schizophrenia problems must be solved [18], [19].…”
Section: Synchronous Programsmentioning
confidence: 99%