Synchronous programming with events and relations: the SIGNAL language and its semantics
Science of Computer Programming
Implementation of the data-flow synchronous language SIGNAL
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
The synchronous approach to reactive and real-time systems
Readings in hardware/software co-design
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
ARTS '97 Proceedings of the 4th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software: Transformation-Based Reactive Systems Development
N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Translating discrete-time simulink to lustre
ACM Transactions on Embedded Computing Systems (TECS)
Simulation and Verification of Asynchronous Systems by means of a Synchronous Model
ACSD '06 Proceedings of the Sixth International Conference on Application of Concurrency to System Design
FMCAD '06 Proceedings of the Formal Methods in Computer Aided Design
Formal methods for scheduling of latency-insensitive designs
EURASIP Journal on Embedded Systems
CASES '10 Proceedings of the 2010 international conference on Compilers, architectures and synthesis for embedded systems
Lucy-n: a n-synchronous extension of Lustre
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Periodic scheduling of marked graphs using balanced binary words
Theoretical Computer Science
Hi-index | 0.00 |
Synchronous data-flow languages such as Lustre manage infinite sequences or streams as basic values. Each stream is associated to a clock which defines the instants where the current value of the stream is present. This clock is a type information and a dedicated type system -- the so-called clock-calculus -- statically rejects programs which cannot be executed synchronously. In existing synchronous languages, it amounts at asking whether two streams have the same clocks and thus relies on clock equality only. Recent works have shown the interest of introducing some relaxed notion of synchrony, where two streams can be composed as soon as they can be synchronized through the introduction of a finite buffer (as done in the SDF model of Edward Lee). This technically consists in replacing typing by subtyping. The present paper introduces a simple way to achieve this relaxed model through the use of clock envelopes . These clock envelopes are sets of concrete clocks which are not necessarily periodic. This allows to model various features in real-time embedded software such as bounded jitter as found in video-systems, execution time of real-time processes and scheduling resources or the communication through buffers. We present the algebra of clock envelopes and its main theoretical properties.