Deriving Explicit Data Links in WSBPEL Processes - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Deriving Explicit Data Links in WSBPEL Processes

Description:

O. Kopp, R. Khalaf, and F. Leymann, 'Deriving Explicit Data Links in WS-BPEL ... It takes the negated value of mbd?(l, ve) as the current status of each link l ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 30
Provided by: selabCsi
Category:

less

Transcript and Presenter's Notes

Title: Deriving Explicit Data Links in WSBPEL Processes


1
Deriving Explicit Data Links in WS-BPEL Processes
  • Report Kuang-Shun Liao

2
Reference
  • O. Kopp, R. Khalaf, and F. Leymann, Deriving
    Explicit Data Links in WS-BPEL Processes, IEEE
    International Conference on Services Computing
    (SCC'08), July 2008, pp.367-376.

3
Outline
  • Challenges of Dead Path Elimination (DPE)
  • The Algorithm
  • Explicit Data Links
  • Analysis Result for the Example Process
  • Conclusion

4
Challenges of Dead Path Elimination (DPE)1/3
  • wx activity writing to variable x
  • rx activity reading from variable x
  • a activity not reading or writing
  • jc join condition
  • tc link with explicit transition condition
  • l link with default transition condition
    true

5
Challenges of Dead Path Elimination (DPE)2/3
  • Case 1
  • tc1 false
  • jc1 logical AND over the status of all incoming
    links

dead
AND
false
true
false
dead
false
true
6
Challenges of Dead Path Elimination (DPE)3/3
  • Case 2
  • tc1 false
  • jc1 logical OR over the status of all incoming
    links

dead
OR
false
true
false
dead
true
true
7
The Algorithm
  • Notations Used in Algorithm
  • Handling Complex Type
  • Static Analysis
  • Store the State of a Writing Activity
  • Analysis of a Given BPEL Process
  • Handling of an Activity
  • Handling Incoming Links
  • Handling a Basic Activity
  • Handling a Flow Activity
  • Handling a Link

8
Notations Used in Algorithm1/3
  • Abasic
  • The set of all basic activities
  • process
  • The process element
  • Aflow
  • The set of all flow activities
  • A
  • The set of all activities
  • A Abasic ? process ? Aflow
  • C
  • Set of all Boolean conditions
  • pi(t)
  • Returns the projection to the ith component of a
    tuple t
  • L
  • All control links in flow activities
  • LR ? A L A
  • The control link relation
  • P(S)
  • Denotes the power set of a set S
  • Lin A ? P(L)
  • Returns the set of all incoming links of an
    activity
  • Lout A ?P(L)
  • Returns the set of all outgoing links of an
    activity

9
Notations Used in Algorithm2/3
  • jc A ? C ? ?
  • Returns the join condition of the given activity
  • ? denotes an undefined join condition
    defaulting to the logical OR of all incoming
    links
  • HR ? A A
  • The hierarchy relation denoting the nesting of
    activities
  • Let h (p, a) ? HR. Then p is a parent of a
  • children A ?P(A)
  • Returns the set of all children of the given
    activity with respect to HR
  • descendants A ? P(A)
  • Returns the set of all transitive children of the
    given activity with respect to HR
  • V
  • Set of all variables including the variable
    implicitly declared at fault handlers
  • QV
  • Set of all queries for accessing locations in
    variables
  • If the whole variable is accessed, the query is
    empty (e)

10
Notations Used in Algorithm3/3
  • EQV ? V QV
  • The set of tuples of a variable v and a (valid)
    query q on v
  • ? EQV
  • The set of variable elements written by
    activities
  • w A EQV ? B
  • Returns true iff the given activity completely
    changes the given variable element and not only
    parts of it
  • r A ?L EQV ? B
  • Returns true iff the given activity or link
    completely reads the given variable element

11
Handling Complex Type
  • The function returning the set of possible
    writers for a given activity or link and variable
    element during program execution
  • An activity is contained in poss? if it
    completely writes to ve

12
Static Analysis
  • Bernstein Criterion
  • There may be no writes happening in parallel to
    reads on the same variable
  • States of a writing activity
  • possible writer
  • If the data written by writing activity w can
    reach activity a
  • disabled writer
  • If it is overwritten by a subsequent writer
  • invalid writer
  • A writer can also be disabled completely and thus
    become invalid

13
Store the State of a Writing Activity1/2
  • The current state of the writes to the given
    variable element is assigned to every link and
    activity
  • returns the current states of the writes after
    the activity or the link has been interpreted

14
Store the State of a Writing Activity2/2
  • Returns the activities which are possible writes
    to the variable element ve at position x in the
    BPEL process
  • x can be an activity or a link
  • Returns the activities which were overwritten by
    preceding writes from a path leading from the
    root to position x
  • Returns true iff x may be not executed due to DPE
    on a path from any directly preceding writer (or
    from the root node if there is no directly
    preceding writer) to x

15
Algorithm 1 Analysis of a Given BPEL Process
16
Algorithm 2 Handling of an Activity1/3
17
Algorithm 2 Handling of an Activity2/3
18
Algorithm 2 Handling of an Activity3/3
19
Handling Incoming Links
  • Set P of Possible Writers
  • Algorithm 3 - Determining the Set P of Possible
    Writers
  • Set D of Disabled Writers
  • Algorithm 4 - Determining the set D of disabled
    writers
  • State Dead (d) of an Activity
  • Algorithm 5 - Determining whether an activity may
    be dead

20
Algorithm 3 Determining the Set P of Possible
Writers
21
Algorithm 4 Determining the Set D of Disabled
Writers
22
Algorithm 5 Determining whether an activity
may be dead
  • It takes the negated value of mbd(l, ve) as the
    current status of each link l in the join
    condition of the given activity a and evaluates
    the join condition
  • ????????join condition??,?????not,??d (may be
    dead)??

23
Process Illustrating
false
false
false
true
true
true
true
false
false
!(!true OR !false) gt !true gt false
!(!true AND !false) gt !false gt true
mbd(x, ve)
24
Algorithm 6 Handling a Basic Activity
25
Algorithm 7 Handling a Flow Activity
a
l
a
26
Algorithm 8 Handling a Link
a
l
a
27
Explicit Data Links
  • The set of all data links in the given BPEL
    process
  • w is an activity writing data
  • z is an activity or a link possibly reading the
    data written by w

28
Analysis Result for the Example Process
AND
29
Conclusion
  • ???????WS-BPEL????DPE???,????????????(write)
    ???(read)?????????(activity)???(link),????????,???
    ?????WS-BPEL?????
  • ????????flow activity??structure
    activity????,????????????????????WS-BPEL?????
  • ??,??????transition condition ?join
    condition?????????,???????condition?????
Write a Comment
User Comments (0)
About PowerShow.com