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.



Also Published In

Science of Computer Programming

More About This Work

Academic Units
Computer Science
Published Here
June 7, 2012