Multi-threaded Code Generation Tool for Synchronous Language
Author:
Affiliation:

Clc Number:

TP311

Fund Project:

National Natural Science Foundation of China (61502231); National Key Research and Development Program of China (2016YFB1000802); National Defense Basic Scientific Research Project under Grant of China (JCKY2016203B011); Natural Science Foundation of Jiangsu Province, China (BK20150753); Fundamental Research Funds for the Central Universities (NP2017205); Joint Research Funds of National Natural Science Foundation of China and Civil Aviation Administration of China (U1533130); Foundation of Graduate Innovation Center in NUAA (kfjj20181603)

  • Article
  • |
  • Figures
  • |
  • Metrics
  • |
  • Reference
  • |
  • Related
  • |
  • Cited by
  • |
  • Materials
  • |
  • Comments
    Abstract:

    Multi-core processors are being widely used in safety-critical systems, due to the demands of higher computation performance when designing these systems, and strengths of multi-core processors, such as faster computation and SWaP (size, weight, and power) properties. Synchronous languages are suitable for modeling and verification of safety-critical software due to their abilities, e.g. the description of concurrency behaviors and precise timing semantics. At present, the SIGNAL compiler supports to generate the sequential code from synchronous specification. The existing studies pay a little attention to the generation of parallel code from SIGNAL specification. The paper presents a multi-threaded code generation tool for synchronous language. Firstly, the SIGNAL specification is transformed into the intermediate program S-CGA and is carried out the clock calculus. After that, the S-CGA program is transformed into CDDG (clock data dependency graph). Then, the CDDG is partitioned by topological sort, after which an optimized algorithm and a partition algorithm are respectively proposed based on pipeline-style. Finally, the partition results are transformed to VMT (virtual multi-threaded) code which is then transformed into executable multi-threaded C/Java program. The experiment running on multi-core CPUs is given to verify the effectiveness of the proposed methodology.

    Reference
    Related
    Cited by
Get Citation

杨志斌,袁胜浩,谢健,周勇,陈哲,薛垒,Jean-Paul BODEVIX, Mamoun FILALI.一种同步语言多线程代码自动生成工具.软件学报,2019,30(7):1980-2002

Copy
Share
Article Metrics
  • Abstract:
  • PDF:
  • HTML:
  • Cited by:
History
  • Received:July 15,2018
  • Revised:September 28,2018
  • Adopted:
  • Online: April 03,2019
  • Published:
You are the firstVisitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063