A Framework for Situation-Aware Adaptation of Service-Based Applications

Abstract. This paper presents Situation Action Networks, a new framework for modelling Service-Based Application adaptation triggered by interesting or critical situations. The framework is based on a goal model able to track at run time the
of 9
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
  A Framework for Situation-Aware Adaptation of Service-Based Applications Ioannis Patiniotiakis, Nikos Papageorgiou, Yiannis Verginadis, Dimitris Apostolou,Gregoris Mentzas National Technical University of Athens, Iroon Polytechniou 9, 15780 Zografou Campus,Athens, Greece{ipatini, npapag, jverg, dapost, gmentzas} Abstract. This paper presents Situation Action Networks, a new framework formodelling Service-Based Application adaptation triggered by interesting orcritical situations. The framework is based on a goal model able to track at runtime the fulfilment of goals. Situation Action Networks are tree-likehierarchical structures which enable goal decomposition into sub-goals andprimitive actions in a recursive fashion which provides goal seeking executionplans, as a sequence of primitive actions. Situation Action Networks aredynamic and can evolve at runtime by using their inherent planning capabilities. Keywords: Situation Awareness, Event-driven Adaptation 1 Introduction Future Internet, an initiative emerged to bring together and interconnect services,objects and things of the real world to meet the changing global needs of business, ischallenging the applications which need to consolidate various technologies such asService-Oriented Architectures, Cloud Computing and Wireless Sensor Networks andhandle dynamic and continuous changes propagated though the different technologystacks. This poses the challenge of application adaptation, the ability to reconfigureapplications so as to support continuous, unimpeded augmentation of services inresponse to changing environmental circumstances. The notion of adaptation has been extensively studied in the computer sciencedomain as it is considered as one of the most desired functionalities of today’s highlydynamic, distributed and ubiquitous environments in the service-oriented environment[17]. Adaptation, the process of modifying a system or application in order to satisfynew requirements and to fit new situations, can be performed either becausemonitoring has revealed a problem or because the application identifies possibleoptimizations or because its execution context has changed.Our work focuses on the discovery of critical or interesting situations of theenvironment that are not ordinary – so called ‘extraordinary’ situations – and weemploy event processing as a means to detect and reason about situations. In event-driven architectures, services generate, consume and exchange events  2 Ioannis Patiniotiakis, Nikos Papageorgiou, Yiannis Verginadis, Dimitris Apostolou,  Gregoris Mentzas asynchronously, following the pub-sub paradigm. Events which are relevant tospecific Service Based Applications (SBAs) [24] can provide a means to discoverextraordinary situations. Event processing, a paradigm of choice in many monitoringand reactive applications, enables events to be propagated, filtered aggregated andcomposed into mode complex events enabling detection of situations [15]. Our workaims to enhance the user's experience when interacting with an SBA by adapting thesystem behaviour to situations. In this paper, we present specific requirements forsituation-aware adaptivity and outline Situation Action Networks (SANs), amodelling and execution framework for recommending SBA adaptations in responseto extraordinary situations. 2 Requirements for Situation-Aware Adaptation  To describe the requirements for situation-aware adaptation, we consider a crisismanagement scenario, which focuses on crisis situations related to a nuclear accident.Consider for example the case of a nuclear accident that caused radiation leakage anda grid of radiation sensors that monitors radiation levels in the area around the plant. The emergency plan prescribes that the Civil Protection Service subscribes to allsensors in a certain perimeter around the plant in order to detect the movement of theradioactive cloud. An extraordinary situation could be that in a short time after theaccident, the wind increases and changes direction (e.g., North-West direction) whilethe weather forecast indicates that the wind direction will remain the same for the restof the day. The ideal reaction to this situation, both in terms of cost and loadprocessing, would be for the system to be subscribed at the right time only to eventscoming from sensors located south-east of the plant and are in a certain distance fromit, which depends on the wind’s velocity or other weather conditions like humidity.Based on the information gathered from radiation sensors, authorities expect thatcertain cities south-east of the plant will be affected and need to inform people inthese areas to follow some precautions or evacuate the area. This is normally done bytransmitting TV and Radio messages, however, in the extraordinary situation in whichthere is a power loss, a proper reaction would be to deploy police forces and informpeople using manual means such as speakerphones.By studying similar scenarios identified within the PLAY FP7 ICT project(, we summarise the following requirements for situation-awareadaptivity (Table 1).  Table 1. Requirements for Situation-Aware Adaptivity Requirement DescriptionSituationAwarenessSituation awareness refers to the discovery of extraordinary situations. These situationsare detected through the processing of the events generated both at the internal andexternal to the application environments. For example: the ‘no measurements’ situationoccurs when no ‘radiation measurement’ events are received from measurement stations,probably due to electricity shortage.  A Framework for Situation-Aware Adaptation of Service-Based Applications 3 Contextchecking andupdating This requirement ensures that the exchanged events and occurring situations are related tothe application or service or process context, and furthermore using context to ‘get themeaning’ of events and situations. For example: weather information along with details of the detected nuclear accident could denote interesting/critical situations.Planningreactions The ability to recommend a change in the normal process to circumvent an extraordinarysituation, for instance: to dispatch police forces in the affected cities and inform peopleusing speakerphones in case of electricity black-out instead of using the mass media. It isexpected that in several cases the reactions to take will not be known a priori or even atdesign time. The approach for event-driven adaptivity should be able to select the mostsuitable reaction at runtime, when the reactions need to be taken.Adapting anSBA basedon detectedsituations This requirement is related to the analysis of the SBA and to the recommendations, basedon situations, of appropriate adjustments to the service parameters and overall executionflow. For example, the Civil Protection Service should adapt to support informing peopleusing manual means instead of using the mass media.Findingrelevantevent sourcesat the righttime The ability to recommend subscription to event sources as a response to exceptionalsituations, e,g,: detection of nuclear accident and north-west direction strong wind withthe weather forecast indicating that it will continue for the rest of the day constitutes aninteresting situation upon which an SBA should react and try to acquire meaningfulinformation from a subset of all the possible event sources. 3 Situation Action Networks  To address the specific requirements for situation-aware adaptivity, we need amechanism able to model desired, meaningful SBA reactions to extraordinarysituations without predefining all possible details at design time. The approachpresented in this paper starts from powerful models to enforce the fulfilment of goalsby SBAs. It assumes the adoption of a goal model able to track the fulfilment of goalsat run time. We propose Situation Action Networks (SANs), a modelling frameworkthat can be used for defining systems’ reactions to extraordinary situations that canoccur before the goal is fulfilled. In order to deal with the challenge of not having tomodel all possible reaction details at design time, we adopt the idea of hierarchal goaldecomposition from Hierarchical Task Networks (HTNs), see e.g., [23] and Behavior Trees (BTs), see e.g., [21]. The main underpinning of SANs is to allow for high leveldefinitions of goals, extraordinary situations and corresponding reactions at designtime and to provide a reasoning mechanism that will be able to recommend at runtime adapted reactions to detected extraordinary situations. SANs are tree structureswhose nodes carry specific semantics used to model goal decompositions, enrichedwith flow control and planning capabilities. They provide a means to recursivelydecompose goals into subgoals, subgoals of subgoals, down to primitive actions. Theyfurthermore provide plans for seeking and achieving the high-level goals. A plan isthe order in which primitive actions should be taken, and the way they should becombined, in order to fulfil a goal. The simplest SAN possible is a two level tree with a parent (root) node and threechild nodes, each of them having a distinguished role. Parent node models the Goalsought. The leftmost child node describes a situation that must occur, in order to startgoal seeking. The middle child node requires that a specific condition is true beforegoal seeking starts, but after situation occurs. The rightmost child node specifies theaction to be taken in order to fulfil the goal. Rightmost node can also be a subgoal  4 Ioannis Patiniotiakis, Nikos Papageorgiou, Yiannis Verginadis, Dimitris Apostolou,  Gregoris Mentzas node (or second-level goal) with its own three child nodes, or it can even be aconstruct joining several subgoals in sequence or in parallel. These possibilities willbe presented in the following sections. The basic layout of a SAN is depicted below(Fig. 1). Fig. 1. Basic Modeling Primitives of SANs (The black arrow indicates the order of visitingchild nodes. Parent is visited fist.) Goal / Subgoal nodes model Goals and Sub-Goals that must be achieved andprovide the means for Goal decomposition. Subgoal nodes are Goal nodes with aparent node. When a Goal is visited, the tree traversal immediately continues to itschild nodes, from left-most to right-most. If all of child nodes are successful then theGoal is successful too. Situation nodes are leaf nodes with a Goal node as parent. They model extraordinary situations expressed as Complex Event Patterns (CEPATs)[2]. Context Condition nodes are leaf nodes, with a Goal parent. They expresscontextual conditions that must be true in order to perform an action. Action nodes areleaf nodes with a Goal as parent. They describe primitive tasks to be carried out, assoon as the node is visited (if the situation occurs and the contextual condition istrue). Tasks must successfully complete or fail before SAN execution algorithmcontinues. Decorator nodes are inserted between a Goal node and an Action orSubgoal node, and carry behavioural specifications on how the subordinate Actions orSubgoals should be executed. Depending on the type of Decorator, SAN traversal canbe modified (loop, condition, timer, exception handler and success or failuredecorators) or interact with and influence contextual information (counter andcondition decorators).SAN execution is defined as the SAN tree traversal, i.e. visiting of SAN nodes oneby one, and the execution of tasks associated to each one, using the parametersdefined in the node. Therefore, SAN nodes are not mere structural elements of thetrees, as ordinary tree nodes, but rather ‘active’ entities containing certain types of functionality and information. The traversal pattern of SAN trees is similar to the‘depth-first in preorder’ binary tree traversal algorithm, extended to support flowcontrol, process logic and planning constructs. The order of depth-first preordertraversal is visiting the parent node first and then its (immediate) child nodes from leftto right, i.e. parent node, left child, right child. If a child node has children it is alsotraversed using the same pattern.SANs and their execution algorithm differ from binary trees and the ‘depth-first inpreorder’ algorithm in that they use three child nodes (Situation, Context Conditionand Action child nodes) rather than two as in binary trees. Therefore the traversalorder is modified to include the middle child node and it becomes Parent / Goal node,Left / Situation child node, Middle / Context Condition node and Right / Action or  A Framework for Situation-Aware Adaptation of Service-Based Applications 5 Sub-goal node. A second difference is that SAN nodes are of different types, namelyGoal/Subgoal nodes, Situation nodes, Context Condition nodes, Action nodes,Decorator nodes. Each class of nodes, apart from a name / identifier, it also requiresthat its instance nodes have some extra class-specific information; more specifically,the node execution parameters. SAN nodes are ‘executable entities’ meaning thatwhen visited, during traversal, they carry out certain tasks. The node semanticscontain task description and execution parameters. The task to be carried out variesamong different node classes. It is also worth mentioning that SAN traversal freezeswhile a node task is been executed. 4 Illustrative Example and Discussion In this section we present a SAN usage example in the crisis scenario. The example(Fig. 2) models extraordinary situations that may occur when aiming to inform thepublic about a nuclear emergency, such as electricity black-outs, damages to massmedia or broadcast services, etc. The related SAN is a two-level tree where the firstlevel checks whether it is necessary to monitor for extraordinary situations related tothe primary goal which is to inform public about a nuclear emergency, whereas thesecond level monitors situations that might hamper the authorities’ capability toinform the public and recommends alternative means of communication. Fig. 2. SAN for recommending means of informing the public in case of nuclear contamination  The example highlights the concept of situation abstraction whose purpose is tomodel generic situations which can be mapped to various real-world situationsoccurring at run-time. The blue ovals in the dashed box under abstract situation‘Inform Problem’ are examples of situations that might be detected by the abstractsituation. Additionally, the example includes abstract actions, leaf tree nodes whichwhen visited they have to determine on-the-fly the task they should carry out,selecting it from a predetermined repository of actions called Action Pool. The green
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks