Deterministic execution of synchronous programs in an asynchronous environment. A compositional necessary and sufficient condition
Abstract
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 be taken as granted because of communication latencies. A simple solution consists in systematically sending signal absence notifications, but it is unduly expensive at run-time. Sufficient properties have been proposed defining subsets of synchronous programs where asynchronous evaluation is faithful to their original specification. In essence they aim at preserving stream computation {\em monotonicity}, in the original formulation of Kahn Network principles, or {\em confluence}, as coined by R. Milner. Some of these criteria may become quite involved. In the current paper we show a precise technical result: If equivalence between the synchronous and the asynchronous semantics is congruence with respect to parallel constructors, then the "good" criterion amounts to a single step "diamond closure" property, with independent behaviors converging to the union of their effects. It should be remembered here that the {\em local} individual behaviors of components may themselves contain simultaneous events, thereby allowing complex synchronous modeling on this lower layer.
Origin : Files produced by the author(s)
Loading...