Self-Optimization of service-oriented architectures for Mobile and Cloud Applications

Service-Oriented Architecture (SOA) is an architectural style that is becoming broadly adopted as it offers the ability to develop low-cost, flexible, and scalable distributed systems by composing legacy services. This architectural style allows developers to build a wide range of Service-oriented Distributed Systems (SDS), from business systems to Cloud-based systems through mobile systems—Google, Amazon, eBay, PayPal, NetFlix, and FedEx being representative examples of this kind of distributed systems. Nonetheless, the emergence of such large systems raises several scientific challenges. Indeed, like any other complex software system, SDS have to continuously evolve in order to fit new user requirements and new execution contexts. The changes made to accommodate new user requirements and execution contexts may degrade the design and, consequently, the Quality of Service (QoS) of these systems. This often results in the appearance of design defects, also known as anti-patterns. Whereas design patterns are good solutions to common recurring design problems that software engineers face when designing and developing systems, anti-patterns are bad solutions to common design problems and correspond to defects related to the degradation of the architectural properties of SDS. Moreover, anti-patterns resulting from these changes hinder the maintenance and evolution of SDS, not only contributing to the technical debts but also incurring additional costs to the project.

Furthermore, in the case of Software-as-a-Service (SaaS) and mobile apps, the presence of antipatterns inevitably leads to resource leaks (CPU, memory, battery, etc.), thus preventing the deployment of sustainable solutions. The detection and correction of these defects are thus critical activities to improve the design and the QoS of SDS, in order to ease and speed up both maintenance and evolution tasks assigned to software engineers. However, current methods and techniques for the detection and correction of anti-patterns in SDS are still in their infancy, as one can assess the

Faculty Supervisor:

Naouel Moha


Sanjay Thakur



Computer science





Current openings

Find the perfect opportunity to put your academic skills and knowledge into practice!

Find Projects