OpenCOPI: middleware integration for Ubiquitous Computing Frederico Lopes a1 *, Flavia C. Delicato b2 , Thais Batista c3 , Everton Cavalcante c4 , Thiago Pereira c5 , Paulo F. Pires b6 , Paulo Ferreira d7 and Reginaldo Mendes e8 a ECT – Federal University of Rio Grande do Norte, Campus Universita ´ rio, Lagoa Nova, Natal, RN, Brazil; b PPGI/DCC-IM – Federal University of Rio de Janeiro, Avenida Athos da Silveira Ramos, 274, Cidade Universita ´ria, Ilha do Funda ˜o, Rio de Janeiro, RJ, Brazil; c DIMAp – Federal University of Rio Grande do Norte, Campus Universita ´rio, Lagoa Nova, Natal, RN, Brazil d INESC-ID – Technical University of Lisbon, Rua Alves Redol, 9, Lisbon, Portugal; e Federal Service of Data Processing, SGAN Quadra 601, Mo ´dulo V, Asa Norte, Brasilia, DF, Brazil (Received 1 August 2012; accepted 23 July 2013) In this paper, we present OpenCOPI (Open COntext Platform Integration), a Service- Oriented Architecture-based middleware platform that supports the integration of services provided by distinct sources, ranging from services offered by simple systems to more complex services provided by context-provision middleware. OpenCOPI offers selection and composition mechanisms to, respectively, select and compose services provided by different sources, considering applications of both Quality of Service and Quality of Context requirements. It also offers an adaptation mechanism that enables to adapt the application execution due to service failures, service quality fluctuation and user mobility. OpenCOPI allows the definition of applications in a higher abstraction level by the specification of a semantic workflow that contains abstract activities. This paper illustrates the use of OpenCOPI in an application from the Gas & Oil Industry and it also shows the evaluation of the main mechanisms of OpenCOPI: the service selection, composition, adaptation and workflow execution. Keywords: integration platform; service composition; semantic workflow; adaptation mechanism 1. Introduction Ubiquitous Computing encompasses sensor-instrumented environments, which are often endowed with wireless network interfaces, in which devices, software agents and services are integrated in a seamless and transparent way and cooperate to meet high-level goals of human users [18]. This computational power distribution provides new functionality through support of personalised services and omnipresent applications [29]. Ubiquitous Computing environments are characterised by high heterogeneity and dynamism. In these environments, the execution context is always changing. However, tasks for context gathering, context handling and reaction to context changes should not be tangled with application business logic because this approach tends to be repetitive and error-prone. Instead, a more promising approach is to delegate those tasks to a context- provision middleware [29,11,15,17,20,33,22,30] that should support most of the tasks involved in the gathering and manipulation of context information in those heterogeneous, dynamic and distributed environments, unburdening applications of handling contextual information. q 2013 Taylor & Francis *Corresponding author. Email: fred.lopes@gmail.com International Journal of Parallel, Emergent and Distributed Systems, 2013 http://dx.doi.org/10.1080/17445760.2013.831415