• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Tools4BPEL Tutorial
 

Tools4BPEL Tutorial

on

  • 615 views

Invited presentation given by Niels Lohmann on June 27, 2006 in Turku, Finland as part of the Advanced Tutorial on Petri Net Modelling of Business Processes; satellite event of the PETRI NETS ...

Invited presentation given by Niels Lohmann on June 27, 2006 in Turku, Finland as part of the Advanced Tutorial on Petri Net Modelling of Business Processes; satellite event of the PETRI NETS 2006/ACSD 2006 conferences.

Statistics

Views

Total Views
615
Views on SlideShare
615
Embed Views
0

Actions

Likes
0
Downloads
8
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tools4BPEL Tutorial Tools4BPEL Tutorial Presentation Transcript

    • Tools4BPEL Tutorial Niels Lohmann Humboldt-Universität zu Berlin Department of Computer Sciencenlohmann@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 modellednet 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 #1The Online Shop 19
    • shop.bpel 20
    • DescriptionWhen the online shop receives the login information from acustomer, its business strategy distinguishes between alreadyknown customers and new customers. In case of a knowncustomer the left branch is executed: first the shop expects anorder, and then it sends the invoice to the customer. In case of anew customer (right branch) the shop initiates two tasksconcurrently: in the first task (Sequence1) the shop first receivesthe order and then confirms it. In the second task (Sequence2)the shop receives the terms of payment before it sends an invoiceto the customer. In either case the shop finally sends the deliveryinformation to the customer. The customer may send an abortmessage at any time. This is modelled by an event handler thatreceives the abort message and then terminates the wholeprocess. 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
    • Todo1. 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. TranslationWe 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. ControllabilityWe 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 behaviourof a customer. First he sends a login, followed by anorder. Then he must be able to either receive aninvoice (in case he is known to the shop) or to receivethe confirmation (in case he is a new customer). If heactually has received the confirmation, he must send aterms of payment message. After that he will receivethe invoice. In either case he finally receives thedelivery information. At any time he may abort. 28
    • 3. Operating GuidelineWe 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#2The new Online Shop 31
    • newshop.bpel 32
    • DescriptionThe shop now modifies its business strategy: everyknown customer that orders something can choose agift. The changes only affect the left branch of theswitch. The shop initiates two tasks concurrently now:in the first task (Sequence1) the shop first receives theorder and then confirms it. In the second task(Sequence2) the shop receives which gift is chosenbefore it sends the invoice to the customer. 33
    • Analysis tasks• Does this change have an impact on the partners? 34
    • Todo1. 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. ComparisonA closer look at the OG reveals that actually everycustomer of the modified shop must eventually sendan abort message. This surely means that the processis controllable. However, the way this is done isobviously a not intended one. There is no way that acustomer can get what he has ordered from theprocess. 39
    • 4. Comparison (cont.)We can see that the shop does not communicate its innerdecision about which branch (known customer, new customer) ischosen. In the original online shop the controller must send anorder, but receives either an invoice or a confirmation w.r.t. whichbranch the shop has chosen before. That way the controller knowswhat branch the shop is actually in and hence knows how tocontinue. In contrast, in the modified shop the controller mustsend an order and receives undistinguishable confirmationmessages in either case. The modified shop expects a choice of agift in case it decided for the known customer branch. In the othercase it expects the terms of payment. The controller, however,does not know about the decision of the shop. However, sendingan abort is always correct. 40
    • Example #3Coffee Vending Machine 41
    • coffee.bpel 42
    • DescriptionThe coffee vending has a button for coffee and one fortea, and a money slot. After money is inserted and abutton is pressed, the beverage (coffee or tea) isreturned. 43
    • Analysis Task• Are these three customers partners of the coffee vending machine? customer1.bpel customer2.bpel customer3.bpel 44
    • Todo1. 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 CompositionBPEL2oWFN 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
    • Conclusionand References 51
    • ConclusionThe 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 Sciencenlohmann@informatik.hu-berlin.de