Towards automation of control software: A review of challenges in mechatronic design A.A. Alvarez Cabrera a, * , M.J. Foeken b , O.A. Tekin a , K. Woestenenk c , M.S. Erden a , B. De Schutter a , M.J.L. van Tooren b , R. Babuška a , F.J.A.M. van Houten c , T. Tomiyama a a Faculty of Mechanical, Maritime, and Materials Engineering, Delft University of Technology, Mekelweg 2, 2628 CD, Delft, The Netherlands b Faculty of Aerospace Engineering, Delft University of Technology, PO Box 5058, 2600 GB, Delft, The Netherlands c Faculty of Engineering Technology, University of Twente, PO Box 217, 7500 AE, Enschede, The Netherlands article info Keywords: Control software generation Design methods Design tools Development challenges Function modeling Integration Knowledge base Mechatronics abstract Development of mechatronic systems requires collaboration among experts from different design domains. In this paper the authors identify a set of challenges related to the design of mechatronic sys- tems. The challenges are mostly related to integration of design and analysis tools, and automation of current design practices. Addressing these challenges enables the adoption of a concurrent development approach in which the synergetic effects that characterize mechatronic systems are taken into account during design. The main argument is that in order to deal with software development problems for com- plex mechatronic systems, there is a need to look at system design practices beyond concurrency, i.e., there is a need to consider the complex interdependencies among subsystems and the designers that develop them. A review on current methods and tools is carried out to identify possible solutions pro- posed in previous works. The purpose is not to make an extensive review, but to show that integration, from different points of view, is a major issue and that increasing the level of abstraction in the descrip- tion of systems can help to overcome the integration challenges. An increased level of abstraction also forms a basis for addressing other issues in mechatronic product development, which are presented in this work. With that in mind, concepts for an integration framework are proposed. The goal of the frame- work is to support a multi-disciplinary design team to (almost) automatically generate and verify control software. Based on high-level architectural descriptions, the software generation and verification process can be supported by knowledge-based methods and tools. Other goals are to support communication among engineers, improve reliability of designs, increase reuse of design knowledge, and reduce devel- opment time and development costs. Ó 2010 Elsevier Ltd. All rights reserved. 1. Introduction Developing mechatronic products requires intensive collabora- tion between engineers of the mechanical, electronic, control, and software domains in a design team [1–3]. A central issue is that de- sign decisions cannot be taken from the point of view of a single domain, as often they will have an impact in other domains. The procedure in traditional sequential design is that the mechanical design has to be ‘‘frozen” before proceeding to the design of control software. This responds to the required preparations for produc- tion of the hardware, while for the software still last-minute changes may occur, sometimes to fix problems from the rest of the design. This approach usually does not lead to optimal overall behavior, since it does not properly address the interaction among mechanical, electronic, and control behaviors. Furthermore, it does not reflect the importance of software design, which can have a major impact on overall system design and performance. Therefore, there is a need for a concurrent engineering approach with a highly integrated development strategy [4,5], where design freeze is based on multi-disciplinary objective and constraint eval- uation. Such an approach is referred to as a mechatronic design ap- proach by multiple authors [3,6,7]. The idea that mechatronic design must be considered as a whole has been well known for some time now, as Ziegler and Nichols [8] commented in 1943: ‘‘In the application of automatic controllers, it is important to real- ize that controller and process form a unit; credit or discredit for results obtained are attributable to one as much as the other.” This paper describes the challenges related to the use of this mechatronic design approach and its relations to software genera- tion. The authors revise current solutions and propose extensions and combinations of them. It is concluded that methods based on higher abstraction levels play an important role, but that their implementation is an issue. Furthermore, it is shown that 0957-4158/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.mechatronics.2010.05.003 * Corresponding author. Tel.: +31 15 278 5608; fax: +31 15 278 4717. E-mail address: a.a.alvarezcabrera@tudelft.nl (A.A. Alvarez Cabrera). Mechatronics 20 (2010) 876–886 Contents lists available at ScienceDirect Mechatronics journal homepage: www.elsevier.com/locate/mechatronics