SlideShare una empresa de Scribd logo
1 de 55
Descargar para leer sin conexión
Tools4BPEL Tutorial
      Niels Lohmann

  Humboldt-Universität zu Berlin
 Department of Computer Science
nlohmann@informatik.hu-berlin.de
Overview


           2
The tools
• BPEL2oWFN
  translates a BPEL service into an oWFN

• Fiona
  analyzes the interaction of an oWFN:
  (1) checks controllability and
  (2) computes the operating guideline of the net

• Tools4BPEL GUI
  graphical user interface for BPEL2oWFN and Fiona
                                              3
Download,
Setup and Install

                4
Requirements
• to run:
   – Windows, Linux, UNIX or Macintosh for BPEL2oWFN
     and Fiona
   – J2SE 5.0 (Java 1.5) for the GUI
• to compile:
   – GNU Compiler Collection (gcc)
• to develop:
   – GNU Autotools (automake, autoconf, …)
   – GNU Compiler Tools (flex, bison, kimwitu++)

                                                  5
Download
• all tools are free and open source

• download them from the Tools4BPEL website
  www.informatik.hu-berlin.de/top/tools4bpel

• the tools are also hosted at SourceForge.net
  sourceforge.net/projects/tools4bpel



                                                 6
Set up BPEL2oWFN
• download the source tarball (“bpel2owfn-1.3.tar.gz”)
• open a shell and enter:
   –   gunzip bpel2owfn-1.3.tar.gz
   –   tar xf bpel2owfn-1.3.tar
   –   cd bpel2owfn-1.3
   –   ./configure
   –   make
• an executable file “bpel2owfn” is created in the
  directory /bpel2owfn-1.3/src

                                               7
Set up Fiona
• download the source tarball (“fiona-1.0.tar.gz”)
• open a shell and enter:
   –   gunzip fiona-1.0.tar.gz
   –   tar xf fiona-1.0.tar
   –   cd fiona-1.0
   –   ./configure
   –   make
• an executable file “fiona” is created in the
  directory /fiona-1.0/src

                                               8
Set up Tools4BPEL GUI
• download the jarfile (“tools4bpelgui-1.0.jar”)

• edit the config-file and point to the executables of
  BPEL2oWFN and Fiona

• start the GUI with
   java -jar tools4bpelgui-1.0.jar




                                                  9
BPEL2oWFN


            10
Overview
• input:
   – BPEL process (compliant to the
     BPEL4WS 1.1 specification)


• output:
   – oWFN
   – Petri net (without interface places)


• additionally:
   – control flow analysis
                                            11
Translation
      Translation can be adjusted to the analysis task:
           – feature-complete
             all aspects of BPEL are modelled

           – abstraction from data
             variables are not modelled
net size




           – abstraction from fault management
             fault and compensation handlers are not modelled

           – abstraction from stop and termination management
             only the communicational behaviour is modelled
                                                           12
Translation (cont.)
• Output file formats:
                                           Petri net with
  – oWFN in Fiona format                   interface places


  –   LoLA place/transition net
  –   Petri Net Markup Language (PNML)     Petri net without
  –   Abstract Petri Net Notation (APNN)   interface places
  –   Low-level PEP Notation




                                                   13
Translation (cont.)
• The translation is supported by:
   – static analysis
   – structural simplification rules




                                      14
Control Flow Analysis
• detects design flaws:
   – conflicting receive operations
   – uninitialized variables
   – cyclic links
   (not presented here)




• more information on the website:
  www.informatik.hu-berlin.de/top/tools4bpel/bpel2owfn
                                              15
Fiona


        16
Overview
• input:
   – oWFN


• output:
   – interaction graph
   – operating guideline




                                  17
Parameters
• set communication depth

• adjust maximal event occurrence

• usage of reduction rules for the IG



• more information on the website:
  www.informatik.hu-berlin.de/top/tools4bpel/fiona
                                              18
Example #1

The Online Shop

               19
shop.bpel   20
Description
When the online shop receives the login information from a
customer, its business strategy distinguishes between already
known customers and new customers. In case of a known
customer the left branch is executed: first the shop expects an
order, and then it sends the invoice to the customer. In case of a
new customer (right branch) the shop initiates two tasks
concurrently: in the first task (Sequence1) the shop first receives
the order and then confirms it. In the second task (Sequence2)
the shop receives the terms of payment before it sends an invoice
to the customer. In either case the shop finally sends the delivery
information to the customer. The customer may send an abort
message at any time. This is modelled by an event handler that
receives the abort message and then terminates the whole
process.                                                   21
Analysis tasks
• Does there exist a partner that can use the online
  shop “properly”, i.e. login, order and eventually
  receive a delivery information?

• If there exists more than one partner of the online
  shop, can we characterize all of them?




                                                22
Todo
1. Translate the BPEL process to an oWFN
   (prerequisite for further analysis)

2. Check for controllability and calculate the IG
   (analysis: existence of a partner)

3. Calculate the operating guideline
   (analysis: characterize all partners)


                                                23
1. Translation
We use BPEL2oWFN to generate an oWFN:
                                  the modelling of
./bpel2owfn                       standard faults, data
                                  or variables is not
   --input=shop.bpel
                                  necessary for this
   --mode=petrinet                analysis task
   --format=owfn
   --parameter=novariables
   --parameter=nostandardfaults
   --parameter=simplify           structurally simplify
   --output                       the resulting net
                                            24
1. Translation (cont.)
• BPEL2oWFN creates a
  file “shop.owfn”:
   – 70 places (4 input, 3 output)
   – 75 transitions
   – 233 arcs


• Due the <terminate/>
  activity, each BPEL activity
  has a stop pattern.

                                        25
2. Controllability
We use Fiona to calculate the interaction graph:

./fiona
    --net=shop.owfn
    --graphtype=IG




                                               26
2. Controllability (cont.)
• Fiona creates two files:
   – “shop.owfn.IG.out”
   – “shop.owfn.IG.png”


• The interaction graph has
  a blue subgraph:

  ) The online shop is controllable!


                                         27
2. Controllability (cont.)
The controller found reflects the intended behaviour
of a customer. First he sends a login, followed by an
order. Then he must be able to either receive an
invoice (in case he is known to the shop) or to receive
the confirmation (in case he is a new customer). If he
actually has received the confirmation, he must send a
terms of payment message. After that he will receive
the invoice. In either case he finally receives the
delivery information. At any time he may abort.


                                               28
3. Operating Guideline
We use Fiona to calculate the operating guideline:

./fiona
    --net=shop.owfn
    --graphtype=OG




                                               29
3. Operating Guideline (cont.)
• Fiona again creates two files:
   – “shop.owfn.OG.out”
   – “shop.owfn.OG.png”


• The operating guidelines contains
  more interleavings of sending or
  receiving messages. For instance,
  a customer may reverse the order
  of sending the login and the
  order message.
                                        30
Example#2

The new Online Shop

                 31
newshop.bpel   32
Description
The shop now modifies its business strategy: every
known customer that orders something can choose a
gift. The changes only affect the left branch of the
switch. The shop initiates two tasks concurrently now:
in the first task (Sequence1) the shop first receives the
order and then confirms it. In the second task
(Sequence2) the shop receives which gift is chosen
before it sends the invoice to the customer.



                                                33
Analysis tasks
• Does this change have an impact on the partners?




                                             34
Todo
1. Translate the BPEL process to an oWFN
   (prerequisite for further analysis)

2. Check for controllability and calculate the IG
   (analysis: existence of a partner)

3. Calculate the operating guideline
   (analysis: characterize all partners)

4. Compare it to the operating guideline of the first
   online shop                                 35
1. Translation
• Using the same parameters
  as before, BPEL2oWFN
  generates an oWFN:
  – 83 places (4 input, 3 output)
  – 90 transitions
  – 279 arcs




                                     36
2. Controllability
• Using the same parameters as
  before, Fiona calculates an
  interaction graph with a nonempty
  blue subgraph:
  The new shop is still controllable!

• The controller in the IG represents a
  customer who sends an abort
  message during the interaction.

                                          37
3. Operating Guidelines
• Using the same parameters as
  before, Fiona calculates the
  operating guideline of the new
  shop.




                                     38
4. Comparison
A closer look at the OG reveals that actually every
customer of the modified shop must eventually send
an abort message. This surely means that the process
is controllable. However, the way this is done is
obviously a not intended one. There is no way that a
customer can get what he has ordered from the
process.




                                             39
4. Comparison (cont.)
We can see that the shop does not communicate its inner
decision about which branch (known customer, new customer) is
chosen. In the original online shop the controller must send an
order, but receives either an invoice or a confirmation w.r.t. which
branch the shop has chosen before. That way the controller knows
what branch the shop is actually in and hence knows how to
continue. In contrast, in the modified shop the controller must
send an order and receives undistinguishable confirmation
messages in either case. The modified shop expects a choice of a
gift in case it decided for the known customer branch. In the other
case it expects the terms of payment. The controller, however,
does not know about the decision of the shop. However, sending
an abort is always correct.
                                                          40
Example #3

Coffee Vending
  Machine
                41
coffee.bpel

             42
Description
The coffee vending has a button for coffee and one for
tea, and a money slot. After money is inserted and a
button is pressed, the beverage (coffee or tea) is
returned.




                                             43
Analysis Task
• Are these three customers partners of the coffee
  vending machine?




 customer1.bpel     customer2.bpel     customer3.bpel
                                               44
Todo
1. Translate the vending machine service to an
   oWFN.

2. For each customer service:
   a) Translate the service to an oWFN.
   b) Compose this oWFN with the oWFN of the
      service.
   c) Test: Is the composed service weak
      terminating?
                                             45
Translation and Composition
BPEL2oWFN can perform step 1, 2a and 2b:
                                     compose the input
                                     services and create
./bpel2owfn                          a CTL formula to
    -- mode=consistency              check
    -- input=coffee.bpel
    -- input=customer1.bpel
    -- format=lola                   use patterns that
    -- parameter=communicationonly   only model the
    -- parameter=simplify            communicational
    -- output                        behaviour
                                              46
Translation and Composition (cont.)
• BPEL2oWFN creates two files for the explicit model
  checker LoLA:
   – coffee_customer1.lola
     the composed net in LoLA format

  – coffee_customer1.task
    a CTL formula stating that it is always possible to
    reach the final marking of the composed net
    (AG EF finalmarking)

                                               47
Test on weak termination
• We use the LoLA to check the CTL formula:

  ./lola coffee_customer1.lola -a

• LoLA verifies the formula: the final state of the
  composed service can be reached from any
  reachable marking



                                               48
Results
• The composition weakly terminates.

) The first customer is a partner of the coffee
 vending machine (and vice versa).

• Using the same parameters, we find that the
  second consumer is also a partner of the coffee
  vending machine (and vice versa).


                                                49
Results (cont.)
• The composition of the coffee vending machine
  service and the third consumer does not weakly
  terminate:
   – LoLA finds a counter example path (the
     composition deadlocks after the coffee button is
     pressed).
   – This path can be used to fix the BPEL process of
     this customer (an automatic re-translation is
     subject of current work).

                                              50
Conclusion
and References

                 51
Conclusion
The presented tools can:
• generate a formal model of a BPEL process
  (translate a BPEL process to an oWFN or a Petri net
  without interface),
• generate a partner of a service, if there is one (check
  an oWFN for controllability),
• characterize all partners of a service (calculate the
  operating guideline of an oWFN),
• check if two services are partners, i.e. they are
  consistent (check if the composition is weakly
  terminating).
                                                 52
References
• These slides together with all examples can be
  downloaded at:

  www.informatik.hu-berlin.de/top/tools4bpel/tools/tutorial


• For more information on the tool chain, see:

  Niels Lohmann, Peter Massuthe, Christian Stahl, and
  Daniela Weinberg. Analyzing Interacting BPEL Processes.
  BPM 2006, Lecture Notes in Computer Science (to appear),
  2006. Springer-Verlag.
                                                        53
References (cont.)
• For more information on LoLA, see:

  Karsten Schmidt. LoLA: A Low Level Analyser. In Mogens
  Nielsen and Dan Simpson, editors, ICATPN 2000, volume
  1825 of Lecture Notes in Computer Science, pages 465-474,
  June 2000. Springer-Verlag.


• LoLA can be downloaded at:

  www.informatik.hu-berlin.de/top/lola

                                                     54
Tools4BPEL Tutorial
      Niels Lohmann

  Humboldt-Universität zu Berlin
 Department of Computer Science
nlohmann@informatik.hu-berlin.de

Más contenido relacionado

Similar a Tools4BPEL Tutorial

Reactive solutions using java 9 and spring reactor
Reactive solutions using java 9 and spring reactorReactive solutions using java 9 and spring reactor
Reactive solutions using java 9 and spring reactorOrenEzer1
 
Code optimization in compiler design
Code optimization in compiler designCode optimization in compiler design
Code optimization in compiler designKuppusamy P
 
openERP- How to connect OpenERP with external Systems, AkretionAkretion base...
openERP-  How to connect OpenERP with external Systems, AkretionAkretion base...openERP-  How to connect OpenERP with external Systems, AkretionAkretion base...
openERP- How to connect OpenERP with external Systems, AkretionAkretion base...Odoo
 
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...NETWAYS
 
Python monorepos what, why and how (shared)
Python monorepos  what, why and how (shared)Python monorepos  what, why and how (shared)
Python monorepos what, why and how (shared)benjyw
 
Production planningmisc
Production planningmiscProduction planningmisc
Production planningmiscMuhammad Afzal
 
201124772 sap-pp-pi-process-flow-docs
201124772 sap-pp-pi-process-flow-docs201124772 sap-pp-pi-process-flow-docs
201124772 sap-pp-pi-process-flow-docsAbhishek Sarkar
 
OpenERP R&D
OpenERP R&DOpenERP R&D
OpenERP R&DOdoo
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studySymfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studyGaetano Giunta
 
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)Issac Buenrostro
 
EP_LE_E2611_Debagging Process And Differences for Debagging WH
EP_LE_E2611_Debagging Process And Differences for Debagging  WHEP_LE_E2611_Debagging Process And Differences for Debagging  WH
EP_LE_E2611_Debagging Process And Differences for Debagging WHRonen Madar
 
PLC Programming Example - Conveyor Reject (Shift Register)
PLC Programming Example - Conveyor Reject  (Shift Register)PLC Programming Example - Conveyor Reject  (Shift Register)
PLC Programming Example - Conveyor Reject (Shift Register)ACC Automation
 
slides-117-opsawg-a-data-manifest-for-contextualized-telemetry-data-00.pdf
slides-117-opsawg-a-data-manifest-for-contextualized-telemetry-data-00.pdfslides-117-opsawg-a-data-manifest-for-contextualized-telemetry-data-00.pdf
slides-117-opsawg-a-data-manifest-for-contextualized-telemetry-data-00.pdfThomasGraf42
 
Best Practices and Performance Studies for High-Performance Computing Clusters
Best Practices and Performance Studies for High-Performance Computing ClustersBest Practices and Performance Studies for High-Performance Computing Clusters
Best Practices and Performance Studies for High-Performance Computing ClustersIntel® Software
 
Democratizing Serverless
Democratizing ServerlessDemocratizing Serverless
Democratizing ServerlessShaun Smith
 
Dolibarr - Whats new in 14.0 - Webinare 2021
Dolibarr - Whats new in 14.0 - Webinare 2021Dolibarr - Whats new in 14.0 - Webinare 2021
Dolibarr - Whats new in 14.0 - Webinare 2021Laurent Destailleur
 

Similar a Tools4BPEL Tutorial (20)

Reactive solutions using java 9 and spring reactor
Reactive solutions using java 9 and spring reactorReactive solutions using java 9 and spring reactor
Reactive solutions using java 9 and spring reactor
 
Code optimization in compiler design
Code optimization in compiler designCode optimization in compiler design
Code optimization in compiler design
 
Open Dayligth usando SDN-NFV
Open Dayligth usando SDN-NFVOpen Dayligth usando SDN-NFV
Open Dayligth usando SDN-NFV
 
openERP- How to connect OpenERP with external Systems, AkretionAkretion base...
openERP-  How to connect OpenERP with external Systems, AkretionAkretion base...openERP-  How to connect OpenERP with external Systems, AkretionAkretion base...
openERP- How to connect OpenERP with external Systems, AkretionAkretion base...
 
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
 
Python monorepos what, why and how (shared)
Python monorepos  what, why and how (shared)Python monorepos  what, why and how (shared)
Python monorepos what, why and how (shared)
 
Production planningmisc
Production planningmiscProduction planningmisc
Production planningmisc
 
201124772 sap-pp-pi-process-flow-docs
201124772 sap-pp-pi-process-flow-docs201124772 sap-pp-pi-process-flow-docs
201124772 sap-pp-pi-process-flow-docs
 
OpenERP R&D
OpenERP R&DOpenERP R&D
OpenERP R&D
 
Ch4
Ch4Ch4
Ch4
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studySymfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case study
 
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
 
EP_LE_E2611_Debagging Process And Differences for Debagging WH
EP_LE_E2611_Debagging Process And Differences for Debagging  WHEP_LE_E2611_Debagging Process And Differences for Debagging  WH
EP_LE_E2611_Debagging Process And Differences for Debagging WH
 
PLC Programming Example - Conveyor Reject (Shift Register)
PLC Programming Example - Conveyor Reject  (Shift Register)PLC Programming Example - Conveyor Reject  (Shift Register)
PLC Programming Example - Conveyor Reject (Shift Register)
 
slides-117-opsawg-a-data-manifest-for-contextualized-telemetry-data-00.pdf
slides-117-opsawg-a-data-manifest-for-contextualized-telemetry-data-00.pdfslides-117-opsawg-a-data-manifest-for-contextualized-telemetry-data-00.pdf
slides-117-opsawg-a-data-manifest-for-contextualized-telemetry-data-00.pdf
 
Introducing Pro-EC44
Introducing Pro-EC44Introducing Pro-EC44
Introducing Pro-EC44
 
SDN Project PPT
SDN Project PPTSDN Project PPT
SDN Project PPT
 
Best Practices and Performance Studies for High-Performance Computing Clusters
Best Practices and Performance Studies for High-Performance Computing ClustersBest Practices and Performance Studies for High-Performance Computing Clusters
Best Practices and Performance Studies for High-Performance Computing Clusters
 
Democratizing Serverless
Democratizing ServerlessDemocratizing Serverless
Democratizing Serverless
 
Dolibarr - Whats new in 14.0 - Webinare 2021
Dolibarr - Whats new in 14.0 - Webinare 2021Dolibarr - Whats new in 14.0 - Webinare 2021
Dolibarr - Whats new in 14.0 - Webinare 2021
 

Más de Universität Rostock

Pragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsPragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsUniversität Rostock
 
Decidability Results for Choreography Realization
Decidability Results for Choreography RealizationDecidability Results for Choreography Realization
Decidability Results for Choreography RealizationUniversität Rostock
 
Artifact-centric modeling using BPMN
Artifact-centric modeling using BPMNArtifact-centric modeling using BPMN
Artifact-centric modeling using BPMNUniversität Rostock
 
Compliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesCompliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesUniversität Rostock
 
Verification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationVerification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationUniversität Rostock
 
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAUniversität Rostock
 
Verification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesVerification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesUniversität Rostock
 
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAVerification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAUniversität Rostock
 
Verification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionVerification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionUniversität Rostock
 
Verification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageVerification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageUniversität Rostock
 
Internal Behavior Reduction for Services
Internal Behavior Reduction for ServicesInternal Behavior Reduction for Services
Internal Behavior Reduction for ServicesUniversität Rostock
 
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumKarsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumUniversität Rostock
 
Implementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAImplementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAUniversität Rostock
 
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Universität Rostock
 
Demonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaDemonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaUniversität Rostock
 
Modellierung eines verteilten Algorithmus
Modellierung eines verteilten AlgorithmusModellierung eines verteilten Algorithmus
Modellierung eines verteilten AlgorithmusUniversität Rostock
 

Más de Universität Rostock (20)

Pragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsPragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementations
 
Decidability Results for Choreography Realization
Decidability Results for Choreography RealizationDecidability Results for Choreography Realization
Decidability Results for Choreography Realization
 
Artifact-centric modeling using BPMN
Artifact-centric modeling using BPMNArtifact-centric modeling using BPMN
Artifact-centric modeling using BPMN
 
Compliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesCompliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business Processes
 
Verification with LoLA
Verification with LoLAVerification with LoLA
Verification with LoLA
 
Verification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationVerification with LoLA: 7 Implementation
Verification with LoLA: 7 Implementation
 
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLA
 
Verification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesVerification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case Studies
 
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAVerification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLA
 
Verification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionVerification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space Reduction
 
Verification with LoLA: 1 Basics
Verification with LoLA: 1 BasicsVerification with LoLA: 1 Basics
Verification with LoLA: 1 Basics
 
Verification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageVerification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input Language
 
Ws4 dsec talk @ Kickoff RS3
Ws4 dsec talk @ Kickoff RS3Ws4 dsec talk @ Kickoff RS3
Ws4 dsec talk @ Kickoff RS3
 
Internal Behavior Reduction for Services
Internal Behavior Reduction for ServicesInternal Behavior Reduction for Services
Internal Behavior Reduction for Services
 
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumKarsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial Symposium
 
Implementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAImplementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDA
 
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
 
Demonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaDemonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and Fiona
 
Analyzing Web Service Behavior
Analyzing Web Service BehaviorAnalyzing Web Service Behavior
Analyzing Web Service Behavior
 
Modellierung eines verteilten Algorithmus
Modellierung eines verteilten AlgorithmusModellierung eines verteilten Algorithmus
Modellierung eines verteilten Algorithmus
 

Último

USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxRosabel UA
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 

Último (20)

USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptx
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 

Tools4BPEL Tutorial

  • 1. Tools4BPEL Tutorial Niels Lohmann Humboldt-Universität zu Berlin Department of Computer Science nlohmann@informatik.hu-berlin.de
  • 3. The tools • BPEL2oWFN translates a BPEL service into an oWFN • Fiona analyzes the interaction of an oWFN: (1) checks controllability and (2) computes the operating guideline of the net • Tools4BPEL GUI graphical user interface for BPEL2oWFN and Fiona 3
  • 5. Requirements • to run: – Windows, Linux, UNIX or Macintosh for BPEL2oWFN and Fiona – J2SE 5.0 (Java 1.5) for the GUI • to compile: – GNU Compiler Collection (gcc) • to develop: – GNU Autotools (automake, autoconf, …) – GNU Compiler Tools (flex, bison, kimwitu++) 5
  • 6. Download • all tools are free and open source • download them from the Tools4BPEL website www.informatik.hu-berlin.de/top/tools4bpel • the tools are also hosted at SourceForge.net sourceforge.net/projects/tools4bpel 6
  • 7. Set up BPEL2oWFN • download the source tarball (“bpel2owfn-1.3.tar.gz”) • open a shell and enter: – gunzip bpel2owfn-1.3.tar.gz – tar xf bpel2owfn-1.3.tar – cd bpel2owfn-1.3 – ./configure – make • an executable file “bpel2owfn” is created in the directory /bpel2owfn-1.3/src 7
  • 8. Set up Fiona • download the source tarball (“fiona-1.0.tar.gz”) • open a shell and enter: – gunzip fiona-1.0.tar.gz – tar xf fiona-1.0.tar – cd fiona-1.0 – ./configure – make • an executable file “fiona” is created in the directory /fiona-1.0/src 8
  • 9. Set up Tools4BPEL GUI • download the jarfile (“tools4bpelgui-1.0.jar”) • edit the config-file and point to the executables of BPEL2oWFN and Fiona • start the GUI with java -jar tools4bpelgui-1.0.jar 9
  • 10. BPEL2oWFN 10
  • 11. Overview • input: – BPEL process (compliant to the BPEL4WS 1.1 specification) • output: – oWFN – Petri net (without interface places) • additionally: – control flow analysis 11
  • 12. Translation Translation can be adjusted to the analysis task: – feature-complete all aspects of BPEL are modelled – abstraction from data variables are not modelled net size – abstraction from fault management fault and compensation handlers are not modelled – abstraction from stop and termination management only the communicational behaviour is modelled 12
  • 13. Translation (cont.) • Output file formats: Petri net with – oWFN in Fiona format interface places – LoLA place/transition net – Petri Net Markup Language (PNML) Petri net without – Abstract Petri Net Notation (APNN) interface places – Low-level PEP Notation 13
  • 14. Translation (cont.) • The translation is supported by: – static analysis – structural simplification rules 14
  • 15. Control Flow Analysis • detects design flaws: – conflicting receive operations – uninitialized variables – cyclic links (not presented here) • more information on the website: www.informatik.hu-berlin.de/top/tools4bpel/bpel2owfn 15
  • 16. Fiona 16
  • 17. Overview • input: – oWFN • output: – interaction graph – operating guideline 17
  • 18. Parameters • set communication depth • adjust maximal event occurrence • usage of reduction rules for the IG • more information on the website: www.informatik.hu-berlin.de/top/tools4bpel/fiona 18
  • 20. shop.bpel 20
  • 21. Description When the online shop receives the login information from a customer, its business strategy distinguishes between already known customers and new customers. In case of a known customer the left branch is executed: first the shop expects an order, and then it sends the invoice to the customer. In case of a new customer (right branch) the shop initiates two tasks concurrently: in the first task (Sequence1) the shop first receives the order and then confirms it. In the second task (Sequence2) the shop receives the terms of payment before it sends an invoice to the customer. In either case the shop finally sends the delivery information to the customer. The customer may send an abort message at any time. This is modelled by an event handler that receives the abort message and then terminates the whole process. 21
  • 22. Analysis tasks • Does there exist a partner that can use the online shop “properly”, i.e. login, order and eventually receive a delivery information? • If there exists more than one partner of the online shop, can we characterize all of them? 22
  • 23. Todo 1. Translate the BPEL process to an oWFN (prerequisite for further analysis) 2. Check for controllability and calculate the IG (analysis: existence of a partner) 3. Calculate the operating guideline (analysis: characterize all partners) 23
  • 24. 1. Translation We use BPEL2oWFN to generate an oWFN: the modelling of ./bpel2owfn standard faults, data or variables is not --input=shop.bpel necessary for this --mode=petrinet analysis task --format=owfn --parameter=novariables --parameter=nostandardfaults --parameter=simplify structurally simplify --output the resulting net 24
  • 25. 1. Translation (cont.) • BPEL2oWFN creates a file “shop.owfn”: – 70 places (4 input, 3 output) – 75 transitions – 233 arcs • Due the <terminate/> activity, each BPEL activity has a stop pattern. 25
  • 26. 2. Controllability We use Fiona to calculate the interaction graph: ./fiona --net=shop.owfn --graphtype=IG 26
  • 27. 2. Controllability (cont.) • Fiona creates two files: – “shop.owfn.IG.out” – “shop.owfn.IG.png” • The interaction graph has a blue subgraph: ) The online shop is controllable! 27
  • 28. 2. Controllability (cont.) The controller found reflects the intended behaviour of a customer. First he sends a login, followed by an order. Then he must be able to either receive an invoice (in case he is known to the shop) or to receive the confirmation (in case he is a new customer). If he actually has received the confirmation, he must send a terms of payment message. After that he will receive the invoice. In either case he finally receives the delivery information. At any time he may abort. 28
  • 29. 3. Operating Guideline We use Fiona to calculate the operating guideline: ./fiona --net=shop.owfn --graphtype=OG 29
  • 30. 3. Operating Guideline (cont.) • Fiona again creates two files: – “shop.owfn.OG.out” – “shop.owfn.OG.png” • The operating guidelines contains more interleavings of sending or receiving messages. For instance, a customer may reverse the order of sending the login and the order message. 30
  • 33. Description The shop now modifies its business strategy: every known customer that orders something can choose a gift. The changes only affect the left branch of the switch. The shop initiates two tasks concurrently now: in the first task (Sequence1) the shop first receives the order and then confirms it. In the second task (Sequence2) the shop receives which gift is chosen before it sends the invoice to the customer. 33
  • 34. Analysis tasks • Does this change have an impact on the partners? 34
  • 35. Todo 1. Translate the BPEL process to an oWFN (prerequisite for further analysis) 2. Check for controllability and calculate the IG (analysis: existence of a partner) 3. Calculate the operating guideline (analysis: characterize all partners) 4. Compare it to the operating guideline of the first online shop 35
  • 36. 1. Translation • Using the same parameters as before, BPEL2oWFN generates an oWFN: – 83 places (4 input, 3 output) – 90 transitions – 279 arcs 36
  • 37. 2. Controllability • Using the same parameters as before, Fiona calculates an interaction graph with a nonempty blue subgraph: The new shop is still controllable! • The controller in the IG represents a customer who sends an abort message during the interaction. 37
  • 38. 3. Operating Guidelines • Using the same parameters as before, Fiona calculates the operating guideline of the new shop. 38
  • 39. 4. Comparison A closer look at the OG reveals that actually every customer of the modified shop must eventually send an abort message. This surely means that the process is controllable. However, the way this is done is obviously a not intended one. There is no way that a customer can get what he has ordered from the process. 39
  • 40. 4. Comparison (cont.) We can see that the shop does not communicate its inner decision about which branch (known customer, new customer) is chosen. In the original online shop the controller must send an order, but receives either an invoice or a confirmation w.r.t. which branch the shop has chosen before. That way the controller knows what branch the shop is actually in and hence knows how to continue. In contrast, in the modified shop the controller must send an order and receives undistinguishable confirmation messages in either case. The modified shop expects a choice of a gift in case it decided for the known customer branch. In the other case it expects the terms of payment. The controller, however, does not know about the decision of the shop. However, sending an abort is always correct. 40
  • 43. Description The coffee vending has a button for coffee and one for tea, and a money slot. After money is inserted and a button is pressed, the beverage (coffee or tea) is returned. 43
  • 44. Analysis Task • Are these three customers partners of the coffee vending machine? customer1.bpel customer2.bpel customer3.bpel 44
  • 45. Todo 1. Translate the vending machine service to an oWFN. 2. For each customer service: a) Translate the service to an oWFN. b) Compose this oWFN with the oWFN of the service. c) Test: Is the composed service weak terminating? 45
  • 46. Translation and Composition BPEL2oWFN can perform step 1, 2a and 2b: compose the input services and create ./bpel2owfn a CTL formula to -- mode=consistency check -- input=coffee.bpel -- input=customer1.bpel -- format=lola use patterns that -- parameter=communicationonly only model the -- parameter=simplify communicational -- output behaviour 46
  • 47. Translation and Composition (cont.) • BPEL2oWFN creates two files for the explicit model checker LoLA: – coffee_customer1.lola the composed net in LoLA format – coffee_customer1.task a CTL formula stating that it is always possible to reach the final marking of the composed net (AG EF finalmarking) 47
  • 48. Test on weak termination • We use the LoLA to check the CTL formula: ./lola coffee_customer1.lola -a • LoLA verifies the formula: the final state of the composed service can be reached from any reachable marking 48
  • 49. Results • The composition weakly terminates. ) The first customer is a partner of the coffee vending machine (and vice versa). • Using the same parameters, we find that the second consumer is also a partner of the coffee vending machine (and vice versa). 49
  • 50. Results (cont.) • The composition of the coffee vending machine service and the third consumer does not weakly terminate: – LoLA finds a counter example path (the composition deadlocks after the coffee button is pressed). – This path can be used to fix the BPEL process of this customer (an automatic re-translation is subject of current work). 50
  • 52. Conclusion The presented tools can: • generate a formal model of a BPEL process (translate a BPEL process to an oWFN or a Petri net without interface), • generate a partner of a service, if there is one (check an oWFN for controllability), • characterize all partners of a service (calculate the operating guideline of an oWFN), • check if two services are partners, i.e. they are consistent (check if the composition is weakly terminating). 52
  • 53. References • These slides together with all examples can be downloaded at: www.informatik.hu-berlin.de/top/tools4bpel/tools/tutorial • For more information on the tool chain, see: Niels Lohmann, Peter Massuthe, Christian Stahl, and Daniela Weinberg. Analyzing Interacting BPEL Processes. BPM 2006, Lecture Notes in Computer Science (to appear), 2006. Springer-Verlag. 53
  • 54. References (cont.) • For more information on LoLA, see: Karsten Schmidt. LoLA: A Low Level Analyser. In Mogens Nielsen and Dan Simpson, editors, ICATPN 2000, volume 1825 of Lecture Notes in Computer Science, pages 465-474, June 2000. Springer-Verlag. • LoLA can be downloaded at: www.informatik.hu-berlin.de/top/lola 54
  • 55. Tools4BPEL Tutorial Niels Lohmann Humboldt-Universität zu Berlin Department of Computer Science nlohmann@informatik.hu-berlin.de