Academic Commons

Articles

The Semantics and Execution of a Synchronous Block-Diagram Language

Edwards, Stephen A.; Lee, Edward A.

We present a new block diagram language for describing synchronous software. It coordinates the execution of synchronous, concurrent software modules, allowing real-time systems to be assembled from precompiled blocks specified in other languages. The semantics we present, based on fixed points, is deterministic even in the presence of instantaneous feedback. The execution policy develops a static schedule—a fixed order in which to execute the blocks that makes the system execution predictable. We present exact and heuristic algorithms for finding schedules that minimize system execution time, and show that good schedules can be found quickly. The scheduling algorithms are applicable to other problems where large systems of equations need to be solved.

Subjects

Files

Also Published In

Title
Science of Computer Programming
DOI
https://doi.org/10.1016/S0167-6423(02)00096-5

More About This Work

Academic Units
Computer Science
Published Here
June 7, 2012