Fault tolerant component management platform over Data Distribution Service Aitor Agirre*, Elisabet Estévez**, Marga Marcos*** *Ikerlan-IK4 Research Alliance, Arizmendiarrieta 2, 20500 Arrasate, Spain (e-mail: aagirre@ikerlan.es). **Dept. Of Electronics and Automatic Engineering, EPS Jaén, Universidad de Jaén, Jaén, Spain (e-mail: eestevez@ujaen.es) ***Dept. Of Automatic Control and Systems Engineering, ETSI Bilbao, UPV/EHU, Bilbao, Spain (e-mail: marga.marcos@ehu.es)} Abstract: Distributed Real Time Systems (DRTS) are evolving to a higher level of complexity in terms of heterogeneity, dynamism and QoS constraints, as they must interact with an increasingly demanding environment. In an scenario with distributed applications running over different hardware platforms and networks, middleware technologies that provide real-time or QoS support are gaining importance, as they ease the development and deployment of complex distributed applications in heterogeneous networks while ensuring certain time and QoS constraints. In this sense, distribution middleware technologies like Data Distribution Service (DDS) have emerged, adding extensive QoS support to traditional middleware advantages. This paper proposes a component based applications management platform built on top of DDS that provides an easy way to deploy, configure and manage component based distributed applications, while ensuring the fulfillment of certain QoS aspects. Keywords: Middleware, QoS, DDS, Fault-tolerance, Distributed systems 1. INTRODUCTION Middleware technologies offer well known advantages (e.g. low level communication detail abstraction, less testing effort, flexibility, portability or interoperability) that contribute to facilitate the design and development of distributed applications. Nevertheless, the use of middleware technologies has not been so extended in the distributed real time systems domain because of two main reasons: Limited real-time and QoS support in traditional middleware technologies (Java RMI, Web Services, CORBA, REST…) and efficiency issues (an additional abstraction layer always involves an overhead). To solve this lack of real-time middleware platforms, some of them have been adapted to the real-time and embedded domain (CORBA-RT, CORBA/e), whilst new ones have been developed, e.g. DDS (Data Distribution Service), a data centric distribution middleware that provides extensive QoS support (OMG, 2007). Unlike other middleware technologies, DDS can explicitly control the latency and efficient use of network resources, incorporating several QoS related parameters that allow fine tuning of some key aspects that are critical in soft real-time application integration (e.g. deadline, latency budget or transport priority) (Wang and Grigg, 2009). Another important point is its transport layer independence, as DDS runs over any OSI layer level 2 capable communication standards, e.g. CAN (Rekik and Hasnaoui, 2009). On the other hand, current complex distributed applications demand middleware services to facilitate their management and maintenance. In this sense, platforms like OSGi (Alliance, 2011) provide support for the management of component oriented applications. However, OSGi lacks two important aspects that are nuclear in distributed real-time systems (Liu et al., 2004): (1) Its QoS support is almost inexistent, and (2) it is Java tied. Other platforms (Seinturier et al., 2011, Flissi and Merle, 2006) cover similar management functionalities but neither are QoS oriented. Therefore, merging these factors, it would be of interest a QoS enabled application management platform for component based distributed real-time applications, built over a standardized distribution middleware. Such a platform should facilitate the deployment, maintenance, execution control and final un-installation of distributed component based applications. Additionally, it should allow application and middleware QoS parameter tuning (e.g. fault tolerance or component execution deadlines) at runtime, and also multi- language and multi-platform implementations. This paper describes the basic services and functionalities that should be provided by such a distributed component management platform (DCMP), and proposes a concrete implementation based on DDS. DDS has been specifically adopted because it natively provides support for services like dynamic discovery or fault tolerance, that otherwise should be implemented by the management platform developer (Roman et al., 2002). Different levels of fault tolerance have been considered, regarding both the application and platform components that support the middleware services. On the other hand, DDS faces scalability issues better than other RT component based middleware (Deng et al., 2007) that are connection oriented, as it can enable multicast communication from one to many nodes. Proceedings of the 1st IFAC Conference on Embedded Systems, Computational Intelligence and Telematics in Control - CESCIT 2012 3-5 April 2012. Würzburg, Germany 978-3-902661-97-5/12/$20.00 © 2012 IFAC 218 10.3182/20120403-3-DE-3010.00023