当前位置: X-MOL 学术Sci. Comput. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Verification of concurrent code from synchronous specifications
Science of Computer Programming ( IF 1.3 ) Pub Date : 2021-02-15 , DOI: 10.1016/j.scico.2021.102625
Kai Hu , Teng Zhang , Yi Ding , Jian Zhu , Jean-pierre Talpin

The synchronous language SIGNAL is a formal specification formalism for developing safety-critical real-time systems. It is a multi-clocked data-flow modeling language suitable for specifying deterministic concurrent behaviors. Its model of computation and communication very well matches recent trends to utilize multi-core processors for executing real-time systems, by taking advantage of its concurrent semantics. The SIGNAL compiler generates code from data-flow specifications while analyzing and verifying safety properties of the system under design: deadlock-freedom, determinism. However, most of recent works have focused on generating sequential code from SIGNAL. Choosing the parallel library OpenMP as the target, this paper proposes a methodology to generate and verify concurrent code automatically from SIGNAL specifications. This is done by first exploring clock relations among signals by application of a so-called clock calculus. Then, specifications are translated into EDGs (Equation-Dependency Graphs) to analyze global data-dependency relations. An EDG is then partitioned into concurrent tasks to help explore parallelism in the original specification while preserving its semantic. Combined with clock relations, parallel tasks are finally mapped onto the OpenMP structures. The proposed approach is illustrated by a realistic case study.



中文翻译:

根据同步规范验证并发代码

同步语言SIGNAL是用于开发安全关键型实时系统的正式规范形式。它是一种适用于指定确定性并发行为的多时钟数据流建模语言。它的计算和通信模型非常符合最新趋势,可以利用其并发语义来利用多核处理器执行实时系统。SIGNAL编译器根据数据流规范生成代码,同时分析和验证所设计系统的安全特性:无死锁,确定性。但是,最近的大多数工作都集中在从SIGNAL生成顺序代码上。选择并行库OpenMP作为目标,本文提出了一种根据SIGNAL规范自动生成和验证并发代码的方法。这是通过首先利用所谓的时钟演算来探索信号之间的时钟关系来完成的。然后,将规范转换为EDG(方程相关图)来分析全局数据相关关系。然后将EDG划分为多个并发任务,以帮助探索原始规范中的并行性,同时保留其语义。结合时钟关系,并行任务最终被映射到OpenMP结构上。实际案例研究说明了所提出的方法。然后将EDG划分为多个并发任务,以帮助探索原始规范中的并行性,同时保留其语义。结合时钟关系,并行任务最终被映射到OpenMP结构上。实际案例研究说明了所提出的方法。然后将EDG划分为多个并发任务,以帮助探索原始规范中的并行性,同时保留其语义。结合时钟关系,并行任务最终被映射到OpenMP结构上。实际案例研究说明了所提出的方法。

更新日期:2021-02-24
down
wechat
bug