SlideShare a Scribd company logo
Petrifying Operating Guidelines  for Web Services Niels Lohmann,  Karsten Wolf Universität Rostock
Intro: Operating Guidelines Correctness criterion: no deadlocks, no livelocks, no message overflow Simplified approach:  !a ?b ?c !a ?b ?d !a !a !a !a (!a  ⋁ ?b ⋁ ?c)  ⋀  (!a ⋁ ?b)  ⋀  (!a ⋁ ?d ⋁ final)  Operating guidelines = Most permissive partner + Boolean annotations  Find = Find simulation relation + Evaluate annotations
Example ? o ffer ! r eject ! a ccept ? i nvoice customer service !i !i !i !o !o ?r ?r ?a ?a !i  ⋁  !o !i  ⋁  (?a  ⋀ ?r)   !i  !o ?a  ⋀ ?r final operating guidelines !o ?r !i ?a partner !o ?r !i !i no partner (simulation) !o !i ?a no partner (annotation) ?r
Applications Discovery in SOA  Service validation Substitutability of services Test case selection Instance migration Service composition ...
Size of Operating Guidelines  Problem: How to deal with the formulas? Size Petri net Size automaton Name 167 77056 Quotation requisition 65 9472 Passport application 93 7792 Deliver finished goods 116 5760 Contract Negotiation 94 1866 Reservations 76 992 Purchase order 95 776 Travel service 249 692 Internal order 316 484 Online shop 116 403 Ticket reservation
Observations about Annotations I Negation does not occur, just conjunction and disjunction Only labels of leaving transitions occur in annotation If node has send successor (!x), it occurs in every clause    annotations w.r.t. send events can be inferred from structure final does not occur in same clause with receive messages     alternative representation of annotation:  !x 1 ⋁... ⋁  !x m ⋁ [final ⋀] (?y 11   ⋁... ⋁  ?y 1k 1 )  ⋀... ⋀ (?y 1n   ⋁... ⋁  ?y 1k n )  !a !a !a !a !a !a !i !i !i !o !o ?r ?r ?a ?a !i  ⋁  !o !i  ⋁  (?a  ⋀ ?r)   !i  !o ?a  ⋀ ?r final
Observations about Annotations II !x 1 ⋁... ⋁  !x m ⋁ [final ⋀] (?y 11   ⋁... ⋁  y 1k 1 )  ⋀... ⋀ (?y 1n   ⋁... ⋁  ?y 1k n )  Forward propagation of receive clauses Backward propagation of receive clauses (?a  ⋁ remaining clause)  ⋀  X ⇒ (?a  ⋁ remaining clause)  ⋀  X ... ( remaining clause)  ⋀  Y ?a ?a ?a (clause)  ⋀  X   ⇒ ?a (clause)  ⋀  X   (?a  ⋁  clause)  ⋀  Y
Implicit representation of annotations Let F = set of states where  final  occurs in annotation Let S = set of states where only  send  events occur in some clause Original annotations can be reconstructed: !x 1 ⋁... ⋁  !x m  ⋁  [final ⋀]  (?y 11   ⋁... ⋁  y 1k 1 )  ⋀... ⋀ (?y 1n   ⋁... ⋁  ?y 1k n )  from structure from set F some path to S ⋃F some path to S ⋃F
Example I !i !i !i !o !o ?r ?r ?a ?a S S  S F new annotation !i !i !i !o !o ?r ?r ?a ?a !i  ⋁  !o !i  ⋁  ( ?a   ⋀  ?r )   !i  !o ?a  ⋀ ?r final old annotation
Example II S F F S F !x !y !z ?c ?a ?b ?a ?b !x !z  ⋁ final final !y final !x !y !z ?c ?a ?b ?a ?b ?c   ⋀ ( ?a  ⋁ ?b ) ?a ?b
Matching S F F S F !x !y !z ?c ?a ?b ?a ?b !x-successor sufficient  !z-successor sufficient final ok !y-successor sufficient F !x !y !z ?c ?b ?a no ?a-path to S ⋃F  no fail clause final ok no  Ø -path to S ⋃F  no fail clause
Achieved so far Complexity gain (size of operating guidelines) Old approach:  O (|P||R|) New approach: O (|R|) No significant efficiency loss in matching Petri net representation of structure + 2 lists of markings (S,F) Remaining problem: How to represent S,F Boolean predicate  BDD Explicit
Size of Sets S and F 255 3 18 26 3 16 47 7 11 8 #S #F #Formulae Name 1 11264 Quotation requisition 1 1536 Passport application 2 1376 Deliver finished goods 2 1152 Contract Negotiation 6 369 Reservations 1 232 Purchase order 2 192 Travel service 8 184 Internal order 21 153 Online shop 2 110 Ticket reservation
Further reduction in S and F State without successor must be in F State is never in both S and F State without receiving events is seldom outside S State with receiving events is seldom in S F‘ = F \ states without successors S 1  = S  ⋂  states with receiving events S 2  = states without receiving events \ (S  ⋃ F) F = F‘ ⋃ states without successors S = S1 ⋃ ( states without receiving events \S2)
Size of Sets S1, S2, and F‘ 1 1 2 2 6 1 2 8 21 2 #F 0 0 1 0 1 0 0 1 0 0 #S1 0 0 0 0 0 0 0 0 0 0 #S2 255 3 18 26 3 16 47 7 11 8 #S #F‘ Name 0 Quotation requisition 0 Passport application 1 Deliver finished goods 0 Contract Negotiation 5 Reservations 0 Purchase order 1 Travel service 4 Internal order 7 Online shop 1 Ticket reservation
Conclusion Implicit representation of annotations saves space enables Petri net representation of structure can be stored explicitly Further application in subsitutability checking S1 can be substituted by S2 iff Partners(S1)  ⊆ Partners(S2) ... iff simulation between S1 and S2 and implication between related  annotations holds ... iff simple local correlation between S- and F-status of related states Size of resulting Petri net could be reduced by injecting unreachable states (recorded in a third set)

More Related Content

PDF
How to implement a theory of correctness in the area of business processes an...
PDF
Bravery is Relative
PPTX
Graphics 2012
PDF
Getting More from Your CI Server: Taking Hudson to the Next Level
PDF
Help! My Legacy Application is Unmaintainable!
PDF
Real developers-dont-need-unit-tests
PDF
Fixing Choreographies using Graph Similarities
PPT
Behavior of Services
How to implement a theory of correctness in the area of business processes an...
Bravery is Relative
Graphics 2012
Getting More from Your CI Server: Taking Hudson to the Next Level
Help! My Legacy Application is Unmaintainable!
Real developers-dont-need-unit-tests
Fixing Choreographies using Graph Similarities
Behavior of Services

Viewers also liked (15)

PPT
Inside LoLA - Experiences from building a state space tool for place transiti...
PDF
Quick Adaptability Checks
PDF
Teilen und Herrschen von Bedienungsanleitungen
KEY
Verification with LoLA: 5 Case Studies
PDF
Another Approach to Instance Migration
PPT
Managing test suites for services
KEY
Verification with LoLA: 4 Using LoLA
KEY
Verification with LoLA: 3 State Space Reduction
PPT
Automated Calculation of a Progress Measure of the Sweep-Line Method
PPT
Using Petri Net Invariants in State Space Construction
PPTX
Diagnosing and Repairing Data Anomalies in Process Models
PDF
Artifact-centric modeling using BPMN
PPTX
State Space Reduction Techniques to Verify Business Processes
PPT
Exploring Petri Net State Spaces
Inside LoLA - Experiences from building a state space tool for place transiti...
Quick Adaptability Checks
Teilen und Herrschen von Bedienungsanleitungen
Verification with LoLA: 5 Case Studies
Another Approach to Instance Migration
Managing test suites for services
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 3 State Space Reduction
Automated Calculation of a Progress Measure of the Sweep-Line Method
Using Petri Net Invariants in State Space Construction
Diagnosing and Repairing Data Anomalies in Process Models
Artifact-centric modeling using BPMN
State Space Reduction Techniques to Verify Business Processes
Exploring Petri Net State Spaces
Ad

Similar to Petrifying Operating Guidelines for Web Services (6)

PDF
Logic and Reasoning in the Semantic Web (part II –OWL)
PPTX
Complete and Interpretable Conformance Checking of Business Processes
PPTX
aho corasick paper study note
PPT
functions basics review ppt.ppttttttttttttttttt
PPT
Geohydrology ii (3)
PPTX
Incremental and Interactive Process Model Repair
Logic and Reasoning in the Semantic Web (part II –OWL)
Complete and Interpretable Conformance Checking of Business Processes
aho corasick paper study note
functions basics review ppt.ppttttttttttttttttt
Geohydrology ii (3)
Incremental and Interactive Process Model Repair
Ad

More from Universität Rostock (20)

PDF
Pragmatic model checking: from theory to implementations
PDF
Where did I go wrong? Explaining errors in process models
PDF
Decidability Results for Choreography Realization
PDF
Compliance by Design for Artifact-Centric Business Processes
KEY
Verification with LoLA
KEY
Verification with LoLA: 7 Implementation
KEY
Verification with LoLA: 6 Integrating LoLA
KEY
Verification with LoLA: 1 Basics
KEY
Verification with LoLA: 2 The LoLA Input Language
PDF
Saarbruecken
PDF
Ws4 dsec talk @ Kickoff RS3
PDF
Internal Behavior Reduction for Services
PDF
Karsten Wolf @ Carl Adam Petri Memorial Symposium
PDF
Implementation of an Interleaving Semantics for TLDA
PDF
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
PDF
Demonstration of BPEL2oWFN and Fiona
PDF
service-technology.org — A tool family for correct
business processes and ser...
PDF
Tools4BPEL Tutorial
PDF
Diagnosis of Open Workflow Nets
PDF
Analyzing Web Service Behavior
Pragmatic model checking: from theory to implementations
Where did I go wrong? Explaining errors in process models
Decidability Results for Choreography Realization
Compliance by Design for Artifact-Centric Business Processes
Verification with LoLA
Verification with LoLA: 7 Implementation
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 1 Basics
Verification with LoLA: 2 The LoLA Input Language
Saarbruecken
Ws4 dsec talk @ Kickoff RS3
Internal Behavior Reduction for Services
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Implementation of an Interleaving Semantics for TLDA
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Demonstration of BPEL2oWFN and Fiona
service-technology.org — A tool family for correct
business processes and ser...
Tools4BPEL Tutorial
Diagnosis of Open Workflow Nets
Analyzing Web Service Behavior

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
Teaching material agriculture food technology
PPTX
Cloud computing and distributed systems.
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Teaching material agriculture food technology
Cloud computing and distributed systems.
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Understanding_Digital_Forensics_Presentation.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars

Petrifying Operating Guidelines for Web Services

  • 1. Petrifying Operating Guidelines for Web Services Niels Lohmann, Karsten Wolf Universität Rostock
  • 2. Intro: Operating Guidelines Correctness criterion: no deadlocks, no livelocks, no message overflow Simplified approach: !a ?b ?c !a ?b ?d !a !a !a !a (!a ⋁ ?b ⋁ ?c) ⋀ (!a ⋁ ?b) ⋀ (!a ⋁ ?d ⋁ final) Operating guidelines = Most permissive partner + Boolean annotations Find = Find simulation relation + Evaluate annotations
  • 3. Example ? o ffer ! r eject ! a ccept ? i nvoice customer service !i !i !i !o !o ?r ?r ?a ?a !i ⋁ !o !i ⋁ (?a ⋀ ?r) !i !o ?a ⋀ ?r final operating guidelines !o ?r !i ?a partner !o ?r !i !i no partner (simulation) !o !i ?a no partner (annotation) ?r
  • 4. Applications Discovery in SOA Service validation Substitutability of services Test case selection Instance migration Service composition ...
  • 5. Size of Operating Guidelines  Problem: How to deal with the formulas? Size Petri net Size automaton Name 167 77056 Quotation requisition 65 9472 Passport application 93 7792 Deliver finished goods 116 5760 Contract Negotiation 94 1866 Reservations 76 992 Purchase order 95 776 Travel service 249 692 Internal order 316 484 Online shop 116 403 Ticket reservation
  • 6. Observations about Annotations I Negation does not occur, just conjunction and disjunction Only labels of leaving transitions occur in annotation If node has send successor (!x), it occurs in every clause  annotations w.r.t. send events can be inferred from structure final does not occur in same clause with receive messages  alternative representation of annotation: !x 1 ⋁... ⋁ !x m ⋁ [final ⋀] (?y 11 ⋁... ⋁ ?y 1k 1 ) ⋀... ⋀ (?y 1n ⋁... ⋁ ?y 1k n ) !a !a !a !a !a !a !i !i !i !o !o ?r ?r ?a ?a !i ⋁ !o !i ⋁ (?a ⋀ ?r) !i !o ?a ⋀ ?r final
  • 7. Observations about Annotations II !x 1 ⋁... ⋁ !x m ⋁ [final ⋀] (?y 11 ⋁... ⋁ y 1k 1 ) ⋀... ⋀ (?y 1n ⋁... ⋁ ?y 1k n ) Forward propagation of receive clauses Backward propagation of receive clauses (?a ⋁ remaining clause) ⋀ X ⇒ (?a ⋁ remaining clause) ⋀ X ... ( remaining clause) ⋀ Y ?a ?a ?a (clause) ⋀ X ⇒ ?a (clause) ⋀ X (?a ⋁ clause) ⋀ Y
  • 8. Implicit representation of annotations Let F = set of states where final occurs in annotation Let S = set of states where only send events occur in some clause Original annotations can be reconstructed: !x 1 ⋁... ⋁ !x m ⋁ [final ⋀] (?y 11 ⋁... ⋁ y 1k 1 ) ⋀... ⋀ (?y 1n ⋁... ⋁ ?y 1k n ) from structure from set F some path to S ⋃F some path to S ⋃F
  • 9. Example I !i !i !i !o !o ?r ?r ?a ?a S S S F new annotation !i !i !i !o !o ?r ?r ?a ?a !i ⋁ !o !i ⋁ ( ?a ⋀ ?r ) !i !o ?a ⋀ ?r final old annotation
  • 10. Example II S F F S F !x !y !z ?c ?a ?b ?a ?b !x !z ⋁ final final !y final !x !y !z ?c ?a ?b ?a ?b ?c ⋀ ( ?a ⋁ ?b ) ?a ?b
  • 11. Matching S F F S F !x !y !z ?c ?a ?b ?a ?b !x-successor sufficient !z-successor sufficient final ok !y-successor sufficient F !x !y !z ?c ?b ?a no ?a-path to S ⋃F  no fail clause final ok no Ø -path to S ⋃F  no fail clause
  • 12. Achieved so far Complexity gain (size of operating guidelines) Old approach: O (|P||R|) New approach: O (|R|) No significant efficiency loss in matching Petri net representation of structure + 2 lists of markings (S,F) Remaining problem: How to represent S,F Boolean predicate BDD Explicit
  • 13. Size of Sets S and F 255 3 18 26 3 16 47 7 11 8 #S #F #Formulae Name 1 11264 Quotation requisition 1 1536 Passport application 2 1376 Deliver finished goods 2 1152 Contract Negotiation 6 369 Reservations 1 232 Purchase order 2 192 Travel service 8 184 Internal order 21 153 Online shop 2 110 Ticket reservation
  • 14. Further reduction in S and F State without successor must be in F State is never in both S and F State without receiving events is seldom outside S State with receiving events is seldom in S F‘ = F \ states without successors S 1 = S ⋂ states with receiving events S 2 = states without receiving events \ (S ⋃ F) F = F‘ ⋃ states without successors S = S1 ⋃ ( states without receiving events \S2)
  • 15. Size of Sets S1, S2, and F‘ 1 1 2 2 6 1 2 8 21 2 #F 0 0 1 0 1 0 0 1 0 0 #S1 0 0 0 0 0 0 0 0 0 0 #S2 255 3 18 26 3 16 47 7 11 8 #S #F‘ Name 0 Quotation requisition 0 Passport application 1 Deliver finished goods 0 Contract Negotiation 5 Reservations 0 Purchase order 1 Travel service 4 Internal order 7 Online shop 1 Ticket reservation
  • 16. Conclusion Implicit representation of annotations saves space enables Petri net representation of structure can be stored explicitly Further application in subsitutability checking S1 can be substituted by S2 iff Partners(S1) ⊆ Partners(S2) ... iff simulation between S1 and S2 and implication between related annotations holds ... iff simple local correlation between S- and F-status of related states Size of resulting Petri net could be reduced by injecting unreachable states (recorded in a third set)