Automatic code generation for embedded systems: From UML specifications to VHDL code

The design of modern embedded systems becomes more complex every day, due to the increasing amount of components and distinct functionalities incorporated into a single system. To address this situation, projects' abstraction level is continuously raised. In addition, techniques to speed up the code production process have emerged. These new trends lead to an important issue: the development of a consistent engineering process for systems co-design, from the requirements phase to the source code production. In this context, the UML is an interesting option for the embedded systems projects, leading to techniques to generate source code for both hardware and software. Currently, there are some works and commercial tools to generate source code from UML specifications to mainstream languages, such as C++ and Java. However, there are few works addressing the automatic source code generation for VHDL language, which is widely used in the embedded systems development. Thus, this work proposes a methodology to generate automatically VHDL source code from UML specifications. This methodology is supported by the GenERTiCA tool. A use case focused on the use of embedded systems for the maintenance systems is presented in this paper to demonstrate the feasibility of the proposed approach.

[1]  Frank P. Coyle,et al.  From UML to HDL : a Model Driven Architectural Approach to Hardware-Software Co-Design , 2005 .

[2]  Betty H. C. Cheng,et al.  UML-based analysis of embedded systems using a mapping to VHDL , 1999, Proceedings 4th IEEE International Symposium on High-Assurance Systems Engineering.

[3]  Luigi Carro,et al.  DISTRIBUTED REAL-TIME EMBEDDED SYSTEMS: RECENT ADVANCES, FUTURE TRENDS AND THEIR IMPACT ON MANUFACTURING PLANT CONTROL , 2006 .

[4]  Rajesh Gupta,et al.  Hardware/software co-design , 1996, Proc. IEEE.

[5]  Benoît Iung,et al.  Distributed intelligent actuation and measurement (IAM) system within an integrated shop-floor organisation , 1998 .

[6]  Luigi Carro,et al.  Distributed real-time embedded systems: Recent advances, future trends and their impact on manufacturing plant control , 2007, Annu. Rev. Control..

[7]  Marco A. Wehrmeister,et al.  An Aspect-Oriented Approach for Dealing with Non-Functional Requirements in a Model-Driven Development of Distributed Embedded Real-Time Systems , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[8]  Marco A. Wehrmeister An aspect-oriented model-driven engineering approach for distributed embedded real-time systems , 2009 .

[9]  Marco A. Wehrmeister,et al.  GenERTiCA: A Tool for Code Generation and Aspects Weaving , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[10]  Tony Clark,et al.  Model-driven development - Guest editor's introduction , 2003 .

[11]  Alberto L. Sangiovanni-Vincentelli,et al.  The Tides of EDA , 2003, IEEE Des. Test Comput..

[12]  Marco A. Wehrmeister,et al.  DERAF: A High-Level Aspects Framework for Distributed Embedded Real-Time Systems Design , 2007, EA@AOSD.

[13]  W. Gareth J. Howells,et al.  A Model-Driven Development Approach to Mapping UML State Diagrams to Synthesizable VHDL , 2008, IEEE Transactions on Computers.

[14]  Quan Long,et al.  Consistent code generation from UML models , 2005, 2005 Australian Software Engineering Conference.

[15]  B. Iung,et al.  Engineering process of integrated – distributed shop floor architecture based on interoperable field components , 2001, Int. J. Comput. Integr. Manuf..