Skip to main content
Log in

System-level design based on UML/MARTE for FPGA-based embedded real-time systems

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

This paper discusses an approach to generate VHDL descriptions from high-level specifications, namely UML/MARTE models that include aspect-oriented semantics. Standard UML diagrams describe the handling of functional requirements, whereas crosscutting concerns associated with the non-functional requirements are handled by aspects. UML-to-VHDL transformation is performed automatically by a script-based code generation tool named GenERTiCA. For that, mapping rules scripts define how to generate VHDL constructs from model elements, including the implementation of aspects adaptations. The generated VHDL description does not require any manual modification, in order to be fully synthesized onto a FPGA device. Some case studies have been performed to evaluate the proposed approach, including examples of real systems implemented as a FPGA-based embedded system. Obtained results show an improvement in system design in terms of an increase in system performance as well as a better utilization of FPGA reconfigurable resources. Such positive results are related to a better modularization of components achieved by using the proposed high-level approach. These case studies demonstrate the practicability of full translation of platform-independent specifications into VHDL descriptions.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. In this text, a “method” encapsulates a behavior of the object that is executed in response to a message sent from other object.

  2. The generated VHDL description was synthesized, uploaded and executed on a FPGA development kit without any manual modification.

  3. E.g. model, source code, description of components, etc.

  4. Such a behavior is a limitation of the used FPGA development board.

  5. In a synchronous method call, the execution of caller method stops when the method call occurs and continues only after the called method finishes its execution; in an asynchronous method call, the caller method continues executing its behavior after the method call, and the called method executes its behavior in parallel.

  6. An active object executes autonomously its behaviors in parallel with other active objects. A passive object only execute its behaviors in response to method calls from other objects.

  7. This new aspect has been proposed in this work.

  8. Such a component must be an IP available in the library of the chosen FPGA platform.

  9. 300 % increase in IOB metric in V2 was included in this average amount.

  10. i.e. mapping rules scripts for these adaptations have been completely written once.

  11. The case studies presented in [32] are: (i) the movement control of an unmanned helicopter; (ii) the control systems of an industrial packing system; and (iii) the control system of an electric wheelchair. Those systems are larger and more complex than the ones presented here.

References

  1. Burns W (1994) HRT-HOOD: a structured design method for hard real-time systems. Real-Time Syst 6(1):73–114. doi:10.1007/BF01245300

    Article  Google Scholar 

  2. Cardoso JAM et al (2012) LARA: an aspect-oriented programming language for embedded systems. In: Proceedings of the 11th annual international conference on aspect-oriented Software Development, ACM, New York, AOSD ’12, pp 179–190. doi:10.1145/2162049.2162071

  3. Ciccozzi F, Sjodin M (2012) Enhancing the generation of correct-by-construction code from design models for complex embedded systems. In: IEEE conference on emerging technologies factory automation (ETFA), pp 1–4. doi:10.1109/ETFA.2012.6489716

  4. Ciccozzi F, Cicchetti A, Krekola M, Sjodin M (2011) Generation of correct-by-construction code from design models for embedded systems. In: Industrial embedded systems (SIES), 2011 6th IEEE international symposium on, pp 63–66. doi:10.1109/SIES.2011.5953681

  5. Ebeid E, Fummi F, Quaglia D (2015) Hdl code generation from uml/marte sequence diagrams for verification and synthesis. Design automation for embedded systems pp 1–23. doi:10.1007/s10617-014-9158-1

  6. Elhaji M et al (2012) System level modeling methodology of noc design from uml-marte to vhdl. Des Autom Embed Syst 16(4):161–187. doi:10.1007/s10617-012-9101-2

    Article  Google Scholar 

  7. Elrad T (2001) Discussing aspects of AOP. Commun ACM 44(10):33–38. doi:10.1145/383845.383854

    Article  Google Scholar 

  8. Engel M, Spinczyk O (2008) Aspects in hardware: what do they look like? In: Proceedings of the 2008 AOSD workshop on aspects, components, and patterns for infrastructure software, ACM, New York, ACP4IS ’08, pp 5:1–5:6

  9. Figueiredo E et al (2008) On the maintainability of aspect-oriented software: a concern-oriented measurement framework. In: 12th European conference on software maintenance and reengineering, pp 183–192. doi:10.1109/CSMR.2008.4493313

  10. Freitas EP, Wehrmeister MA, Silva Jr ET, Carvalho FC, Pereira CE, Wagner FR (2007) DERAF: a high-level aspects framework for distributed embedded real-time systems design. In: Moreira A, Grundy J (eds) Early aspects: current challenges and future directions, LNCS, vol 4765, Springer Berlin Heidelberg, pp 55–74. doi:10.1007/978-3-540-76811-1_4

  11. Habermann AN, Flon L, Cooprider L (1976) Modularization and hierarchy in a family of operating systems. Commun ACM 19(5):266–272. doi:10.1145/360051.360076

    Article  MATH  Google Scholar 

  12. Hästbacka D et al (2011) Model-driven development of industrial process control applications. J Syst Softw 84(7):1100–1113. doi:10.1016/j.jss.2011.01.063

    Article  Google Scholar 

  13. Kiczales G et al (1997) Aspect-oriented programming. In: Proceedings of European conference on object-oriented programming. Springer, Berlin, pp 220–242

  14. Leite M, Wehrmeister MA (2014) Aspect-oriented model-driven engineering for FPGA/VHDL based embedded real-time systems. In: International symposium object-oriented real-time distributed computing (ISORC), IEEE Computer Society, pp 261–268. doi:10.1109/ISORC.2014.45

  15. Leite M, Damiani CV, Wehrmeister MA (2014) Enhancing automatic generation of VHDL descriptions from UML/MARTE models. In: Proceedings of international conference on industrial informatics (INDIN’14), IEEE Eletronics Society, Piscataway, NY, pp 1–5

  16. McUmber W, Cheng BHC (1999) Uml-based analysis of embedded systems using a mapping to vhdl. In: IEEE international symposium on high-assurance systems engineering, pp 56–63. doi:10.1109/HASE.1999.809475

  17. Meier M, Hanenberg S, Spinczyk O (2012) AspectVHDL stage 1: the prototype of an aspect-oriented hardware description language. In: Proceedings of the 2012 workshop on modularity in systems software, ACM, New York, MISS ’12, pp 3–8. doi:10.1145/2162024.2162028

  18. Mohagheghi P et al (2013) An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases. Empir Softw Eng 18(1):89–116. doi:10.1007/s10664-012-9196-x

    Article  Google Scholar 

  19. Monmasson E, Cirstea M (2007) FPGA design methodology for industrial control systems—a review. Ind Electron, IEEE Trans 54(4):1824–1842. doi:10.1109/TIE.2007.898281

    Article  Google Scholar 

  20. Moreira T et al (2010) Automatic code generation for embedded systems: from UML specifications to VHDL code. In: Proceedings of 8th IEEE international conference on industrial informatics (INDIN), pp 1085–1090. doi:10.1109/INDIN.2010.5549590

  21. Moreira TG (2012) Geração Automática de Código VHDL a partir de Modelos UML para Sistemas Embarcados de Tempo-Real. Master thesis (in portuguese), UFRGS, Porto Alegre. http://hdl.handle.net/10183/55444

  22. Muck T, Gernoth M, Schroder-Preikschat W, Frohlich A (2011) A case study of AOP and OOP applied to digital hardware design. In: Brazilian symposium on computing system engineering (SBESC), pp 66–71. doi:10.1109/SBESC.2011.23

  23. Park SH (2006) ADH, aspect described hardware-description-language. Master of engineering, University of Canterbury, College of Engineering, Christchurch. http://hdl.handle.net/10092/1113

  24. Quadri I et al (2008) MARTE based modeling approach for partial dynamic reconfigurable FPGAs. In: Proceedings of embedded systems for real-time multimedia, pp 47–52. doi:10.1109/ESTMED.2008.4696994

  25. Salewski F, Taylor A (2008) Systematic considerations for the application of FPGAs in industrial applications. In: IEEE international symposium on industrial electronics, pp 2009–2015. doi:10.1109/ISIE.2008.4677068

  26. Vanderperren Y, Mueller W, Dehaene W (2008) Uml for electronic systems design: a comprehensive overview. Des Autom Embed Syst 12(4):261–292. doi:10.1007/s10617-008-9028-9

    Article  Google Scholar 

  27. Vidal J et al (2009) A co-design approach for embedded system modeling and code generation with uml and marte. In: Design, automation test in Europe conference exhibition (DATE), pp 226–231. doi:10.1109/DATE.2009.5090662

  28. Wang Z et al (2008) A model driven development approach for implementing reactive systems in hardware. In: Proceedings of specification, verification and design languages (FDL), pp 197 –202. doi:10.1109/FDL.2008.4641445

  29. Wehrmeister M, Freitas E, Pereira C, Rammig F (2008) GenERTiCA: a tool for code generation and aspects weaving. In: International symposium object-oriented real-time distributed computing (ISORC), IEEE Computer Society, pp 234–238. doi:10.1109/ISORC.2008.67

  30. Wehrmeister M, Freitas E, Pereira C (2009) An infrastructure for uml-based code generation tools. In: Rettberg A, Zanella M, Amann M, Keckeisen M, Rammig F (eds) Analysis, architectures and modelling of embedded systems, IFIP advances in information and communication technology, vol 310. Springer, Berlin Heidelberg, pp 32–43. doi:10.1007/978-3-642-04284-3_4

    Google Scholar 

  31. Wehrmeister MA, Leite M (2014) On generating VHDL descriptions from aspect-oriented UML/MARTE models. In: Proceedings of the Brazilian symposium on computing system engineering (SBESC), IEEE Computer Society, pp 1–6

  32. Wehrmeister MA, Pereira CE, Rammig F (2013) Aspect-oriented model-driven engineering for embedded systems applied to automation systems. IEEE Trans Ind Inf 9(4):2373–2386. doi:10.1109/TII.2013.2240308

    Article  Google Scholar 

  33. Wehrmeister MA, de Freitas EP, Binotto APD, Pereira CE (2014) Combining aspects and object-orientation in model-driven engineering for distributed industrial mechatronics systems. Mechatronics 24(7):844–865. doi:10.1016/j.mechatronics.2013.12.008

    Article  Google Scholar 

  34. Wood S et al (2008) A model-driven development approach to mapping uml state diagrams to synthesizable vhdl. IEEE Trans Comput 57(10):1357–1371. doi:10.1109/TC.2008.123

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

This work is supported by National Council for Scientific and Technological Development (CNPq-Brazil) through the Grant 480321/2011-6.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marco Aurélio Wehrmeister.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Leite, M., Wehrmeister, M.A. System-level design based on UML/MARTE for FPGA-based embedded real-time systems. Des Autom Embed Syst 20, 127–153 (2016). https://doi.org/10.1007/s10617-016-9172-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-016-9172-6

Keywords

Navigation