Title :
Compiling SyncCharts to Synchronous C
Author :
Traulsen, Claus ; Amende, Torsten ; Von Hanxleden, Reinhard
Author_Institution :
Dept. of Comput. Sci., Christian-Albrechts-Univ. zu Kiel, Kiel, Germany
Abstract :
SyncCharts are a synchronous Statechart variant to model reactive systems with a precise and deterministic semantics. The simulation and software synthesis for SyncCharts usually involve the compilation into Esterel, which is then further compiled into C code. This can produce efficient code, but has two principal drawbacks: 1) the arbitrary control flow that can be expressed with SyncChart transitions cannot be mapped directly to Esterel, and 2) it is very difficult to map the resulting C code back to the original SyncChart, which hampers traceability. This paper presents an alternative software synthesis approach for SyncCharts that compiles SyncCharts directly into Synchronous C (SC). The compilation preserves the structure of the original SyncChart, which is advantageous for validation and possibly certification. We present a static thread-scheduling scheme that reflects data dependencies and optimizes both the number of used threads as well as the maximal used priorities. This results in SC code with competitive speed and little memory requirements.
Keywords :
flowcharting; multi-threading; processor scheduling; program compilers; synchronisation; C code; Esterel; SyncChart compiling; SyncChart transition; Synchronous C; arbitrary control flow; deterministic semantics; reactive systems; software synthesis; static thread-scheduling scheme; synchronous statechart variant; Computational modeling; Concurrent computing; Instruction sets; Optimization; Schedules; Semantics; Writing;
Conference_Titel :
Design, Automation & Test in Europe Conference & Exhibition (DATE), 2011
Conference_Location :
Grenoble
Print_ISBN :
978-1-61284-208-0
DOI :
10.1109/DATE.2011.5763284