SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
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

Mais conteúdo relacionado

Destaque (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
 

Mais de 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 stackOliver 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 SpectrumOliver 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 ScopeOliver 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²EPCsOliver 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 BPELOliver Kopp
 
Web Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMNWeb Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMNOliver Kopp
 
Service Referrals in BPEL-based Choreographies
Service Referrals in BPEL-based ChoreographiesService Referrals in BPEL-based Choreographies
Service Referrals in BPEL-based ChoreographiesOliver Kopp
 
Tools4BPEL Abschlusspräsentation
Tools4BPEL AbschlusspräsentationTools4BPEL Abschlusspräsentation
Tools4BPEL AbschlusspräsentationOliver Kopp
 

Mais de 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
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

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