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 auto-generated codes can be compiled and executed successfully on the object platform.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Hu K, Zhang T, Yang Z, Tsai W T. Simulation of real-time systems with clock calculus. Simulation Modelling Practice & Theory, 2015, 51: 69–86
Lewis B. Architecture Based model driven software and system development for real-time embedded systems. Lecture Notes in Computer Science, 2004, 2941: 249–260
Hu K, Lei L, Tsai W T. Multi-tenant Verification-as-a-Service (VaaS) in a cloud. Simulation Modelling Practice & Theory, 2016, 60: 122–143
SAE AS5506. Architecture Analysis and Design Language (AADL). SAE International, 2005
SAE AS5506A. Architecture Analysis and Design Language (AADL) Standard, Version 2.SAE International, 2008
Hu K, Zhang T, Yang Z, Tsai W T. Exploring AADL verification tool through model transformation. Journal of Systems Architecture, 2015, 61(3–4): 141–156
SAE AS5506 Annex: Behavior Specification v2.0. 2011
Franca R B, Bodeveix J P, Filali M, Rolland J F. The AADL behaviour annex–experiments and roadmap. In: Proceedings of the 12th IEEE International Conference on Engineering Complex Computer Systems. 2007, 377–382
Hu K, Zhang T, Yang Z. Multi-threaded code generation from Signal program to OpenMP. Frontiers of Computer Science, 2013, 7(5): 617–626
Lundqvist K, Asplund L, Mitchell S. A formal model of the Ada Ravenscar tasking profile; protected objects. In: Proceedings of the International Conference on Reliable Software Technologies. 1999, 12–25
Brun M, Delatour J, Trinquet Y. 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
Dissaux P, Singhoff F. 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
Tao Y. Model verification and code generation technology of AADL. Chengdu: University of Electronic Science and Technology of China, 2009
Varona-Gomez R, Villar E. AADL simulation and performance analysis in SystemC. In: Proceedings of the 14th IEEE International Conference on Engineering of Complex Computer Systems. 2009: 323–328
Jahier E, Halbwachs N, Raymond P, Nicollin X, Lesens D. 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
Ouimet M, Lundqvist K, Nolin M. 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
Börger E, Stärk R. Abstract State Machines: A Method for High-Level System Design and Analysis. Springer Science & Business Media, 2012
Yang Z, Hu K, Ma D, Pi L. Towards a formal semantics for the AADL behavior annex. In: Proceedings of the Conference on Design, Automation and Test in Europe. 2009, 1166–1171
Pi L, Yang Z, Bodeveix J P, Filali M, Hu K, Ma D. 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
Pi L, Bodeveix J P, Filali M. A comparative study of different formalisms to define AADL data communication. Seminaire, 2009
Bodeveix J P, Chemouil D, Filali M, Strecker M. Towards formalising AADL in proof assistants. Electronic Notes in Theoretical Computer Science, 2005, 141(3): 153–169
Filali-Amine M, Lawall J. Development of a synchronous subset of AADL. In: Proceedings of the International Conference on Abstract State Machines, Alloy, B and Z. 2010: 245–258
Patrick F, Pierre Gt. Agusti C, Christophe L C, David S, Pierre M, Xavier C, Marc P. The TOPCASED project: a toolkit in open source for critical aeronautic systems design. In: Proceedings of the 3rd European Congress Embedded Real Time Software. 2006, 55–59
Yang Z, Hu K, Ma D, Bodeveix J P, Pi L, Talpin J P. From AADL to timed abstract state machines: a verified model transformation. Journal of Systems and Software, 2014, 93: 42–68
Acknowledgements
This work was partially supported by the National Natural Science Foundation of China (Grant Nos. 61672074 and 91538202), Project of the State Key Laboratory of Software Development Environment of China (SKLSDE-2016ZX-16).
Author information
Authors and Affiliations
Corresponding author
Additional information
Kai Hu is a professor at Beihang University, China. He received his PhD degree from Beihang University in 2001. From 2001 to 2004, he did the post-doctoral research at Nanyang Technological University, Singapore. Since 2004, he is the leader of the team of LDMC in the Institute of Computer Architecture (ICA), Beihang University. His research interests concern embedded real time systems and high performance computing. He has good cooperation with IRIT and INRIA Institute of France on study of AADL and synchronous languages.
Zhangbo Duan received his BE degree from Beihang University, China in 2015. In the undergraduate period, he is sent to Institut National des Sciences Appliquées (INSA) Toulouse for an exchange study by China Scholarship Council. He is now a graduate student at Beihang University. His research interests include BlockChain, AADL and formal methods.
Jiye Wang is currently a professor-level senior engineer. His research interests include information management of power systems, smart grid, information security and the next generation energy system.
Lingchao Gao a currently a senior engineer. His research interests include smart grid, big data analytics, cloud computing and blockchain.
Lihong Shang is an associate professor at Beihang University, China. He received his PhD degree from Beihang University in 2001. His research interests include embedded systems and avionics system.
Electronic supplementary material
Rights and permissions
About this article
Cite this article
Hu, K., Duan, Z., Wang, J. et al. Template-based AADL automatic code generation. Front. Comput. Sci. 13, 698–714 (2019). https://doi.org/10.1007/s11704-017-6477-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-017-6477-y