A Dynamic Architecture for Runtime Adaptation
of Service-based Applications
Yousef Rastegari and Fereidoon Shams
Faculty of
Computer Science and Engineering, Shahid Beheshti University, Iran
Abstract: Service-Based Applications (SBA) offer flexible functionalities in
wide range of environments. Therefore they should dynamically adapt to
different quality concerns such as security, performance, etc. For example, we
may add particular delivery service for the golden customers, or provide secure
services for the specific partners, or change service invocation based on
context information. Unlike other adaptation methods which substitute a faulty
service or negotiate for service level objectives, we modify the architecture
of SBA, that is, the underlying services structure and the runtime services
implementation. In this regard, we propose a reflective architecture which
holds business and adaptation knowledge in the Meta level and implements service
behaviours in the Base level. The knowledge is modelled in the form of Meta
states and Meta transitions. We benefit from Reflective Visitor pattern to
materialize an abstract service in different concrete implementations and
manipulate them at runtime. Each service implementation fulfils a specific
quality concern, so it is possible to delegate user requests to appropriate
implementation instead of reselecting a new service which is a time consuming
strategy. We used Jmeter load simulator and real-world Quality of Service (QoS)
dataset to measure the architecture efficiency. Also, we characterized our work
in comparison with related studies according to the European Software Services
and Systems Network (S-CUBE) adaptation taxonomy.
Keywords: Software engineering, service-based
application, software adaptation, reflection, quality of service.