Download presentation
Presentation is loading. Please wait.
Published byEstefani Troughton Modified over 10 years ago
1
A formalisation of Adaptable Pervasive Flows A. Bucchiarone 1, A. Lluch Lafuente 2, A. Marconi 1 and M. Pistore 1 1 FBK-IRST of Trento (Italy) 2 Department of Computer Science, University of Pisa (Italy)
2
Outline Background Warehouse Management Case Study Adaptable Pervasive Flows (APFs) Modeling Entities Modeling Flows Modeling Adaptation APFoL : A formal language for APFs The Box Unloading example Conclusions and Future Work
3
Door3Door3 Door2Door2 Door1Door1 Staging area 1 Staging area 2 Storage New truck is approaching I’m coming from Trento, carrying 30 boxes of apples I’m full 5 more minutes here and I’ll perish Bring me to staging area 2 I’m NOT supposed to be stored here! Give me the receipt (and I’ll get rid of this crazy warehouse) NOT close to me! I’m free real world interaction Unload truck at door 1 coordination procedures context-awareness situatedness dynamicity mobility constraints goals
4
Door3Door3 Door2Door2 Door1Door1 Staging area 1 Staging area 2 Storage New truck is approaching I’m coming from Trento, carrying 30 boxes of apples I’m full 5 more minutes here and I’ll perish Bring me to staging area 2 I’m NOT supposed to be stored here! Give me the receipt (and I’ll get rid of this crazy warehouse) NOT close to me! I’m free real world Adaptable interaction Unload truck at door 1 coordination procedures Flows Pervasive context-awareness situatedness dynamicity mobility constraints goals
5
Adaptable Pervasive Flows (APFs) – I APF are workflows with the following characteristics: Situated in the real world: they can be logically or physically attached to entities like artifacts or people, moving with them through different contexts. The box flow is attached logically to a box, and can be (partially) executed by a device on the truck and the worker PDA. Context aware: they can sense the context pertaining to their entity’s current environment as well as the entity’s actual activities. While they are carried along, they model the behavior intended for their entity, and adapt the entity’s environment to this behavior. The flow itself adapts to reflect changes in the environment.
6
Modeling Entities Entities = any thing of the real world that is relevant to the flow Model devices, objects, persons Characterized by a set of context properties Flow Attachment Context Frame Entity
7
Basic control elements: Abstract activity Message sending activity Message receiving activity Human interaction activity Data manipulation activity Flow scope Context event Context predicate Context constraint on a flow activity/scope Modeling Flows Data/context elements: input parameter variable constant context frame Structured control elements: Exclusive decision (IF) Event-based exclusive decision (PICK) Parallel fork/join
8
Modeling Adaptation Built-in Contextual Adaptation Tools Contextual Switch scopes represent branches in the flow execution each scope has an associated context condition can have a “default” scope operational semantics: similar to traditional switch
9
Modeling Adaptation Built-in Contextual Adaptation Tools Context Handler associated to a flow or a flow scope specifies a set of context conditions then corresponding flows to be performed in case the context condition is violated operational semantics: fault-triggering condition all active tasks in the main flow are stopped and corresponding flow is executed if the main flow is a flow scope, the fault is propagated to the enclosing scope event-triggering condition Non-blocking: execution of the main flow proceeds normally and corresponding flow is executed concurrently Blocking: execution of the main flow suspends, then corresponding flow is executed and finally the main flow is resumed
10
Modeling Adaptation Built-in Contextual Adaptation Tools Contextual OneOf a scope is associated to a contextual condition and has a roll-back flow to undo partial and unsuccessful work operational semantics: first scope for which the condition holds is chosen and executed context condition is monitored during execution. If violated: 1. terminate all active tasks in the scope 2. roll-back running scope 3. select first sub-flow for which the context condition holds 4. jump to the selected scope
11
Modeling Adaptation Built-in Contextual Adaptation Tools Cross-context link (CL) adds the ability to jump from an execution state of the current activity to an activity from a different scope suitable for the current context after the jump the flow instance must be in a consistent state ⇒ each CL has a roll-back flow containing: roll-back activities for the current scope activities needed to prepare the flow to execute the new scope
12
Problem we tackle here: The Allow project has chosen WS-BPEL as a nucleus for an APF language In [*] the authors extend WS-BPEL with adaptation constructs Define a formal semantics for APFs To agree on APFs informal definitions To help run-time engines development To provide verification and analysis tools Blite, process calculus, as a starting point of our formalization No new semantics Workflows and Adaptation Mechanisms [*] A. Marconi et al. Enabling Adaptation of Pervasive Flows: Built-in Contextual Adaptation [ICSOC’09]
13
Overall Idea
14
Blite * Formal Language for describing web service orchestrations. Process Calculus with a well-defined syntax and operational semantics Main features Service definition and instantiation Typical flow constructs Communication primitives Failure handling and compensation mechanisms * A. Lapadula et al. A formal account of WS-BPEL. [Coordination’08]
15
APFoL : Introduction Formal Language for APFs with encoding in Blite The encoding automatically equips our language with a formal semantics Textual Notation : Syntax It extends the syntax of Blite with ad-hoc constructs for built-in adaptation mechanisms Visual Notation Informal visual notation, which we plan to formalise in the future (graphical encoding)
16
APFoL : Syntax
17
APFoL: Simple Constructs SymbolNameAPFoLBlite Encoding Abstract Activitya Sending Activity Receiving Activity Data Activity Interaction Activity as communication Context Event Internal Event Constrained Scope Pick Contextual IF
18
APFoL: Context Handler
19
APFoL: Contextual One-of
20
APFoL: Contextual One-of with cross-context link
21
The Box Unloading example Box flow The Box can be damaged before or during transportation and at any point while the box is being unloaded to the staging area.
23
Conclusions We have described a preliminary version of APFoL. A language for APFs with formal support. Textual notation is based on Blite, a process calculus for WS-BPEL. APFs provides a well-defined semantics (Blite semantics). The formalisation as a process calculus (Blite) facilitates the use of automated verification techniques. Our approach has been illustrated with examples from the Warehouse case study of the ALLOW Project.
24
Future Work Direct implementation of Blite semantics in the rewrite engine MAUDE Model Checking and Theorem Prover analysis tools provided by MAUDE We plan to develop a graph-based formalisation of our visual notation Formalise the relation between textual and visual notation To enable the use of graph transformation techniques and tools To investigate the connection with similar approaches in the DBs community around the notion of business artifacts Flows attached to physical objects moving through different contexts
25
MONA+ 2009 Workshop on Monitoring, Adaptation and Beyond A Workshop held at the Joint ICSOC&ServiceWave 2009 Conference 23 or 24/11/2009 Stockholm, Sweden http://www.s-cube-network.eu/MONA2 http://www.s-cube-network.eu/MONA2 Submission Deadline: Sep 14, 2009
26
Thank you! Antonio Bucchiarone, PhD Researcher at SOA Unit, FBK Trento – ITALY bucchiarone@fbk.eu bucchiarone@fbk.eu
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.