12 research outputs found
QoS-driven proactive adaptation of service composition
Proactive adaptation of service composition has been recognized as a major research challenge for service-based systems. In this paper we describe an approach for proactive adaptation of service composition due to changes in service operation response time; or unavailability of operations, services, and providers. The approach is based on exponentially weighted moving average (EWMA) for modelling service operation response time. The prediction of problems and the need for adaptation consider a group of services in a composition flow, instead of isolated services. The decision of the service operations to be used to replace existing operations in a composition takes into account response time and cost values. A prototype tool has been implemented to illustrate and evaluate the approach. The paper also describes the results of a set of experiments that we have conducted to evaluate the work
Adaptive Composition in Dynamic Service Environments
Due to distribution, participant autonomy and lack of local control, service-based systems operate in highly dynamic and uncertain environments. In the face of such dynamism and volatility, the ability to manage service changes and exceptions during composite service execution is a vital requirement. Most current adaptive composition approaches, however, fail to address service changes without causing undesirable disruptions in execution or considerably degrading the quality of the composite application. In response, this paper presents a novel adaptive execution approach, which efficiently handles service changes occurring at execution time, for both repair and optimisation purposes. The adaptation is performed as soon as possible and in parallel with the execution process, thus reducing interruption time, increasing the chance of a successful recovery, and producing the most optimal solution according to the current environment state. The effectiveness of the proposed approach is demonstrated both analytically and empirically through a case study evaluation applied in the framework of learning object composition. In particular, the results show that, even with frequent changes (e.g. 20 changes per service execution), or in the cases where interference with execution is non-preventable (e.g., when an executed service delivers unanticipated quality values), our approach manages to recover from the situation with minimal interruption
DATESSO: Self-Adapting Service Composition with Debt-Aware Two Levels Constraint Reasoning
The rapidly changing workload of service-based systems can easily cause
under-/over-utilization on the component services, which can consequently
affect the overall Quality of Service (QoS), such as latency. Self-adaptive
services composition rectifies this problem, but poses several challenges: (i)
the effectiveness of adaptation can deteriorate due to over-optimistic
assumptions on the latency and utilization constraints, at both local and
global levels; and (ii) the benefits brought by each composition plan is often
short term and is not often designed for long-term benefits -- a natural
prerequisite for sustaining the system. To tackle these issues, we propose a
two levels constraint reasoning framework for sustainable self-adaptive
services composition, called DATESSO. In particular, DATESSO consists of a re
ned formulation that differentiates the "strictness" for latency/utilization
constraints in two levels. To strive for long-term benefits, DATESSO leverages
the concept of technical debt and time-series prediction to model the utility
contribution of the component services in the composition. The approach embeds
a debt-aware two level constraint reasoning algorithm in DATESSO to improve the
efficiency, effectiveness and sustainability of self-adaptive service
composition. We evaluate DATESSO on a service-based system with real-world
WS-DREAM dataset and comparing it with other state-of-the-art approaches. The
results demonstrate the superiority of DATESSO over the others on the
utilization, latency and running time whilst likely to be more sustainable.Comment: Accepted to the SEAMS '20. Please use the following citation: Satish
Kumar, Tao Chen, Rami Bahsoon, and Rajkumar Buyya. DATESSO: Self-Adapting
Service Composition with Debt-Aware Two Levels Constraint Reasoning. In
IEEE/ACM 15th International Symposium on Software Engineering for Adaptive
and Self-Managing Systems, Oct 7-8, 2020, Seoul, Kore
Towards personalised and adaptive QoS assessments via context awareness
Quality of Service (QoS ) properties play an important role in distinguishing between functionally-equivalent services and accommodating the different expectations of users. However, the subjective nature of some properties and the dynamic and unreliable nature of service environments may result in cases where the quality values advertised by the service provider are either missing or untrustworthy. To tackle this, a number of QoS estimation approaches have been proposed, utilising the observation history available on a service to predict its performance. Although the context underlying such previous observations (and corresponding to both user and service related factors) could provide an important source of information for the QoS estimation process, it has only been utilised to a limited extent by existing approaches. In response, we propose a context-aware quality learning model, realised via a learning-enabled service agent, exploiting the contextual characteristics of the domain in order to provide more personalised, accurate and relevant quality estimations for the situation at hand. The experiments conducted demonstrate the effectiveness of the proposed approach, showing promising results (in terms of prediction accuracy) in different types of changing service environments
IntĂ©gration de lâanalyse prĂ©dictive dans des systĂšmes auto-adaptatifs
In this thesis we proposed a proactive self-adaptation by integrating predictive analysis into two phases of the software process. At design time, we propose a predictive modeling process, which includes the activities: define goals, collect data, select model structure, prepare data, build candidate predictive models, training, testing and cross-validation of the candidate models and selection of the ''best'' models based on a measure of model goodness. At runtime, we consume the predictions from the selected predictive models using the running system actual data. Depending on the input data and the time allowed for learning algorithms, we argue that the software system can foresee future possible input variables of the system and adapt proactively in order to accomplish middle and long term goals and requirements.Au cours des derniĂšres annĂ©es, il y a un intĂ©rĂȘt croissant pour les systĂšmes logiciels capables de faire face Ă la dynamique des environnements en constante Ă©volution. Actuellement, les systĂšmes auto-adaptatifs sont nĂ©cessaires pour lâadaptation dynamique Ă des situations nouvelles en maximisant performances et disponibilitĂ©. Les systĂšmes ubiquitaires et pervasifs fonctionnent dans des environnements complexes et hĂ©tĂ©rogĂšnes et utilisent des dispositifs Ă ressources limitĂ©es oĂč des Ă©vĂ©nements peuvent compromettre la qualitĂ© du systĂšme. En consĂ©quence, il est souhaitable de sâappuyer sur des mĂ©canismes dâadaptation du systĂšme en fonction des Ă©vĂ©nements se produisant dans le contexte dâexĂ©cution. En particulier, la communautĂ© du gĂ©nie logiciel pour les systĂšmes auto-adaptatif (Software Engineering for Self-Adaptive Systems - SEAMS) sâefforce dâatteindre un ensemble de propriĂ©tĂ©s dâautogestion dans les systĂšmes informatiques. Ces propriĂ©tĂ©s dâautogestion comprennent les propriĂ©tĂ©s dites self-configuring, self-healing, self-optimizing et self-protecting. Afin de parvenir Ă lâautogestion, le systĂšme logiciel met en Ćuvre un mĂ©canisme de boucle de commande autonome nommĂ© boucle MAPE-K [78]. La boucle MAPE-K est le paradigme de rĂ©fĂ©rence pour concevoir un logiciel auto-adaptatif dans le contexte de lâinformatique autonome. Cet modĂšle se compose de capteurs et dâeffecteurs ainsi que quatre activitĂ©s clĂ©s : Monitor, Analyze, Plan et Execute, complĂ©tĂ©es dâune base de connaissance appelĂ©e Knowledge, qui permet le passage des informations entre les autres activitĂ©s [78]. LâĂ©tude de la littĂ©rature rĂ©cente sur le sujet [109, 71] montre que lâadaptation dynamique est gĂ©nĂ©ralement effectuĂ©e de maniĂšre rĂ©active, et que dans ce cas les systĂšmes logiciels ne sont pas en mesure dâanticiper des situations problĂ©matiques rĂ©currentes. Dans certaines situations, cela pourrait conduire Ă des surcoĂ»ts inutiles ou des indisponibilitĂ©s temporaires de ressources du systĂšme. En revanche, une approche proactive nâest pas simplement agir en rĂ©ponse Ă des Ă©vĂ©nements de lâenvironnement, mais a un comportement dĂ©terminĂ© par un but en prenant par anticipation des initiatives pour amĂ©liorer la performance du systĂšme ou la qualitĂ© de service
Principled and automated system of systems composition using an ontological architecture
A distributed systemâs functionality must continuously evolve, especially when environmental context changes. Such required evolution imposes unbearable complexity on system development. An alternative is to make systems able to self-adapt by opportunistically composing at runtime to generate systems of systems (SoSs) that offer value-added functionality. The success of such an approach calls for abstracting the heterogeneity of systems and enabling the programmatic construction of SoSs with minimal developer intervention. We propose a general ontology-based approach to describe distributed systems, seeking to achieve abstraction and enable runtime reasoning between systems. We also propose an architecture for systems that utilizes such ontologies to enable systems to discover and âunderstandâ each other, and potentially compose, all at runtime. We detail features of the ontology and the architecture through three contrasting case studies: one on controlling multiple systems in smart home environment, another on the management of dynamic computing clusters, and a third on autonomic connection of rescue teams. We also quantitatively evaluate the scalability and validity of our approach through experiments and simulations. Our approach enables system developers to focus on high-level SoS composition without being constrained by deployment-specific implementation details. We demonstrate the feasibility of our approach to raise the level of abstraction of SoS construction through reasoned composition at runtime. Our architecture presents a strong foundation for further work due to its generality and extensibility
QoS awareness and adaptation in service composition
The dynamic nature of a Web service execution environment generates frequent variations in the Quality of Service offered to the consumers, therefore, obtaining the expected results while running a composite service is not guaranteed. When combining this highly changing environment with the increasing emphasis on Quality of Service, management of composite services turns into a time consuming and complicated task. Different approaches and tools have been proposed to mitigate the impacts of unexpected events during the execution of composite services. Among them, self-adaptive proposals have stood out, since they aim to maintain functional and quality levels, by dynamically adapting composite services to the environment conditions, reducing human intervention. The research presented in this Thesis is centred on self-adaptive properties in service composition, mainly focused on self-optimization. Three models have been proposed to target self-optimization, considering various QoS parameters, the benefit of performing adaptation, and looking at adaptation from two perspectives: reactive and proactive. They target situations where the QoS of the composition is decreasing. Also, they consider situations where a number of the accumulated QoS values, in certain point of the process, are better than expected, providing the possibility of improving other QoS parameters. These approaches have been implemented in service composition frameworks and evaluated through the execution of test cases. Evaluation was performed by comparing the QoS values gathered from multiple executions of composite services, using the proposed optimization models and a non-adaptive approach. The benefit of adaptation was found a useful value during the decision making process, in order to determine if adaptation was needed or not. Results show that using optimization mechanisms when executing composite services provide significant improvements in the global QoS values of the compositions. Nevertheless, in some cases there is a trade-off, where one of the measured parameters shows an increment, in order to improve the others
Recommended from our members
Context Aware Web-Service Monitoring
Monitoring the correct behaviour of a service-based system is a necessity and a key challenge in Service Oriented Computing. Several efforts have been directed towards the development of approaches dealing with the monitoring activity of service-based systems. However, these approaches are in general not suitable when dealing with modifications in service-based systems. Furthermore, existing monitoring approaches do not take into consideration the context of the users and how this context may affect the monitor activity. Consequently, a holistic monitor approach, capable of dealing with the dynamic nature of service-based systems and of taking into consideration the user context, would be highly desirable.
In this thesis we present a monitor adaptation framework capable of dealing with changes in a service-based system and different types of users interacting with it. More specifically, the framework obtains a set of monitor rules, necessary to verify the correct behaviour of a service-based system, for a particular user. Moreover, the monitor rules verifying the behaviour of a service-based system relate to properties of the context types defined for a user.
The main contributions of our work include the general characterisation of a user interacting with a service-based system and the generation of suitable monitor rules.The proposed framework can be applied to any service composition without the need of further modifications. Our work complements previous research carried on in the area of web service monitoring. More specifically, our work generates a set of suitable monitor rules - related to the user context - which are deployed in a run-time monitor component. Our framework has been tested and validated in several cases considering different scenarios
Recommended from our members
A Proactive Adaptation Framework for Composite Web Services
Service orientation is a design paradigm consisting of a set of principles governed by a service-oriented architecture (SOA) to support the creation of software systems as a composition of interoperable services. The ability to effectively compose services is not a trivial task due to the dynamic nature of the execution environment of service compositions. In this context, dynamic service selection and composition is a critical requirement and one of the major research challenges for service-based systems.
This research investigates the identification, detection and prediction of the need for adaptation as well as ways to autonomously reconfigure the service composition during its execution time in order to improve service reliability and conformance with systems requirements and policies. We propose a framework for proactive adaptation of service compositions that extends current approaches for dynamic service composition by proactively and individually identifying the need for adaptation for each parallel running instance of service composition while avoiding unnecessary changes and distributing load request among different service operations when necessary.
Our framework has been tested and validated using different prototypes implemented in both simulated and real environments. The results were favourable with the research objectives and indicates a major gain in the use of the proposed proactive techniques in the execution and adaptation of web service compositions