Synchronous dataflow languages are a popular tool for systems specification in domains such as real-time control and hardware design. The potential benefits are promising: Discrete-time semantics and deterministic concurrency reduce the state-space of parallel designs, and the engineer's intuition of uniformly progressing physical time is clearly reflected. However, for deriving implementations, use of synchronous programs is currently limited to hardware synthesis, generation of non-distributed software, or deployment on time-triggered architectures. For distributed software systems based on event-triggered bus systems and on-line schedulers, it is still an open problem how conformance with an abstract synchronous design is to be defined. This thesis examines both the problem of synthesis, and the problem of behavioral preservation, for distributed implementations of synchronous programs. A simple synchronous language is presented: this class of languages is shown to meet some essential application requirements, such as boundedness of computational resources, or compositionality. For programs with appropriate delays at subsystem boundaries, two complementary implementation schemes suited for the OSEK operating system and event-triggered communication media, respectively, are presented. Both implementation schemes are characterized by the fact that individual steps of the synchronous program's semantics are spread out in time, or linearized. For such linearized implementations, we provide a general formal framework, where the synchronous program and its linearized implementation are captured both on the level of language (words) and on the level of transition structures (automata). As an example application of the theory, it is shown how certain behavioral properties expressed in the temporal logic LTL can be preserved from the synchronous program to its implementation. A simple method is provided for checking whether a given property is preservable.
«
Synchronous dataflow languages are a popular tool for systems specification in domains such as real-time control and hardware design. The potential benefits are promising: Discrete-time semantics and deterministic concurrency reduce the state-space of parallel designs, and the engineer's intuition of uniformly progressing physical time is clearly reflected. However, for deriving implementations, use of synchronous programs is currently limited to hardware synthesis, generation of non-distributed...
»