Please wait a minute...
Frontiers of Computer Science

ISSN 2095-2228

ISSN 2095-2236(Online)

CN 10-1014/TP

Postal Subscription Code 80-970

2018 Impact Factor: 1.129

Front. Comput. Sci.    2019, Vol. 13 Issue (4) : 698-714    https://doi.org/10.1007/s11704-017-6477-y
RESEARCH ARTICLE
Template-based AADL automatic code generation
Kai HU1, Zhangbo DUAN1, Jiye WANG2, Lingchao GAO3, Lihong SHANG1()
1. State Key Laboratory of Software Development Environment, Beihang University, Beijing 100083, China
2. State Grid Corporation of China, Beijing 100031, China
3. Beijing China-Power Information Technology Co., Ltd, State Grid Information & Telecommunication Group, Beijing 100192, China
 Download: PDF(660 KB)  
 Export: BibTeX | EndNote | Reference Manager | ProCite | RefWorks
Abstract

Embedded real-time systems employ a variety of operating system platforms. Consequently, for automatic code generation, considerable redevelopment is needed when the platform changes. This results in major challenges with respect to the automatic code generation process of the architecture analysis and design language (AADL). In this paper, we propose a method of template-based automatic code generation to address this issue. Templates are used as carriers of automatic code generation rules from AADL to the object platform. These templates can be easily modified for different platforms. Automatic code generation for different platforms can be accomplished by formulating the corresponding generation rules and transformation templates. We design a set of code generation templates from AADL to the object platform and develop an automatic code generation tool. Finally, we take a typical data processing unit (DPU) system as a case study to test the tool. It is demonstrated that the autogenerated codes can be compiled and executed successfully on the object platform.

Keywords real-time system      template      formal methods      AADL      automatic code generation     
Corresponding Author(s): Lihong SHANG   
Just Accepted Date: 28 March 2017   Online First Date: 02 April 2018    Issue Date: 29 May 2019
 Cite this article:   
Kai HU,Zhangbo DUAN,Jiye WANG, et al. Template-based AADL automatic code generation[J]. Front. Comput. Sci., 2019, 13(4): 698-714.
 URL:  
https://academic.hep.com.cn/fcs/EN/10.1007/s11704-017-6477-y
https://academic.hep.com.cn/fcs/EN/Y2019/V13/I4/698
1 KHu, TZhang, ZYang, W T Tsai. Simulation of real-time systems with clock calculus. Simulation Modelling Practice & Theory, 2015, 51: 69–86
https://doi.org/10.1016/j.simpat.2014.10.010
2 BLewis. Architecture based model driven software and system development for real-time embedded systems. Lecture Notes in Computer Science, 2004, 2941: 249–260
https://doi.org/10.1007/978-3-540-24626-8_17
3 KHu, LLei, W TTsai. Multi-tenant Verification-as-a-Service (VaaS) in a cloud. Simulation Modelling Practice & Theory, 2016, 60: 122–143
https://doi.org/10.1016/j.simpat.2015.09.003
4 SAE AS5506. Architecture Analysis and Design Language (AADL). SAE International, 2005
5 SAE AS5506A. Architecture Analysis and Design Language (AADL) Standard, Version 2. SAE International, 2008
6 KHu, TZhang, ZYang, W T Tsai. Exploring AADL verification tool through model transformation. Journal of Systems Architecture, 2015, 61(3–4): 141–156
https://doi.org/10.1016/j.sysarc.2015.02.003
7 SAE AS5506 Annex: Behavior Specification v2.0. 2011
8 R BFranca, J P Bodeveix, MFilali, J FRolland. The AADL behaviour annex – experiments and roadmap. In: Proceedings of the 12th IEEE International Conference on Engineering Complex Computer Systems. 2007, 377–382
https://doi.org/10.1109/ICECCS.2007.41
9 KHu, TZhang, ZYang. Multi-threaded code generation from Signal program to OpenMP. Frontiers of Computer Science, 2013, 7(5): 617–626
https://doi.org/10.1007/s11704-013-3906-4
10 KLundqvist, L Asplund, SMitchell. A formal model of the Ada Ravenscar tasking profile; protected objects. In: Proceedings of the International Conference on Reliable Software Technologies. 1999, 12–25
https://doi.org/10.1007/3-540-48753-0_2
11 MBrun, J Delatour, YTrinquet. Code generation from aadl to a realtime operating system: an experimentation feedback on the use of model transformation. In: Proceedings of the 13th IEEE International Conference on Engineering of Complex Computer Systems. 2008: 257–262
12 PDissaux, F Singhoff. Stood and cheddar: AADL as a pivot language for analysing performances of real time architectures. In: Proceedings of the European Real Time System Conference. 2008
13 YTao. Model verification and code generation technology of AADL. Chengdu: University of Electronic Science and Technology of China, 2009
14 RVarona-Gomez, EVillar. AADL simulation and performance analysis in SystemC. In: Proceedings of the 14th IEEE International Conference on Engineering of Complex Computer Systems. 2009: 323–328
https://doi.org/10.1109/ICECCS.2009.11
15 EJahier, N Halbwachs, PRaymond, XNicollin, DLesens. Virtual execution of AADL models via a translation into synchronous programs. In: Proceedings of the 7th ACM & IEEE International Conference on Embedded Software. 2007, 134–143
https://doi.org/10.1145/1289927.1289951
16 MOuimet, K Lundqvist, MNolin. The timed abstract state machine language: an executable specification language for reactive real-time systems. In: Proceedings of the 15th International Conference on Real- Time and Network Systems. 2007
17 EBörger, R Stärk. Abstract State Machines: A Method for High-Level System Design and Analysis. Springer Science & Business Media, 2012
18 ZYang, KHu, DMa, LPi. Towards a formal semantics for the AADL behavior annex. In: Proceedings of the Conference on Design, Automation and Test in Europe. 2009, 1166–1171
19 LPi, ZYang, J PBodeveix, MFilali, KHu, DMa. A comparative study of FIACRE and TASM to define AADL real time concepts. In: Proceedings of the 14th IEEE International Conference on Engineering of Complex Computer Systems. 2009, 347–352
https://doi.org/10.1109/ICECCS.2009.9
20 LPi, J P Bodeveix, MFilali. A comparative study of different formalisms to define AADL data communication. Seminaire, 2009
21 J PBodeveix, D Chemouil, MFilali, MStrecker. Towards formalising AADL in proof assistants. Electronic Notes in Theoretical Computer Science, 2005, 141(3): 153–169
https://doi.org/10.1016/j.entcs.2005.05.008
22 MFilali-Amine, JLawall. Development of a synchronous subset of AADL. In: Proceedings of the International Conference on Abstract State Machines, Alloy, B and Z. 2010, 245–258
https://doi.org/10.1007/978-3-642-11811-1_19
23 PFarail, P Gaufillet, ACanals, C LCamus, D Sciamma, PMichel, XCrégut, MPantel. The TOPCASED project: a toolkit in open source for critical aeronautic systems design. European Congress Embedded Real Time Software, 2006, 781(55–59): 82
24 ZYang, KHu, DMa, J P Bodeveix, LPi, J PTalpin. From AADL to timed abstract state machines: a verified model transformation. Journal of Systems and Software, 2014, 93: 42–68
https://doi.org/10.1016/j.jss.2014.02.058
[1] Syed Farooq ALI, Muhammad Aamir KHAN, Ahmed Sohail ASLAM. Fingerprint matching, spoof and liveness detection: classification and literature review[J]. Front. Comput. Sci., 2021, 15(1): 151310-.
[2] Yuanrui ZHANG, Frédéric MALLET, Yixiang CHEN. A verification framework for spatio-temporal consistency language with CCSL as a specification language[J]. Front. Comput. Sci., 2020, 14(1): 105-129.
[3] Thierry GAUTIER, Clément GUY, Alexandre HONORAT, Paul LE GUERNIC, Jean-Pierre TALPIN, Loïc BESNARD. Polychronous automata and their use for formal validation of AADL models[J]. Front. Comput. Sci., 2019, 13(4): 677-697.
[4] Jing LIU, Tengfei LI, Zuohua DING, Yuqing QIAN, Haiying SUN, Jifeng HE. AADL+: a simulation-based methodology for cyber-physical systems[J]. Front. Comput. Sci., 2019, 13(3): 516-538.
[5] Zhibin YANG,Jean-Paul BODEVEIX,Mamoun FILALI,Kai HU,Yongwang ZHAO,Dianfu MA. Towards a verified compiler prototype for the synchronous language SIGNAL[J]. Front. Comput. Sci., 2016, 10(1): 37-53.
[6] Luxi CHEN,Linpeng HUANG,Chen LI,Tao ZAN. Integrating behavior analysis into architectural modeling[J]. Front. Comput. Sci., 2015, 9(1): 15-33.
[7] Yuanjie SI, Jun SUN, Yang LIU, Jin Song DONG, Jun PANG, Shao Jie ZHANG, Xiaohu YANG. Model checking with fairness assumptions using PAT[J]. Front. Comput. Sci., 2014, 8(1): 1-16.
[8] Huafeng YU, Yue MA, Thierry GAUTIER, Lo?c BESNARD, Jean-Pierre TALPIN, Paul Le GUERNIC, Yves SOREL. Exploring system architectures in AADL via Polychrony and SynDEx[J]. Front Comput Sci, 2013, 7(5): 627-649.
[9] Qi LI, Wei BA. A group priority earliest deadline first scheduling algorithm[J]. Front Comput Sci, 2012, 6(5): 560-567.
[10] Wei GAO, Hai JIN, Song WU, Xuanhua SHI, Jinyan YUAN. Effectively deploying services on virtualization infrastructure[J]. Front Comput Sci, 2012, 6(4): 398-408.
[11] Dongsheng WANG. Answering contextual questions based on ontologies and question templates[J]. Front Comput Sci Chin, 2011, 5(4): 405-418.
[12] Zheng FU, Graeme SMITH. Property transformation under specification change[J]. Front Comput Sci Chin, 2011, 5(1): 1-13.
[13] ZHANG Jian, ZHANG Wenhui, ZHAN Naijun, SHEN Yidong, CHEN Haiming, ZHANG Yunquan, WANG Yongji, WU Enhua, WANG Hongan, ZHU Xueyang. Basic research in computer science and software engineering at SKLCS[J]. Front. Comput. Sci., 2008, 2(1): 1-11.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed