Premium
Reactive behavioural adaptation of service compositions
Author(s) -
Tretola Giancarlo,
Zimeo Eugenio
Publication year - 2019
Publication title -
journal of software: evolution and process
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.371
H-Index - 29
eISSN - 2047-7481
pISSN - 2047-7473
DOI - 10.1002/smr.2201
Subject(s) - computer science , adaptation (eye) , set (abstract data type) , context (archaeology) , exploit , continuation , service (business) , autonomic computing , event (particle physics) , web service , action (physics) , complex event processing , distributed computing , scale (ratio) , software engineering , programming language , process (computing) , computer security , cloud computing , paleontology , physics , economy , quantum mechanics , optics , economics , biology , operating system
We are assisting to a paradigmatic shift in developing Web applications since their components are often distributed and deployed as services among different organizations. Their logic is based on a set of actions that can be linked together by exploiting higher level languages more suitable to address the scale of the Web. On this multi‐organization scale, applications can be influenced by different context events generated by the environment where they run. Handling these events requires run‐time adaptations of the application's behaviour to react, properly and quickly, to changes. The paper addresses these needs by proposing a programming paradigm based on “autonomic service compositions,” ie, compositions that are able to self‐change their structure, according to a specific life cycle, to allow for the continuation of execution, even if unexpected events arise. The approach exploits autonomic computing and reasoning for taking decision on information collected during processes execution. Autonomic actions on composition structures are performed using Event Condition Action rules and a set of meta‐operations. The approach is detailed, analysed, and discussed with reference to some examples derived from a real‐world application.