Template-based AADL automatic code generation

  • Kai Hu
  • Zhangbo Duan
  • Jiye Wang
  • Lingchao Gao
  • Lihong Shang
Research Article

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 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

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

Supplementary material

11704_2017_6477_MOESM1_ESM.ppt (312 kb)
Template-based AADL automatic code generation

References

  1. 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–86CrossRefGoogle Scholar
  2. 2.
    Lewis B. Architecture Based model driven software and system development for real-time embedded systems. Lecture Notes in Computer Science, 2004, 2941: 249–260CrossRefGoogle Scholar
  3. 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–143CrossRefGoogle Scholar
  4. 4.
    SAE AS5506. Architecture Analysis and Design Language (AADL). SAE International, 2005Google Scholar
  5. 5.
    SAE AS5506A. Architecture Analysis and Design Language (AADL) Standard, Version 2.SAE International, 2008Google Scholar
  6. 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–156CrossRefGoogle Scholar
  7. 7.
    SAE AS5506 Annex: Behavior Specification v2.0. 2011Google Scholar
  8. 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–382Google Scholar
  9. 9.
    Hu K, Zhang T, Yang Z. Multi-threaded code generation from Signal program to OpenMP. Frontiers of Computer Science, 2013, 7(5): 617–626MathSciNetCrossRefGoogle Scholar
  10. 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–25Google Scholar
  11. 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–262Google Scholar
  12. 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. 2008Google Scholar
  13. 13.
    Tao Y. Model verification and code generation technology of AADL. Chengdu: University of Electronic Science and Technology of China, 2009Google Scholar
  14. 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–328Google Scholar
  15. 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–143CrossRefGoogle Scholar
  16. 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. 2007Google Scholar
  17. 17.
    Börger E, Stärk R. Abstract State Machines: A Method for High-Level System Design and Analysis. Springer Science & Business Media, 2012Google Scholar
  18. 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–1171Google Scholar
  19. 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–352Google Scholar
  20. 20.
    Pi L, Bodeveix J P, Filali M. A comparative study of different formalisms to define AADL data communication. Seminaire, 2009Google Scholar
  21. 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–169CrossRefGoogle Scholar
  22. 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–258CrossRefGoogle Scholar
  23. 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–59Google Scholar
  24. 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–68CrossRefGoogle Scholar

Copyright information

© Higher Education Press and Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  • Kai Hu
    • 1
  • Zhangbo Duan
    • 1
  • Jiye Wang
    • 2
  • Lingchao Gao
    • 3
  • Lihong Shang
    • 1
  1. 1.State Key Laboratory of Software Development EnvironmentBeihang UniversityBeijingChina
  2. 2.State Grid Corporation of ChinaBeijingChina
  3. 3.Beijing China-Power Information Technology Co., LtdState Grid Information & Telecommunication GroupBeijingChina

Personalised recommendations