A Formal Semantics of Clock Refinement in Imperative Synchronous Languages

Mike Gemünde, Jens Brandt, Klaus Schneider · 2010

The synchronous model of computation divides the execution of a program into an infinite sequence of so-called macro steps, which are further divided into finitely many micro steps. Since all threads of a program are forced to run in lockstep, programmers have no means to express the independence of parallel threads, which leads to a phenomenon called over-synchronization. In this paper, we therefore propose a generalization of the synchronous model of computation by means of refined clocks, which divide a macro step into finer grained steps that themselves consist of micro steps. In particular, we present a structural operational semantics of sub clocks and prove that the internal asynchrony given by sub clocks still preserves input/output determinism.

Read the paper · More papers on PaperTik