A Development Process for Mechatronic Product: Integrating Software Engineering and Product Engineering Ana Patrícia Magalhães, Aline Andrade, Leila Silva, Herman Lepikson Universidade Federal da Bahia Universidade Federal de Sergipe apfmag@ig.com.br Abstract Mechatronic products integrates Electrical, Software and Mechanical Engineerings, given new possibilities in product development. This paper proposes an unified process to guide the development of mechatronic products, which integrates the Rational Unified Process with some established methods and techniques from Electrical and Mechanical engineering. The approach focuses on the extensive exploration of the multidisciplinary knowledge to develop an integrated solution. Time constraints and reliability issues are addressed. To illustrate the approach a simple case study is presented. 1. Introduction Product development has been changing in the last years due to emerging technologies from the electronic and computer science domains. In this context, mechatronic products are developed using mechanical, electrical and software engineering techniques, in an integrated way [7]. This multidisciplinary domain increases the complexity of the product development, demanding an integrated communication among professionals of different areas, as well as an integrated use of the techniques applied in each specific area. Moreover, as in general, mechatronic products interact with the environment, by collecting information (through sensors), processing and sending information (through actuators), time constraints and fault tolerance are important issues to be considered. In addition, many of these products are also critical systems and exhaustive validation and verification are essential to guarantee a high level of reliability [5]. Recently several methodologies to develop mechatronic products have been proposed [1, 2, 4, 8, 9, E]. The focus of these approaches is the controlling system only, except for [E] that focus on conceptual design of the whole product. The majority of them are based on the object-oriented paradigm (OO) [6], due to the abstraction, inheritance and modularisation facilities, as well as the possibility of components reuse. In general, the Unified Modelling Language (UML) [10] is adopted, due to its expressiveness and simplicity. The works previously mentioned do not deal with fault tolerance. Time constraints are considered in [4] and only [1, 2] suggests the use of formal models to verify critical parts of the system. The management task is not explicitly addressed by any of those approaches. This work proposes an innovative process to develop mechatronic products. The proposed approach is based on the Rational Unified Process (RUP) [3] and incorporates consolidated methods and techniques from the mechanical and electrical engineering, such as the quality function deployment (QFD) [11] and the function block diagrams [12]. The conceptual design is a central point of the approach. Thus, the multidisciplinary knowledge is largely explored to build an abstract model of the product, in the early stages of the methodology. Implementation details are postponed to latter stages and the methodology specifies some techniques to better define them. Time constraints and fault tolerance are treated as non functional requirements. Validation, verification and management tasks have an important role in the process. Moreover, UML 2.0 is used as a visual modelling language, allowing to model real time constraints. Although we are not aware of any other development process to mechatronic product, it is important to mention that several processes were proposed to software development [B, C]. Moreover [D] also proposes a process to design IP-cores based on RUP process. This paper is organized as follows. Section II presents the proposed process. A case study is described in section III. Finally, section IV gives some final considerations and future tasks. 2. The Proposed Process The proposed approach is based on RUP and takes advantage of RUP´s dynamic characteristic. So, the development of the product is incremental, structured into iterations. The approach also incorporates RUP