Skip to main content
Log in

Template-based AADL automatic code generation

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. 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

    Article  Google Scholar 

  2. Lewis B. Architecture Based model driven software and system development for real-time embedded systems. Lecture Notes in Computer Science, 2004, 2941: 249–260

    Article  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. SAE AS5506. Architecture Analysis and Design Language (AADL). SAE International, 2005

    Google Scholar 

  5. SAE AS5506A. Architecture Analysis and Design Language (AADL) Standard, Version 2.SAE International, 2008

    Google Scholar 

  6. 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

    Article  Google Scholar 

  7. SAE AS5506 Annex: Behavior Specification v2.0. 2011

  8. 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

    Google Scholar 

  9. Hu K, Zhang T, Yang Z. Multi-threaded code generation from Signal program to OpenMP. Frontiers of Computer Science, 2013, 7(5): 617–626

    Article  MathSciNet  Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Google Scholar 

  13. Tao Y. Model verification and code generation technology of AADL. Chengdu: University of Electronic Science and Technology of China, 2009

    Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Chapter  Google Scholar 

  16. 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

    Google Scholar 

  17. Börger E, Stärk R. Abstract State Machines: A Method for High-Level System Design and Analysis. Springer Science & Business Media, 2012

    MATH  Google Scholar 

  18. 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

    Google Scholar 

  19. 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

    Google Scholar 

  20. Pi L, Bodeveix J P, Filali M. A comparative study of different formalisms to define AADL data communication. Seminaire, 2009

    Google Scholar 

  21. 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

    Article  Google Scholar 

  22. 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

    Chapter  Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Lihong Shang.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-017-6477-y

Keywords

Navigation