Direction des Relations Internationales (DRI)

Programme INRIA "Equipes Associées"
 

I. DEFINITION

EQUIPE ASSOCIEE

ForeverSOA

sélection

2009

 

Equipe-Projet INRIA : ARLES

Organisme étranger partenaire :

Centre de recherche INRIA : Paris-Rocquencourt
Thème INRIA : COM A

Pays : Greece

 

 

Coordinateur français

Coordinateur étranger

Nom, prénom

 GEORGANTAS Nikolaos

 ZARRAS Apostolos

Grade/statut

 Chargé de recherche

 Senior Lecturer

Organisme d'appartenance
(précisez le département et/ou le laboratoire)

 INRIA

University of Ioannina (UoI),
Department of Computer Science

Adresse postale

 CRI Paris-Rocquencourt,

 Domaine de Voluceau, BP 105

 78153 Le Chesnay Cédex

 University of Ioannina, Department of Computer Science, PO BOX 1186 - GR 45110, Ioannina Greece

URL

http://www-rocq.inria.fr/arles/

 http://www.cs.uoi.gr/~zarras

Téléphone

+33 1 3963 5137

 +30 26510 98862

Télécopie

+33 1 3963 5400

 

Courriel

 Nikolaos.Georgantas@inria.fr

 zarras@cs.uoi.gr


La proposition en bref

Titre de la thématique de collaboration (en français et en anglais) :

  • A rigorous approach to the evolution of service-oriented software
  • Une approche rigoureuse à l’évolution des logiciels orientés services

Descriptif :

 

This line of research aims at a principled approach for the dynamic maintenance of service-oriented software (i.e., software that is built by composing available services) on the basis of fundamental design principles and middleware that supports their adoption. The need for maintaining service-oriented software may be triggered by changes in the quality requirements of the end-users of service-oriented software (e.g., performance, availability, reliability), or by the the independent evolution of constituent services (e.g., services may be deployed or undeployed at anytime). Specifically, the proposed approach shall consist of :

·         A systematic approach that allows to reverse engineer service abstractions out of a given set of available services. A service abstraction shall group concrete services that provide similar functionalities through different interfaces and with different quality characteristics.

·         A service discovery middleware that embeds the abovementioned approach and further enables service providers to register available services and service users to discover services exposed as reverse-engineered service abstractions.

·         Middleware poly-proxies that serve as local representatives of reverse engineered service abstractions on the side of the service-oriented software that uses them. Poly-proxies shall be dynamically customizable middleware elements that map the changing quality requirements (e.g., performance, reliability, availability) of the end-users of the service-oriented software to the concrete services that can fulfill these requirements. The end-users quality requirements shall serve as input rules to the dynamically customizable poly-proxies, which will rely on online quality monitoring towards performing the selection of the appropriate concrete services. A second critical property of the poly-proxy middleware elements shall be the ability to dynamically upgrade them with respect to the evolving availability of the concrete services that are registered in / unregistered from the service-discovery mechanism.

Présentation détaillée de l'Équipe Associée
 

1. Objectifs scientifiques de la proposition

Service-Oriented Architecture (SOA) is an architectural style that emerged as the answer to the latest requirements for loosely-coupled distributed computing [1,2]. These requirements are of particular interest in the area of ambient intelligence (AmI) where the ultimate goal is the development of digital environments that provide seamless access to services that support the daily activities of users in the places where they live and work. Service support to AmI users must be customized to the users’ needs and habits and conform to the users’ particular quality requirements (e.g., performance, reliability, availability).

In line with the conventional distributed computing paradigm, functionality in SOA is decomposed into distinct architectural elements, distributed over the network. Nevertheless, in SOA the basic architectural elements (a.k.a services) are by themselves autonomous systems that have been developed independently from each other. Moreover, services evolve independently; a service may be deployed, or un-deployed at anytime; its implementation, along with its interface may change without prior notification. The particular case of SOA-based AmI environments further involves the constantly evolving availability of services that offer the same functionality although publishing different interfaces and with varying quality characteristics as AmI users move from one environment to another. The independent evolution of services along with their variation in quality (e.g., performance, availability, reliability) are primary reasons that trigger the need for maintaining service-oriented software, i.e., software that is built by composing services. The overall maintenance process should dynamic, supported by a high level of automation, to cope with: (1) the constantly evolving requirements of the end users and (2) the functional and non-functional properties of available services.

Until now, state of the art research in SOA systems, in general, and SOA-based AmI environments, in particular, focused mostly on issues concerning the construction phase of service-oriented software. The outcome of these research efforts was fundamental mechanisms for discovering and accessing available services (e.g. [3, 4, 5]). Several other phases of the development process, including the maintenance phase, are currently underdeveloped. Based on this observation, we argue that research in SOA systems, and SOA-based AmI environments in particular, should move on to the investigation of software engineering issues concerning the design, testing and maintenance of services and service-oriented software. Corresponding infrastructure support should be further provided towards facilitating these phases of the overall service-oriented development process.

Given the aforementioned overall view, in this line of research we focus on the dynamic maintenance of service-oriented software. Concerning this particular research issue, the most straightforward approach for dealing with a service that is no longer available, or a service that no longer satisfies the quality standards of the end-users of service-oriented software is to dynamically adapt the service-oriented software by substituting the service for another one that provides the same functionality, i.e., the same interface. Substituting a service with another that offers the same interface implies that changes to the service-oriented software shall be minimal; the software should be modified to use the endpoint address of the new service, instead of the endpoint address of the old service.

Figure 1. Maintenance effort for substituting a service for another that offers the same interface.

Taking an example, suppose that the service-oriented software is a Java application that allows manipulating information about scientific publications. Our application takes advantage of a Web search engine for publications that is exposed through a programmable Web service interface. The interface provides an operation, named cis, which accepts as input a string parameter query that contains search terms and returns as output a string parameter result that corresponds to an HTML document, comprising information about publications that contain the given search terms (note that the interface of the Web service is inspired by the front-end Web interface of the Citeseer publications search engine). The Web service is compliant with the W3C standard Web Services Architecture, therefore it can be accessed via invocations on the cis operation that conform to the standard JAXRPC middleware mechanism. The client code for such an invocation is given in Figure 1. Substituting the Citeseer service with another one that provides the same interface amounts to changing lines 10-11, where the endpoint address of the invocation on the cis operation is set.

However, the aforementioned approach is not realistic in SOA. Given that services are software entities that have been independently developed, we can assume the existence of multiple similar available services. On the other hand, it is unrealistic to assume that all of them implement the same interface. Moreover, it is unrealistic to assume that an available service implements an interface that extends the base functionality of the interface of another service, and thus maps directly to some inheritance hierarchy as, e.g., common in object-oriented development [1]. The aforementioned issues become immediately visible by examining the Web Service List site that maintains a collection of more than 1000 services that are available through the Web. We may observe in this registry that several similar services are available through different interfaces. In this case, substituting a service in the client code that uses it, with another that implements a different interface, may trigger significant changes in the client code, increasing thus the overall maintenance effort and rendering the dynamic maintenance virtually impossible. Returning to our simple example, we can easily envision services that are similar with the Citeseer publications search engine. Typical examples of Web sites that offer similar functionality with Citeseer are Google Scholar, the ACM digital library, etc. Given the Web site functionality of Google Scholar, suppose that a corresponding W3C-compliant Web service offers an operation, named scholar, which accepts as input a string parameter q with search terms and returns as output a string parameter r. Then, substituting the Citeseer service for the Google Scholar one amounts to changing lines 3-4, 10-11, 13 and 16-21 in the service-oriented software of Figure 2.

Figure 2. Maintenance effort for substituting a service for another that offers a different interface.

Based on the previous discussion, the main objective of this line of research is to elaborate on a principled approach for the dynamic maintenance of service-oriented software on the basis of fundamental design principles and middleware that supports their adoption in SOA.

The state of the art approaches that have been proposed so far and relate to our objective is quite limited. Specifically, existing approaches can be divided in two categories. In the first category [6], we have approaches that provide early feedback on the maintenance consequences when substituting a service with another that resulted from the evolution of the service that is currently in use. In this case the service and its substitute provide different versions of the same interface, which eases the overall maintenance process. In the second category [7,8,9], we have approaches that discuss the problem of service substitution, while relaxing the assumption of different versions of the same interface. In a sense, these approaches try to apply in SOA fundamental object-oriented design principles such as OCP (Open Closed Principle) [10], DIP (Dependency Inversion Principle) [10] and LSP (Liskov Substitution Principle) [11] that facilitate the maintenance of object-oriented software. In particular, OCP states that software should be open for extensions and closed to modifications. Achieving this goal involves the following development steps:

1.      Define an abstract type (e.g. an abstract class or an interface) for each software capability that may be subject to changes.

2.      For every abstract type, develop a derived hierarchy of concrete implementation subtypes; the correctness of this particular step can be guaranteed by employing the general LSP definition of the subtype relation. 

3.      Develop the rest of the software with respect to abstract type references; this step is direct application of the DIP principle, which states that a high-level software entity should not depend on lower level entities, they should both depend on abstractions.

Developing software with respect to the aforementioned principled approach allows dealing with the following maintenance scenario: If the requirements of the software change in a way that they are no longer satisfied by the concrete implementation subtypes of an abstract type, a new implementation subtype that meets the requirements can be developed by extending the hierarchy. Following, the objects used by the rest of the software can be easily substituted with objects of the new implementation subtype, simply by changing the points in the code where the objects are created. The rest of the software remains closed to the particular modification (i.e., unchanged), since access to the objects is based on the methods of the abstract type, which was not modified during the extension scenario.

In the same spirit, existing approaches for service substitution make the following assumptions

1.      Available services that offer the same functionality through different interfaces are manually organized into groups; a group serves as an abstraction of the grouped services.

2.      For every group, there exist predefined adaptors that map the group's generic functionality into the concrete functionality of the grouped services.

3.      Service-oriented software is developed with respect to the groups' generic functionality.

Clearly, this is an approach that enables the maintenance of service-oriented software. However, existing approaches leave the fundamental research issue that would allow automating the maintenance of service-oriented software open. Specifically, the fundamental question that still has to be answered is: how do we reverse-engineer service abstractions from a set of existing services in an automated/semi-automated  manner ?

Hence, the refined objective of the proposed line of research is to elaborate on the aforementioned question and provide adequate middleware and tool support. In particular, we envision the following three work packages that correspond to the three years duration of this collaborative project.

Work Package

Objective

Duration

1

(Main focus of year 1)

Elaborate on a principled approach that would allow to reverse engineer service abstractions given a set of available services.

12 months

2

(Main focus of year 2)

Develop a fully equipped service discovery middleware mechanism that embeds the approach resulting from WP1 and further allows: (1) service providers to register available services and (2) service users to discover services exposed as reverse-engineered service abstractions.

12 months

3

(Main focus of year 2)

Develop automated support that would allow the generation of middleware poly-proxies that serve as local representatives of reverse engineered service abstractions on the side of the service-oriented software that uses them. Poly-proxies shall be dynamically adaptable middleware elements that map the changing quality requirements (e.g. performance, reliability, availability) of the end-users of the service-oriented software to the concrete services that can fulfill these requirements. The end-users’ quality requirements shall serve as input rules to the dynamically customizable poly-proxies, which shall employ online quality monitoring towards performing the selection of the appropriate concrete services. A second critical property of the poly-proxy middleware elements shall be the ability to dynamically upgrade them with respect to the evolving availability of the services that are registered in / unregistered from the service-discovery mechanism resulted from WP2.   

12 months

 

References

1.      E. Thomas. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall, 2005.

2.      J. Cardoso and A. Sheth. Semantic Web Services, Processes and Applications. Springer, 2006.

3.      S.-B. Mokhtar, A. Kaul, N. Georgantas, and V. Issarny. Efficient Semantic Service Discovery in Pervasive Computing Environments. In Proceedings of the 7th ACM/IFIP/USENIX 7th International Middleware Conference (MIDDLEWARE’06), 2006.

4.      D. Berardi, D. Calvanese, G. DeGiacomo, M. Lenzerini, and M. Mecella. Automatic Service Composition Based on Behavioral Descriptions. International Journal of Cooperative Information Systems, 14(4), 2005.

5.      J. Yang and M. Papazoglou. Service Components for Managing the Lifecycle of Service Compositions. Information Systems, 29(2), 2004.

6.      S. R. Ponnekanti and A. Fox. Interoperability Among Independently Evolving Web Services. In Proceedings of the 5th ACM/IFIP/USENIX International Middleware Conference (MIDDLEWARE), 2004.

7.      L. Melloul and A. Fox. Reusable Functional Composition Patterns for Web Services. In Proceedings of the IEEE International Conference on Web Services (ICWS), 2004.

8.      S. R. Ponnekanti. Application-Service Interoperation Without Standardized Service Interfaces. In Proceedings of the 1st IEEE International Conference on Pervasive Computing and Communications, 2003.

9.      Y. Taher, D. Benslimane, M.-C. Fauvet, and Z. Maamar. Towards an Approach for Web Services Substitution. In Proceedings of the 10th International Database Engineering and Applications Symposium, 2006.

10.  B. Meyer, Object-Oriented Software Construction. Prentice Hall, 1988.

11.  B. Liskov and J. Wing. A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems (ACM TOPLAS), 16(6), 1994.

2. Présentation des partenaires

2.1 Présentation de DMOD (Distributed Management of Data Group)

Presentation of the DMOD Group :

The Distributed Data Management laboratory (DMOD) performs research on various topics related to the engineering of distributed information systems. Specific emphasis is given in software engineering and information management issues involved in the areas of service-oriented, mobile and pervasive computing. Model-driven software design, construction, dynamic (re)configuration, maintenance/evolution and quality analysis are amongst the primary areas of expertise of DMOD. The laboratory further investigates research issues related to middleware-based software engineering with a special focus on reflective, context-aware and service-oriented middleware infrastructures.  Members of DMOD co-authored papers published in various high-quality software engineering and data management journals and conferences (IEEE TSE, IEEE TKDE, IEEE TPDS, ASE, Middleware, SIGMOD). The group has stable scientific co-operation with leading universities and research centers in Greece, Europe and abroad, such as the University of Pittsburgh, Purdue University, AT&T labs, Amherst University, INRIA, Monash University, CTI, University of California, Riverside and AUEB. The laboratory has obtained several funding grants from the EC and national sources, including an IST FET project of the Global Computing I initiative (DBGlobe) that has been coordinated by DMOD and an Integrated Project of the Global Computing II initiative (AEOLUS).

Presentation of the DMOD coordinator:

Dr. Apostolos Zarras is a senior Lecturer at the Department of Computer Science at the University of Ioannina (UoI). He received his B.Sc. from the Department of Computer Science at the University of Crete in 1994. In 1996 he received his M.Sc. in distributed systems and computer architecture from the same department. He obtained his Ph.D in Distributed Systems and Software Architectures in 2000 from the University of Rennes I, France. From 1999 to 2001 Apostolos Zarras worked as a research engineer at the ARLES project-team at INRIA-Rocquencourt. His current research interests include model-driven software engineering, middleware and pervasive computing. Apostolos Zarras co-authored over 30 publications in refereed international journals, conferences/workshops and books. He is a regular reviewer in several high quality software engineering journals and served as a member in various conference program committees, including ESEC/ACM-SIGSOFT FSE 2008, 2009, which is amongst the top three general purpose software engineering conferences and Middleware 2008 which is considered as the top conference with a specialized focus on middleware research. According to search results for the citation index of Zarras A. in the ISI Web of Science, the IEEE Computer Society DL, the ACM  DL, the NEC CiteSeer, the Elsevier Science@Direct and Google Scholar there exist over 100 non-self citations in his work. His experience in collaborative research projects includes his participation in four IST projects (3 while being a researcher at the ARLES project-team and 1 while being at UoI). Moreover, he contributed in several national projects. Finally, Apostolos Zarras has been the principle investigator in the MobWS PLATON project for Cooperation in S&T areas with European countries and his is currently the principal investigator of a research project funded by the UoI Research Committee.

2.2 Présentation de ARLES

Presentation of the ARLES Project-Team:

ARLES studies the engineering of middleware-based systems, with a special emphasis on enabling the ubiquitous computing and subsequent pervasive computing and ambient intelligence visions. ARLES research is more specifically focused on eliciting middleware for pervasive computing, from foundations and architectural design to prototype implementations. Proposed middleware shall then effectively leverage networked resources, in particular accounting for advanced wireless networking technologies. This raises a number of complementary research challenges related to: system architecture, system modeling, interoperability, networking, quality of service. All these challenges are inter-related, calling for their study in both the software engineering and distributed systems domains. Indeed, proposed middleware abstractions and related programming models shall effectively foster the development of robust distributed software systems, which, at the same time, must be implemented in an efficient way. Specifically:

·         In the software engineering domain, ARLES studies resource abstractions and interaction paradigms to be offered by middleware, together with the associated languages, methods and tools for describing and composing the abstracted resources into applications. Our primary goal is to foster the development of robust distributed systems that are highly dynamic to adapt to the ever changing networking environment, and further meet quality of service requirements.

·         In the distributed systems domain, ARLES studies innovative middleware architectures and related distributed algorithms and protocols for the efficient networking of distributed resources into distributed pervasive systems. Our further goal is to assist the abovementioned engineering process.

In the above context, and already since 2001, we have focused a great part of our research on service-oriented architecture as a paradigm that can serve very well the pervasive computing / ambient intelligence vision. We have particularly investigated software engineering concepts and methods combined with middleware architectures and algorithms that enable dynamic service-oriented architectures, able to model and deal with the extreme dynamics and volatility of the pervasive environment.

Presentation of the ARLES Coordinator:

Dr. Nikolaos Georgantas received his degree in 1996 and his Ph.D. in 2001, both in Electrical and Computer Engineering from the National Technical University of Athens, Greece. He is currently senior research scientist at INRIA Paris-Rocquencourt, France with the ARLES research project-team. His research interests relate to distributed systems, middleware, pervasive computing systems and service & network architectures for telecommunication systems. He currently works on dynamic system interoperability in service-oriented pervasive computing environments based on semantic service technologies. He serves on the editorial board of the International Journal of Ambient Computing and Intelligence (IJACI), and has served as a member in various conference program committees, including the ACM/IFIP/USENIX 9th International Middleware Conference (Middleware 2008). He has been involved in a number of European projects (ACTS EXODUS, ACTS ACCORD, IST Ozone, IST Amigo), French projects (ANR Semeuse), and several industrial collaborations with the Greek and the French industry. More specifically, he coordinated the work package related to Ambient Intelligence service-oriented middleware for the networked home in IST Amigo, and the work package related to the overall semantic service-oriented system architecture in ANR Semeuse.

Links and references to the ARLES Project-Team:

·         ARLES web site: http://www-rocq.inria.fr/arles

·         V. Issarny  web page: http://www-rocq.inria.fr/arles/members/issarny.html

2.3 Historique de la collaboration entre les équipes

2.3.1. entre les équipes :

The DMOD at the Department of Computer Science of UoI has been interacting with the ARLES research project-team at INRIA Paris-Rocquencourt since 2003. The collaboration of the two groups started with short visits of Valerie Issarny who gave seminar talks at UoI. As a result, the two groups submitted a joint proposal for the 2-years MobWS PLATON project for Cooperation in S&T areas with European countries, which has been accepted in 2004. From the UoI side, Apostolos Zarras regularly visits the ARLES project-team as a visiting professor during the past five years (1 month visit in 2005, 1 month visit in 2006, 1 month visit in 2008). Until now, the DMoD and ARLES collaboration focused on the following issues:

·         Dynamic reconfiguration of SOA based ambient intelligence environments: the primary goal in this effort was to elaborate on an approach for the dynamic reconfiguration of composite services that preserves the fundamental properties of dynamic reconfiguration  in distributed computing, i.e., consistency and reachability of changes. To this end, we investigated the particular problems of impact analysis, planning and state transfer in the context of SOA.  The joint work of the two groups proved quite successful as they led to promising results that have been published in [1,2,3].

·         Quality analysis of SOA systems: the ultimate goal in this effort was to derive a principled approach for the systematic generation of quality analysis models (block-diagrams, Markov models) out of BPEL descriptions of composite services, annotated with quality features that characterize the combined services (e.g., fault, failure and error properties). The generated quality analysis models serve as input to corresponding analysis tools. The results of this joint effort were published in [4,5].

·         Context-aware middleware for ambient intelligence environments: the main objective of this line of research was to design and develop a middleware platform that would allow to gather, manage and interpret context information provided by heterogeneous context sources embedded in ambient intelligence environments. The main challenge was to handle transparently the diversity of interfaces of various available context sources that provide semantically equivalent context information. The results from the proposed approach were published in [6]. 

Joint publications :

  1. Apostolos Zarras, Manel Fredj, Nikolaos Georgantas, Valerie Issarny. Engineering Reconfigurable Distributed Software Systems: Issues Arising for Pervasive Computing. In Rigorous Engineering of Fault Tolerant Systems, pp. 364-386, LNCS vol. 4157, Springer, 2006.
  2. Manel Fredj, Apostolos Zarras, Nikolaos Georgantas, Valerie Issarny. Adaptation to Connectivity Loss in Pervasive Computing Environments. In Proceedings of the 4th MiNEMA Workshop, 2006.
  3. Manel Fredj, Nikolaos  Georgantas, Valerie Issarny, Apostolos Zarras. Dynamic Service Substitution in Service-Oriented Architectures. In Proceedings of the IEEE International Conference on Service Computing (SCC), pp. 3443-3448, 2008.
  4. Apostolos Zarras, Panos Vassiliadis and Valerie Issarny. Model-Driven Dependability Analysis of Web Services. In Proceedings of the 6th International Symposium on Distributed Objects and Applications, pp. 1608-1625, LNCS vol. 3291, Springer, 2004.
  5. Apostolos Zarras, Panos Vassiliadis, Valerie Issarny. Modeling and Analyzing Reliable Service-Oriented Processes Int. Journal on Business Process Integration and Management (accepted for publication).
  6. Dionisis Athanasopoulos, Apostolos Zarras, Valerie Issarny, Evaggelia Pitoura and Panos Vassiliadis. CoWSAMI: Interface-Aware Context Gathering in Ambient Intelligence Environments. Pervasive and Mobile Computing Journal (PMCJ). vol. 4, no. 3, pp. 360-389, 2008.

2.3.2 entre l'INRIA et l'organisme partenaire :

The Department of Computer Science of the University of Ioannina and DMoD in particular, collaborated with the GEMO research group of INRIA Saclay-Ile de France in the context of the DBGLOBE IST project which aimed at a data - centric approach to global computing. INRIA International relation with Greece: see http://www-direction.inria.fr/international/Page_Pays.php; http://ralyx.inria.fr/2006/Raweb/partenaire.html?type=international&rendu=contenu&name=Greece

3. Impact

3.1. sur la collaboration déjà existante avec votre partenaire

The collaboration between ARLES and DMoD researchers is not conditioned by the creation of the ForeverSOA associated team, since it has been active and productive for quite some time and is expected to remain so. However, the creation of ForeverSOA would be much effective for the collaboration, enabling further cross-visits between the 2 groups and thus even more active and productive collaboration. Most importantly, this would be the opportunity to promote joint internships and also PhD studies for students of the University of Ioannina.

  • 3.2. sur la collaboration avec d'autres projets INRIA

The proposed collaboration is expected to have an impact in the area of service-oriented computing, with a special focus on enabling long-lived pervasive service-oriented systems, thanks to their dynamic maintenance. As such, results are of potential interest to any INRIA project-team working in the target field of study. Further, and as mentioned above, close collaboration with the University of Ioannina is a great opportunity for both INRIA and UoI towards establishing joint MSc and PhD research work between the University and INRIA.

  • 3.3. sur la collaboration avec d'autres équipes de l'organisme étranger partenaire.

The collaboration between ARLES and DMoD may further foster collaboration initiatives with other interested UoI groups of the Department of Computer Science. Specifically, the proposed research agenda encompasses a variety of issues that may concern researchers from the Computer Science Theory group and the Artificial Intelligence group of UoI.

4. Divers : -