SlideShare a Scribd company logo
International Conference on Services Computing
SCC 2008 – http://conferences.computer.org/scc/




Deriving Explicit Data Links in
    WS-BPEL Processes
    WS BPEL




    Oliver Kopp, Rania Khalaf, Frank Leymann
       Institute of Architecture of Application Systems




                                                          oliver.kopp@iaas.uni-stuttgart.de
Background and Motivation

            For splitting BPEL-processes, the dataflow edges
            have to be known
                      i.e. the def-use-edges (writer-reader-relation)
                                                                                                   3
                           1       1
                                                                  2
             0                 1            2


                                                                                                       2
                                                                                           1
                                                                                               5
                                                4
                           3
                               0
              3




                                                 w2 and w3 are possible writers for r1
                                                 w1 is a possible writer for r2


                                       Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                                   2
Weaknesses of existing approaches


            No direct support for DPE
                      AND-join “optimization” not built in


            No support for compound variables




                                     Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                 3
Basic idea


            Considering flow only
                      No scope, no loop
                            p,        p


            Overapproximation
            O         i ti
                      A dataflow-edges too much is better than a
                                   g
                      dataflow-edge too less




                                  Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                              4
The function writes
           writes : (A [ E) £ V ! 2A £ 2A £ 2A £ B
                      Possible writers
                      Disabled writers
                      Invalid writers
                      May-be-dead




                                    Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                5
Writers before and after interpretation of an activity

            writes is split up
            writes± returns the result before interpreting an
              it
            activity
            writes² returns the result after interpreting an
            activity




                                 Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                             6
Initialization

          writes± (a; v) Ã (;; ;; ;; false)
          writes² ( v) Ã (; ; ; f l )
            i     (a; )  (;; ;; ;; false)




                                Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                            7
interpretActivity
            interpretActivity : A £ V £ 2A £ 2A £ 2A £ B ! 2A £ 2A £ 2A £ B
            Handles writing activities
                            g
            Handling of joinConditions is taken into account by
            joinLinks() (see later)
            If a is no writer: identitiy.
            Otherwise: If there was a transition condition:
                      Possible writers are di bl d
                      P   ibl    it        disabled
            Else
                      Possible writers get invalid
            Activity itself may not get disabled or invalid

                                              8
                                              >
                                              <(fag; D [ P n fag; I; false) w(a; v) ^ d
     interpretActivity : (a; v; P; D; I; d) 7! (fag; D; I [ P n fag; false) w(a; v) ^ :d
                                              >
                                              :
                                               id                           :w(a; v)
                                        Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                    8
Step from an activity to a link

          writes± (l; v) Ã writes² (V ¡ (l); v)
                      Link h
                      Li k has only one source activity. Th f
                                   l              ti it Therefore,
                      the result from the source activity can just be
                      taken
                      t k as i  inputt
                    writes² (l; v) Ã (poss± (l; v);
                            (; )     (p      ( ; );
                                      dis± (l; v);
                                      inv± (l; v);
                                           ( ; );
                                      mbd± (l; v) _ :alwaysTrue(tc(l)))
                      everything is p
                          y    g preserved, existence of tc
                      possibly evaluating to false is noted


                                      Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                  9
Step from a link to an activity

             writes± (a; v) Ã joinLinks(a; v)
             writes² (a; v) Ã interpretActivity(a; v; writes± (a; v))
                             is joining the information of the
             j
             joinLinks(a; v)
                      (; )

            incoming links
                                            handles
                                            h dl one iincoming
                                                             i
             interpretActivity(a; v; : : :)
             i        A ii (              )

            link (which was created by joinLinks)




                               Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                           10
joinLinks: Possible Writers

                                                                     joins the information
           joinLinks : (a; v) 7! (P; D; I; d)
            on the incoming links
            An OR join may revive disabled writers
                    j        y
            If each incoming link disables a writer, this
            writer will not revive at this join (i e it
                                                (i.e.,
            remains disabled)
               [
      8
      >                 possible(l; v)
      >                                                                                           (jc(a) = AND) _ (jE ¡ (a)j = 1)
      <
            l2E ¡ (a)
               [                                                
P=
      >                 possible(l;
                        possible(l v) [ disabled(l v) n
                                        disabled(l;                      disabled(l;
                                                                         disabled(l v) otherwise
      >
      :
            l2E ¡ (a)                                        l2E ¡ (a)



                                                                                 plus: Link may not have a
                                                                                 negative join condition
                                              Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                                                    11
joinLinks: Disabled Writers

            joinLinks : (a; v) 7! (P; D; I; d)
            An OR join revives disabled writers
               OR-join                   writers.
            But not these, which are disabled on all paths
                             [
                  8
                  >                    disabled(l; v) (jc(a) = AND) _ (jE ¡ (a)j = 1)
                  >
                  <
                           l2E ¡ (a)
                             
      D=
                  >                    disabled(l; v) otherwise
                  >
                  :
                           l2E ¡ (a)




                                              Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                          12
joinLinks: Invalid Writers

            joinLinks : (a; v) 7! (P; D; I; d)

            All invalid writers remain invalid
                  [
                   I=                invalid² (l; v)
                           l E¡( )
                           l2E (a)




                                                   Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                               13
joinLinks: May be Dead
            joinLinks : (a; v) 7! (P; D; I; d)
                 8
                                      alwaystrue(jc(a))
                 < f alse
                                      negations(jc(a))
              d à true
                 :
                   :[[a; v ]]jc ²     otherwise
                             :mbd

            Activity a may never be dead even if dead paths may
                                     dead,
            reach a. For example: There is one path, which is not
            dead and activity a contains an “OR” join condition.
                            y                    j
            mbd² (l1 ; v ) = true; mbd² (l2 ; v ) = fale; jc(a) = l1 _ l2

                     Use the negated value of mbd of each link
                                                          link,
               jc
      :[[a; v]]:mbd² Interpret the join condition on it,
                     And use the negated result
:[[a; v]]jc ² = :(:mbd² (l1 ; v) _ :mbd² (l2 ; v)) = :(:true _ :f alse) = :(true) = f alse
         :mbd




                                         Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                     14
Complex Types

            Problem:
            $v and $v part exist in real BPEL processes
                   $v.part
            Example:
                           w1: write to $v.p1                                           w2: write to $v.p2

            Solution: Build a lattice for each variable
            Each node of the lattice is called “variable element”

                                            $v

                                                                $v.part2
                                 $v.part1


                                        Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                                     15
Handling of Complex Types

                          if a completely writes to ve
         w(a; ve ) = true

         r(a; ve ) = true if a completely reads ve
          (

           Data link has to be created from w to z,
           if w reaches z and z reads a variable element,
           where parts were changed by w
                                                     0    0
            DL := f(w; z) j z 2 A [ L; w 2 poss±(z; ve); ve v ve; r(z; ve) = trueg

            Sta t the analysis o each a ab e element
            Start t e a a ys s for eac variable e e e t
                      Optimization: Iterate at each activity over all variable
                      elements




                                     Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                 16
Loops

              is the key
             t
            The current data of writes(l v) has to be
                                writes(l,v)
            combined with writes(nested(l,v))
                      A while activity d
                         hil    ti it does not write t a variable it lf
                                             t it to        i bl itself
            Terminate if writes(l,v) do not change




                                     Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                                 17
Future Work




                           Deriving Explicit Data Links in WS-BPEL Processes
Presented by Oliver Kopp                                                       18

More Related Content

Viewers also liked

Marketing for creatives 2016
Marketing for creatives 2016Marketing for creatives 2016
Marketing for creatives 2016
Linda Parkinson-Hardman FRSA
 
The 3 Faces of Business
The 3 Faces of BusinessThe 3 Faces of Business
The 3 Faces of Business
Linda Parkinson-Hardman FRSA
 
5 Top Tips for the LinkedIn Perfect Profile
5 Top Tips for the LinkedIn Perfect Profile5 Top Tips for the LinkedIn Perfect Profile
5 Top Tips for the LinkedIn Perfect Profile
Linda Parkinson-Hardman FRSA
 
The Power of GROUP is Infinite
The Power of GROUP is InfiniteThe Power of GROUP is Infinite
The Power of GROUP is Infinite
Linda Parkinson-Hardman FRSA
 
Making A Good Presentation Great
Making A Good Presentation GreatMaking A Good Presentation Great
Making A Good Presentation Great
Linda Parkinson-Hardman FRSA
 
Taking your offline networking skills onto LinkedIn
Taking your offline networking skills onto LinkedInTaking your offline networking skills onto LinkedIn
Taking your offline networking skills onto LinkedIn
Linda Parkinson-Hardman FRSA
 
Creating an e-marketing strategy
Creating an e-marketing strategyCreating an e-marketing strategy
Creating an e-marketing strategy
Linda Parkinson-Hardman FRSA
 
Hey You, What's In It For Me? - Non Profit Social Media Strategy
Hey You, What's In It For Me? - Non Profit Social Media StrategyHey You, What's In It For Me? - Non Profit Social Media Strategy
Hey You, What's In It For Me? - Non Profit Social Media Strategy
Linda Parkinson-Hardman FRSA
 
Hysterectomy - The Basics, The Hysterectomy Association Free Booklet
Hysterectomy - The Basics, The Hysterectomy Association Free BookletHysterectomy - The Basics, The Hysterectomy Association Free Booklet
Hysterectomy - The Basics, The Hysterectomy Association Free Booklet
Linda Parkinson-Hardman FRSA
 

Viewers also liked (9)

Marketing for creatives 2016
Marketing for creatives 2016Marketing for creatives 2016
Marketing for creatives 2016
 
The 3 Faces of Business
The 3 Faces of BusinessThe 3 Faces of Business
The 3 Faces of Business
 
5 Top Tips for the LinkedIn Perfect Profile
5 Top Tips for the LinkedIn Perfect Profile5 Top Tips for the LinkedIn Perfect Profile
5 Top Tips for the LinkedIn Perfect Profile
 
The Power of GROUP is Infinite
The Power of GROUP is InfiniteThe Power of GROUP is Infinite
The Power of GROUP is Infinite
 
Making A Good Presentation Great
Making A Good Presentation GreatMaking A Good Presentation Great
Making A Good Presentation Great
 
Taking your offline networking skills onto LinkedIn
Taking your offline networking skills onto LinkedInTaking your offline networking skills onto LinkedIn
Taking your offline networking skills onto LinkedIn
 
Creating an e-marketing strategy
Creating an e-marketing strategyCreating an e-marketing strategy
Creating an e-marketing strategy
 
Hey You, What's In It For Me? - Non Profit Social Media Strategy
Hey You, What's In It For Me? - Non Profit Social Media StrategyHey You, What's In It For Me? - Non Profit Social Media Strategy
Hey You, What's In It For Me? - Non Profit Social Media Strategy
 
Hysterectomy - The Basics, The Hysterectomy Association Free Booklet
Hysterectomy - The Basics, The Hysterectomy Association Free BookletHysterectomy - The Basics, The Hysterectomy Association Free Booklet
Hysterectomy - The Basics, The Hysterectomy Association Free Booklet
 

More from Oliver Kopp

Fault handling in the web service stack
Fault handling in the web service stackFault handling in the web service stack
Fault handling in the web service stack
Oliver Kopp
 
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Oliver Kopp
 
The Subprocess Spectrum
The Subprocess SpectrumThe Subprocess Spectrum
The Subprocess Spectrum
Oliver Kopp
 
The Influence of an External Transaction on a BPEL Scope
The Influence of an External Transaction on a BPEL ScopeThe Influence of an External Transaction on a BPEL Scope
The Influence of an External Transaction on a BPEL Scope
Oliver Kopp
 
External And Internal Events In EPCs: E²EPCs
External And Internal Events In EPCs: E²EPCsExternal And Internal Events In EPCs: E²EPCs
External And Internal Events In EPCs: E²EPCs
Oliver Kopp
 
Do We Need Internal Behavior in Choreography Models?
Do We Need Internal Behavior in Choreography Models?Do We Need Internal Behavior in Choreography Models?
Do We Need Internal Behavior in Choreography Models?
Oliver Kopp
 
A Model-Driven Approach to Implementing Coordination Protocols in BPEL
A Model-Driven Approach to Implementing Coordination Protocols in BPELA Model-Driven Approach to Implementing Coordination Protocols in BPEL
A Model-Driven Approach to Implementing Coordination Protocols in BPEL
Oliver Kopp
 
Web Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMNWeb Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMN
Oliver Kopp
 
Service Referrals in BPEL-based Choreographies
Service Referrals in BPEL-based ChoreographiesService Referrals in BPEL-based Choreographies
Service Referrals in BPEL-based Choreographies
Oliver Kopp
 
Tools4BPEL Abschlusspräsentation
Tools4BPEL AbschlusspräsentationTools4BPEL Abschlusspräsentation
Tools4BPEL Abschlusspräsentation
Oliver Kopp
 

More from Oliver Kopp (10)

Fault handling in the web service stack
Fault handling in the web service stackFault handling in the web service stack
Fault handling in the web service stack
 
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
 
The Subprocess Spectrum
The Subprocess SpectrumThe Subprocess Spectrum
The Subprocess Spectrum
 
The Influence of an External Transaction on a BPEL Scope
The Influence of an External Transaction on a BPEL ScopeThe Influence of an External Transaction on a BPEL Scope
The Influence of an External Transaction on a BPEL Scope
 
External And Internal Events In EPCs: E²EPCs
External And Internal Events In EPCs: E²EPCsExternal And Internal Events In EPCs: E²EPCs
External And Internal Events In EPCs: E²EPCs
 
Do We Need Internal Behavior in Choreography Models?
Do We Need Internal Behavior in Choreography Models?Do We Need Internal Behavior in Choreography Models?
Do We Need Internal Behavior in Choreography Models?
 
A Model-Driven Approach to Implementing Coordination Protocols in BPEL
A Model-Driven Approach to Implementing Coordination Protocols in BPELA Model-Driven Approach to Implementing Coordination Protocols in BPEL
A Model-Driven Approach to Implementing Coordination Protocols in BPEL
 
Web Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMNWeb Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMN
 
Service Referrals in BPEL-based Choreographies
Service Referrals in BPEL-based ChoreographiesService Referrals in BPEL-based Choreographies
Service Referrals in BPEL-based Choreographies
 
Tools4BPEL Abschlusspräsentation
Tools4BPEL AbschlusspräsentationTools4BPEL Abschlusspräsentation
Tools4BPEL Abschlusspräsentation
 

Recently uploaded

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 

Recently uploaded (20)

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 

Deriving Explicit Data Links in WS-BPEL Processes

  • 1. International Conference on Services Computing SCC 2008 – http://conferences.computer.org/scc/ Deriving Explicit Data Links in WS-BPEL Processes WS BPEL Oliver Kopp, Rania Khalaf, Frank Leymann Institute of Architecture of Application Systems oliver.kopp@iaas.uni-stuttgart.de
  • 2. Background and Motivation For splitting BPEL-processes, the dataflow edges have to be known i.e. the def-use-edges (writer-reader-relation) 3 1 1 2 0 1 2 2 1 5 4 3 0 3 w2 and w3 are possible writers for r1 w1 is a possible writer for r2 Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 2
  • 3. Weaknesses of existing approaches No direct support for DPE AND-join “optimization” not built in No support for compound variables Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 3
  • 4. Basic idea Considering flow only No scope, no loop p, p Overapproximation O i ti A dataflow-edges too much is better than a g dataflow-edge too less Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 4
  • 5. The function writes writes : (A [ E) £ V ! 2A £ 2A £ 2A £ B Possible writers Disabled writers Invalid writers May-be-dead Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 5
  • 6. Writers before and after interpretation of an activity writes is split up writes± returns the result before interpreting an it activity writes² returns the result after interpreting an activity Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 6
  • 7. Initialization writes± (a; v) Ã (;; ;; ;; false) writes² ( v) Ã (; ; ; f l ) i (a; ) (;; ;; ;; false) Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 7
  • 8. interpretActivity interpretActivity : A £ V £ 2A £ 2A £ 2A £ B ! 2A £ 2A £ 2A £ B Handles writing activities g Handling of joinConditions is taken into account by joinLinks() (see later) If a is no writer: identitiy. Otherwise: If there was a transition condition: Possible writers are di bl d P ibl it disabled Else Possible writers get invalid Activity itself may not get disabled or invalid 8 > <(fag; D [ P n fag; I; false) w(a; v) ^ d interpretActivity : (a; v; P; D; I; d) 7! (fag; D; I [ P n fag; false) w(a; v) ^ :d > : id :w(a; v) Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 8
  • 9. Step from an activity to a link writes± (l; v) Ã writes² (V ¡ (l); v) Link h Li k has only one source activity. Th f l ti it Therefore, the result from the source activity can just be taken t k as i inputt writes² (l; v) Ã (poss± (l; v); (; ) (p ( ; ); dis± (l; v); inv± (l; v); ( ; ); mbd± (l; v) _ :alwaysTrue(tc(l))) everything is p y g preserved, existence of tc possibly evaluating to false is noted Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 9
  • 10. Step from a link to an activity writes± (a; v) Ã joinLinks(a; v) writes² (a; v) Ã interpretActivity(a; v; writes± (a; v)) is joining the information of the j joinLinks(a; v) (; ) incoming links handles h dl one iincoming i interpretActivity(a; v; : : :) i A ii ( ) link (which was created by joinLinks) Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 10
  • 11. joinLinks: Possible Writers joins the information joinLinks : (a; v) 7! (P; D; I; d) on the incoming links An OR join may revive disabled writers j y If each incoming link disables a writer, this writer will not revive at this join (i e it (i.e., remains disabled) [ 8 > possible(l; v) > (jc(a) = AND) _ (jE ¡ (a)j = 1) < l2E ¡ (a) [ P= > possible(l; possible(l v) [ disabled(l v) n disabled(l; disabled(l; disabled(l v) otherwise > : l2E ¡ (a) l2E ¡ (a) plus: Link may not have a negative join condition Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 11
  • 12. joinLinks: Disabled Writers joinLinks : (a; v) 7! (P; D; I; d) An OR join revives disabled writers OR-join writers. But not these, which are disabled on all paths [ 8 > disabled(l; v) (jc(a) = AND) _ (jE ¡ (a)j = 1) > < l2E ¡ (a) D= > disabled(l; v) otherwise > : l2E ¡ (a) Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 12
  • 13. joinLinks: Invalid Writers joinLinks : (a; v) 7! (P; D; I; d) All invalid writers remain invalid [ I= invalid² (l; v) l E¡( ) l2E (a) Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 13
  • 14. joinLinks: May be Dead joinLinks : (a; v) 7! (P; D; I; d) 8 alwaystrue(jc(a)) < f alse negations(jc(a)) d à true : :[[a; v ]]jc ² otherwise :mbd Activity a may never be dead even if dead paths may dead, reach a. For example: There is one path, which is not dead and activity a contains an “OR” join condition. y j mbd² (l1 ; v ) = true; mbd² (l2 ; v ) = fale; jc(a) = l1 _ l2 Use the negated value of mbd of each link link, jc :[[a; v]]:mbd² Interpret the join condition on it, And use the negated result :[[a; v]]jc ² = :(:mbd² (l1 ; v) _ :mbd² (l2 ; v)) = :(:true _ :f alse) = :(true) = f alse :mbd Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 14
  • 15. Complex Types Problem: $v and $v part exist in real BPEL processes $v.part Example: w1: write to $v.p1 w2: write to $v.p2 Solution: Build a lattice for each variable Each node of the lattice is called “variable element” $v $v.part2 $v.part1 Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 15
  • 16. Handling of Complex Types if a completely writes to ve w(a; ve ) = true r(a; ve ) = true if a completely reads ve ( Data link has to be created from w to z, if w reaches z and z reads a variable element, where parts were changed by w 0 0 DL := f(w; z) j z 2 A [ L; w 2 poss±(z; ve); ve v ve; r(z; ve) = trueg Sta t the analysis o each a ab e element Start t e a a ys s for eac variable e e e t Optimization: Iterate at each activity over all variable elements Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 16
  • 17. Loops is the key t The current data of writes(l v) has to be writes(l,v) combined with writes(nested(l,v)) A while activity d hil ti it does not write t a variable it lf t it to i bl itself Terminate if writes(l,v) do not change Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 17
  • 18. Future Work Deriving Explicit Data Links in WS-BPEL Processes Presented by Oliver Kopp 18