1. Introduction Software reuse has become an important factor in cur- rent developments due to market competitiveness and time-to-market requirements. Although the interest in reusing software arose with the origins of the program- ming, this issue has not been practiced with success as yet (Prieto-Diaz, 1991) (Tracz, 1995). One reason is the diffi- culty of combining existing software components. In addi- tion, although reusability at this level is a good practice, it is not enough. One way of raising the degree of reuse is to apply this approach to software architecture, which com- prises the software components, their visible properties and their relationships (Bass, Clements & Kazman, 1998). In the next section, the stages of the domain engineer- ing process are described (Withey, 1994). Its goal is to obtain a Domain Specific Software Architecture (DSSA). This process was developed in the context of the program Software Technology for Adaptable and Reliable Software (Prieto-Diaz & Arango, 1991). Its success is derived from the fact that the software requirements can be satisfied in different ways, and implementation limitations restrict the ways in which these requirements can be fulfilled. Previ- ous works on domain analysis did not allow for obtaining a design model. The question is how to develop a software architecture that can be effectively reused. The common approach is to concentrate on a domain area. It seems feasible to reuse a software architecture in a set of systems with common features. Then, a suitable practice is to develop a reference architecture that takes into account the special properties of a type of system in a domain area. A reference architec- ture is defined as a division of functionality together with data-flow between pieces mapped onto software compo- nents (Bass et al., 1998). The authors were involved in the development of a teleoperation system. In addition to the common func- tional requirements of this type of system, the product should be easily maintained and adaptable to different operational environments and robots. Many investigators have described robot-control architectures based on a spe- cific operating system and programming language. In these cases, the usual approach is to replace the robot con- trollers by generic controllers (Hayward & Paul, 1986) (Hayward & Hayati, 1988), (Li, Tarn, & Berjczy, 1991). These systems are focused on robot control and tasks planning, and little support is given to teleoperation. In other cases, the system does not allow the operator to interact dynamically with the system (Brooks, 1986). In Albus, McGain & Lumia (1989) a reference architecture for robot teleoperation, that focuses on the control of autonomous systems, operating in non-structured environ- ments is described. It uses complex and expensive artifi- cial intelligence techniques. None of these approaches fulfils the non-functional requirements previously described. The domain engineering process was used by the authors and, as a result, (A. Alonso, Álvarez, Pastor, de la Puente & Iborra, 1997) a Domain Specific Software Architecture (DSSA) for robot teleoperation systems was developed. Since the publication of that paper, the refer- * Corresponding author: Tel: +34 968 325 654; Fax:+34 968 325 345 E-mail address: barbara.alvarez@upct.es Reference architecture for robot teleoperation: development details and practical use Bárbara Álvarez*, Andrés Iborra*, Alejandro Alonso , Juan Antonio de la Puente *Universidad Politécnica de Cartagena, Dpto.Tecnología Electrónica,Paseo Alfonso XIII, 50, 30203-Cartagena, Spain Universidad Politécnica de Madrid, Depto. Ingeniería de Sistemas Telemáticos,Ciudad Universitaria s.n., E-28040 Madrid, Spain Abstract: The need to avoid redundant efforts in software development has been recognized for a long time. Currently, work is focused on the generation of products that are designed to be reused. A reference architecture for robot teleoperation systems has been developed using the domain-engineering process and certain architectural patterns. The architecture has been applied successfully to the development of different teleoperation platforms used in the maintenance activities of nuclear power plants. In particular, this paper presents how the reference architecture has been implemented in different systems, such as the Remotely Operated Service Arm (ROSA), the Teleoperated and Robotized System for Maintenance Operation in Nuclear Power Plants Vessels (TRON) and the Inspection Retrieving Vehicle (IRV). Keywords: Software architecture; Robots control; Real-time systems; Teleoperation; Soft- ware engineering