Automating the Adaptation of Evolving Data-Intensive Ecosystems Petros Manousis 1 , Panos Vassiliadis 1 , and George Papastefanatos 2 1 Dept. of Computer Science University of Ioannina (Hellas) {pmanousi,pvassil}@cs.uoi.gr 2 Research Center “Athena” (Hellas) gpapas@imis.athenainnovation.gr Abstract. Data-intensive ecosystems are conglomerations of data repos- itories surrounded by applications that depend on them for their opera- tion. To support the graceful evolution of the ecosystem’s components we annotate them with policies for their response to evolutionary events. In this paper, we provide a method for the adaptation of ecosystems based on three algorithms that (i) assess the impact of a change, (ii) compute the need of different variants of an ecosystem’s components, depending on policy conflicts, and (iii) rewrite the modules to adapt to the change. Keywords: Evolution, data-intensive ecosystems, adaptation. 1 Introduction Data-intensive ecosystems are conglomerations of databases surrounded by ap- plications that depend on them for their operation. Ecosystems differ from the typical information systems in the sense that the management of the database profoundly takes its surrounding applications into account. In this paper, we deal with the problem of facilitating the evolution of an ecosystem without impacting the smooth operation or the semantic consistency of its components. Observe the ecosystem of Figure 1. On the left, we depict a small part of a university database with three relations and two views, one for the information around courses and another for the information concerning student transcripts. On the right, we isolate two queries that the developer has embedded in his applications, one concerning the statistics around the database course and the other reporting on the average grade of each student. If we were to delete at- tribute C NAME, the ecosystem would be affected in two ways : (a) syntactically, as both the view V TR and the query on the database course would crash, and, (b) semantically, as the latter query would no longer be able to work with the same selection condition on the course name. Similarly, if an attribute is added to a relation, we would like to inform dependent modules (views or queries) for the availability of this new information. The means to facilitate the graceful evolution of the database without dam- aging the smooth operation of the ecosystem’s applications is to allow all the involved stakeholders to register veto’s or preferences : for example, we would W. Ng, V.C. Storey, and J. Trujillo (Eds.): ER 2013, LNCS 8217, pp. 182–196, 2013. c Springer-Verlag Berlin Heidelberg 2013