Towards a verified compiler prototype for the synchronous language SIGNAL

  • Zhibin Yang
  • , Jean Paul Bodeveix
  • , Mamoun Filali
  • , Kai Hu*
  • , Yongwang Zhao
  • , Dianfu Ma
  • *Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)37-53
Number of pages17
JournalFrontiers of Computer Science
Volume10
Issue number1
DOIs
StatePublished - 1 Feb 2016

Keywords

  • Coq
  • SIGNAL
  • architecture analysis and design language (AADL)
  • guarded actions
  • synchronous languages
  • verified compiler

Fingerprint

Dive into the research topics of 'Towards a verified compiler prototype for the synchronous language SIGNAL'. Together they form a unique fingerprint.

Cite this