TY - JOUR
T1 - Towards a verified compiler prototype for the synchronous language SIGNAL
AU - Yang, Zhibin
AU - Bodeveix, Jean Paul
AU - Filali, Mamoun
AU - Hu, Kai
AU - Zhao, Yongwang
AU - Ma, Dianfu
N1 - Publisher Copyright:
© 2016, Higher Education Press and Springer-Verlag Berlin Heidelberg.
PY - 2016/2/1
Y1 - 2016/2/1
N2 - SIGNAL belongs to the synchronous languages family which are widely used in the design of safety-critical real-time systems such as avionics, space systems, and nuclear power plants. This paper reports a compiler prototype for SIGNAL. Compared with the existing SIGNAL compiler, we propose a new intermediate representation (named S-CGA, a variant of clocked guarded actions), to integrate more synchronous programs into our compiler prototype in the future. The front-end of the compiler, i.e., the translation from SIGNAL to S-CGA, is presented. As well, the proof of semantics preservation is mechanized in the theorem prover Coq. Moreover, we present the back-end of the compiler, including sequential code generation and multithreaded code generation with time-predictable properties. With the rising importance of multi-core processors in safety-critical embedded systems or cyber-physical systems (CPS), there is a growing need for model-driven generation of multithreaded code and thus mapping on multi-core. We propose a time-predictable multi-core architecture model in architecture analysis and design language (AADL), and map the multi-threaded code to this model.
AB - SIGNAL belongs to the synchronous languages family which are widely used in the design of safety-critical real-time systems such as avionics, space systems, and nuclear power plants. This paper reports a compiler prototype for SIGNAL. Compared with the existing SIGNAL compiler, we propose a new intermediate representation (named S-CGA, a variant of clocked guarded actions), to integrate more synchronous programs into our compiler prototype in the future. The front-end of the compiler, i.e., the translation from SIGNAL to S-CGA, is presented. As well, the proof of semantics preservation is mechanized in the theorem prover Coq. Moreover, we present the back-end of the compiler, including sequential code generation and multithreaded code generation with time-predictable properties. With the rising importance of multi-core processors in safety-critical embedded systems or cyber-physical systems (CPS), there is a growing need for model-driven generation of multithreaded code and thus mapping on multi-core. We propose a time-predictable multi-core architecture model in architecture analysis and design language (AADL), and map the multi-threaded code to this model.
KW - Coq
KW - SIGNAL
KW - architecture analysis and design language (AADL)
KW - guarded actions
KW - synchronous languages
KW - verified compiler
UR - https://www.scopus.com/pages/publications/84952630628
U2 - 10.1007/s11704-015-4364-y
DO - 10.1007/s11704-015-4364-y
M3 - 文章
AN - SCOPUS:84952630628
SN - 2095-2228
VL - 10
SP - 37
EP - 53
JO - Frontiers of Computer Science
JF - Frontiers of Computer Science
IS - 1
ER -