Download the full-sized PDF of WSDarwin: A Comprehensive Framework for Supporting Service-Oriented Systems EvolutionDownload the full-sized PDF



Permanent link (DOI):


Export to: EndNote  |  Zotero  |  Mendeley


This file is in the following communities:

Graduate Studies and Research, Faculty of


This file is in the following collections:

Theses and Dissertations

WSDarwin: A Comprehensive Framework for Supporting Service-Oriented Systems Evolution Open Access


Other title
web services
software evolution
software engineering economics
Type of item
Degree grantor
University of Alberta
Author or creator
Fokaefs, Marios-Eleftherios
Supervisor and department
Stroulia, Eleni (Computing Science)
Examining committee member and department
Miller, James (Electrical and Computer Engineering)
Martin, Patrick (School of Computing, Queen's University)
Hoover, James (Computing Science)
Stroulia, Eleni (Computing Science)
Messinger, Paul R. (School of Business)
Department of Computing Science

Date accepted
Graduation date
Doctor of Philosophy
Degree level
Service-oriented architecture (SOA) has become the prevalent paradigm for the development of distributed and modular software systems. SOA owes its popularity to certain properties that characterize the resulting systems and, in theory, gives flexibility to the development and maintenance of service-oriented systems. First, web services, which are the building blocks of service-oriented systems, are accessible over the Internet, which implies that there is no need to exchange code artifacts (as in the case of software libraries). Second, software components in service-oriented systems are published through concise and abstract interfaces usually based on common and well-adopted standards. The abstraction implies that the interface exposes just enough for a functional run-time data exchange. The abstraction results in information hiding, which offers two benefits. On one hand, providers can hide the business logic of their service from the clients, thus, retaining their expertise or the ownership of data, from which they can possibly profit. On the other hand, taking advantage of the common standards, clients can flexibly migrate between web services to satisfy their requirements as best as possible. Nevertheless, these particular properties may also cause problems in the stability of a service-oriented system especially in the case of software evolution, if good practices are not followed. One relevant challenge is that, since the system is distributed, the decision about the evolution of a service may be restrained to a small part of the system. Also, since the communication between the components is limited by the abstract interface, the impact of the change may be unknown for the rest of the system. The clients of a service may have little information about the changes and how to react to them. The published service interface constitutes a contract between the provider and the client. If best practices about service evolution are not followed and this contract is broken, the repercussions may be severe to the client application and this can also have business and financial impact both to the client and the provider. Another challenge is caused by the definition and availability of multiple styles and technologies that follow a service-oriented architecture, including, but not limited to, REST and WS-* services. This results in a variability on how service-oriented systems are implemented. Although the challenges around the evolution of web services may be based on fundamental properties of the architecture, each style may require different solutions and tools to support the maintenance of service-oriented systems. Given these challenges, there is an evident need to support client developers in the maintenance of their application against evolving services. This support is necessary regardless of whether good practices are followed by providers and regardless of the underlying styles and technologies of the service system. There is also a need to support the decision-making processes of service providers and clients about the evolution of their software, in manner aware not only of the technical but also the relevant business and economic considerations. In my work, I make three contributions towards satisfying these needs. I have developed the WSDarwin tools to support the maintenance of client applications in the event of service evolution; first, an Eclipse plug-in to support service clients of the WS-* style and, second, a web application to support REST service clients. Between the two implementations, WSDarwin offers support for a variety of tasks, including comparison of WSDL and WADL service interfaces to identify differences between versions of a service, automatic adaptation of WS-* client applications, automatic generation of WADL interfaces for REST services and automatic mapping of similar services from different providers. The third contribution of my work is the development of a theoretical framework to support the decision-making process concerning the evolution of a service-oriented system. The framework consists of an economic model and a game-theoretic model to take into consideration the economic repercussions of service evolution and the complicated interactions between providers and clients. The thesis of my work is that service evolution should be not only technically but also socially and economically conscious through support from automated tools. WSDarwin implements a suite of relevant tools, and thus substantiates the thesis.
This thesis is made available by the University of Alberta Libraries with permission of the copyright owner solely for the purpose of private, scholarly or scientific research. This thesis, or any portion thereof, may not otherwise be copied or reproduced without the written consent of the copyright owner, except to the extent permitted by Canadian copyright law.
Citation for previous publication
Fokaefs, M., Mikhaiel, R., Tsantalis, N., Stroulia, E., Lau, A., 2011. An Empirical Study on Web Service Evolution. In: IEEE International Conference on Web Services (ICWS 2011). ICWS '11. Washington, DC, USA, pp. 49-56.Fokaefs, M., Stroulia, E., 2013. WSMeta: a meta-model for web services to compare service interfaces. In: Panhellenic Conference on Informatics (PCI 2013). ACM, pp. 1-8.Fokaefs, M., Stroulia, E., 2014. WSDarwin: Studying the Evolution of Web Service Systems. Advanced Web Services. Springer, Ch. 9, pp. 199-223.Fokaefs, M., Stroulia, E., 2012. WSDarwin: automatic web service client adaptation. In: Conference of Center for Advanced Studies (CASCON 2012). pp. 176-191.Fokaefs, M., Stroulia, E., June 2014. The WSDarwin Toolkit for Service- Client Evolution. In: IEEE Internation Conference on Web Services, Work In Progress (ICWS 2014 WIP). IEEE, Anchorage, Alaska, USA, pp. 716-719.Bazelli, B., Fokaefs, M., Stroulia, E., 2013. Mapping the responses of restful services based on their values. In: IEEE International Symposium on Web Systems Evolution (WSE 2013). IEEE, pp. 15-24. 101Fokaefs, M., Stroulia, E., Messinger, P. R., 2013. Software Evolution in the Presence of Externalities: A Game-Theoretic Approach. In: Mistrik, I., Bahsoon, R., Kazman, R., Sullivan, K., Zhang, Y. (Eds.), Economics-Driven Software Architecture. Elsevier, Ch. 11, pp. 243-258.Fokaefs, M., Stroulia, E., 2013a. Wsdarwin: A decision-support tool for webservice evolution. In: IEEE International Conference on Software Maintenance, Early Research Achievement (ICSM 2013 ERA). IEEE, pp. 444-447.

File Details

Date Uploaded
Date Modified
Audit Status
Audits have not yet been run on this file.
File format: pdf (PDF/A)
Mime type: application/pdf
File size: 4617208
Last modified: 2016:08:04 15:29:20-06:00
Filename: thesisA.pdf
Original checksum: 062dd83c8ad5cdac5d469ee36e436dd3
Well formed: true
Valid: true
Page count: 184
Activity of users you follow
User Activity Date