Title :
Embedding imperative synchronous languages in interactive theorem provers
Author_Institution :
Inst. fur Rechnerentwurf und Fehlertoleranz, Karlsruhe Univ., Germany
Abstract :
We present a new way to define the semantics of imperative synchronous languages by means of separating the control and the data flow. The control flow is defined by predicates that describe entering conditions, conditions for internal moves, and termination conditions. The data flow is based on the extraction of guarded commands. This definition principle can be applied to any imperative synchronous language like Esterel or some statechart variants. Following this definition principle, we have embedded our language Quartz (an Esterel variant) in the interactive theorem prover HOL. We use this embedding for formal verification (both interactive theorem proving and symbolic model checking), program analysis, reasoning about the language at a meta-level and verified code generation (formal synthesis)
Keywords :
concurrency theory; data flow computing; parallel languages; programming language semantics; theorem proving; Esterel; code generation; data flow; formal verification; imperative synchronous languages; interactive theorem proving; program analysis; semantics; symbolic model checking; Algebra; Automata; Automatic control; Data mining; Flow graphs; Formal verification; Hardware; Logic; Real time systems; Yarn;
Conference_Titel :
Application of Concurrency to System Design, 2001. Proceedings. 2001 International Conference on
Conference_Location :
Newcastle upon Tyne
Print_ISBN :
0-7695-1071-X
DOI :
10.1109/CSD.2001.981772