Antipattern-based Approach for Service Oriented Design and Quality Improvement
Source de subvention
Conseil de Recherches en Sciences Naturelles et Génie du Canada(CRSNG)
Discovery Grants Program
Professeur(e)s impliqués
Résumé
Service Oriented Architecture (SOA) is an emerging architectural style becoming broadly adopted as it offers the ability to develop low-cost, flexible, and scalable distributed systems by composing ready-made services. This architectural style can be implemented using a wide range of SOA technologies such as AJAX, OSGI, REST, RPC, SOAP, SCA, and Web Services. However, the emergence of such service-based systems (SBSs) raises several challenges. Indeed, like any other complex software system, SBSs must evolve to fit new user requirements and new execution contexts. These changes to accommodate new user requirements and execution contexts degrade the design and quality of service (QoS) of SBSs and often result in the appearance of common bad practice solutions, called antipatterns–by opposition to patterns, which are good solutions to common recurring problems. In addition to the degradation of the design and QoS, antipatterns resulting from these changes hinder the maintenance and evolution of SBSs and make it hard for software engineers to maintain and evolve software. Moreover, the dynamic nature of an SOA environment involves that antipatterns are also dynamic, and thus their detection and correction must be performed at runtime. The long-term goal of this research program is to assess and improve the design and QoS of SBSs through the automatic detection and correction of SOA antipatterns. More precisely, this goal will be achieved by developing and applying a novel and innovative methodology supported by a framework to specify, detect, and correct automatically, at runtime, SOA antipatterns in large scale SBSs relying on different SOA technologies. The originality of this program lies in the dynamic nature of the SOA environment and its various underlying technologies. This methodology will deepen our understanding on antipatterns, design, and QoS in SBSs, and allow the development of tools intended for software engineers to assess and improve the design and QoS of SBSs handled by end-users, and ease their maintenance and evolution tasks.
