###
Journal of Software:2017.28(7):1698-1712

面向同步规范的并行代码自动生成
胡凯,张腾,尚利宏,杨志斌,Jean-PierreTALPIN
(软件开发环境国家重点实验室 北京航空航天大学 计算机学院, 北京 100191;南京航空航天大学 计算机学院, 江苏 南京 210016;Toulouse Institute of Computer Science Research, Toulouse, France;Institut National de Recherche en Informatique et en Automatique INRIA Rennes, Rennes, France)
Parallel Code Generation from Synchronous Specification
HU Kai,ZHANG Teng,SHANG Li-Hong,YANG Zhi-Bin,Jean-Pierre TALPIN
(State Key Laboratory of Software Development Environment School of Computer Science and Engineering, Beihang University, Beijing 100191, China;College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China;Toulouse Institute of Computer Science Research, Toulouse, France;Institut National de Recherche en Informatique et en Automatique INRIA;Rennes, Rennes, France)
Abstract
Chart / table
Reference
Similar Articles
Article :Browse 2464   Download 2721
Received:June 23, 2014    Revised:January 21, 2015
> 中文摘要: 随着对安全攸关实时系统功能与非功能要求的日益增加,使用多核技术将成为发展趋势.如何在多核平台条件下保证系统运行的可信任性及可靠性是学术上和应用上的关键问题.目前基于形式化方法的系统设计、验证以及自动代码生成已在单核平台上形成很多研究成果,但在多核平台上的研究仍面临许多科学问题.同步语言SIGNAL是一种被广泛应用于安全攸关实时系统功能设计的形式化方法,适用于对系统确定性并发行为的描述.SIGNAL编译器也支持将同步规范(synchronous specification)生成仿真代码,以对其进行验证与分析.然而,现有研究较少关注从SIGNAL同步规范到支持跨平台并行代码的生成方法.研究了面向SIGNAL同步规范的并行自动代码生成方法.提出了方程依赖图EDG的概念,将SIGNAL规范转换为EDG以分析其全局数据依赖关系;研究了对EDG进行任务划分获取规范中可以并行执行部分的算法;最后,以跨平台并行编程API-OpenMP作为对象,结合程序中信号的时钟关系,将并行任务映射到OpenMP并行代码,并进行了实例验证.
中文关键词: 同步规范  SIGNAL  并行程序  代码生成  OpenMP
Abstract:As functional and non-functional requirements on safety critical real time systems stack up, the development of multi-core technology in these systems has become a trend. How to guarantee the credibility and reliability on the multi-core platform, however, is the key problem in both academic and industry. While many theoretical and applied achievements have been accomplished on the single-core platform, there are still a lot of scientific problems need to be solved on the multi-core platform. Suitable for describing concurrency behaviors, synchronous language SIGNAL is a formalism widely used in the functional design of safety critical real time systems. The SIGNAL compiler supports generating the simulation code from the synchronous specification to verify and analyze the properties of the system model. However, existing studies pay less attention to the generation of multi-platform parallel simulation code from SIGNAL specification. This paper proposes a methodology for automatically generating parallel code from SIGNAL specifications. First, equation dependency graph (EDG) is defined and the specification is translated to analyze the global data dependency relations. Then EDG is partitioned to explore the parallelism of the specification. Finally, altogether with clock relations, parallel tasks are mapped into OpenMP structures. A case study is provided to illustrate the proposed methodology.
文章编号:     中图分类号:    文献标志码:
基金项目:国家自然科学基金(91538202,61672074);软件开发国家重点实验室基金(SKLSDE-2016ZX-16) 国家自然科学基金(91538202,61672074);软件开发国家重点实验室基金(SKLSDE-2016ZX-16)
Foundation items:National Natural Science Foundation of China (91538202, 61672074); State Key Laboratory of Software Development Environment of China (SKLSDE-2016ZX-16)
Reference text:

胡凯,张腾,尚利宏,杨志斌,Jean-Pierre TALPIN.面向同步规范的并行代码自动生成.软件学报,2017,28(7):1698-1712

HU Kai,ZHANG Teng,SHANG Li-Hong,YANG Zhi-Bin,Jean-Pierre TALPIN.Parallel Code Generation from Synchronous Specification.Journal of Software,2017,28(7):1698-1712