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.
Similar content being viewed by others
Notes
In this text, a “method” encapsulates a behavior of the object that is executed in response to a message sent from other object.
The generated VHDL description was synthesized, uploaded and executed on a FPGA development kit without any manual modification.
E.g. model, source code, description of components, etc.
Such a behavior is a limitation of the used FPGA development board.
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.
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.
This new aspect has been proposed in this work.
Such a component must be an IP available in the library of the chosen FPGA platform.
300 % increase in IOB metric in V2 was included in this average amount.
i.e. mapping rules scripts for these adaptations have been completely written once.
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
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
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
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
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
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
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
Elrad T (2001) Discussing aspects of AOP. Commun ACM 44(10):33–38. doi:10.1145/383845.383854
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
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
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
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
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
Kiczales G et al (1997) Aspect-oriented programming. In: Proceedings of European conference on object-oriented programming. Springer, Berlin, pp 220–242
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-016-9172-6