Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Process Orchestration.
A petri net perspective
Overview
• petri nets
• some control flow examples
• a bit of determinism
• fitting in your code
Petri nets
• mathematical description language for
distributed systems
• bipartite graph
• exact mathematical definition of...
Petri net elements
• Place
• Transition
• Arc
Execution
• Tokens and markings
• Arc weight
• Capacity
Petri net types
• classical petri net
• colored petri net
• timed petri net
• hierarchical petri net
Mathy sugar
• Reachability
• and the infinite reachability graph problem
• Liveness
• dead
• potentially fireable
• can fire ...
Patterns and constructs
Sequential
FIFO queue
Patterns and constructs
Parallel routing
Patterns and constructs
Conditional routing
Patterns and constructs
LIFO queue
Patterns and constructs
Random memory for 3 memory cells
Patterns and constructs
Modulo 3
insert node
• Orchestration through high level petri nets
• potentially complex petri nets
• lightweight control structure...
high level petri net
• Color
• data typing and guarding
• business rules
• Time
• execution time constraints
• timed event...
A few leverages
• workspace generation with yeoman
• functional units
• async or sync units
• hell, promises, awaiting asy...
Transition executions
• pass, input, output, subnet
• Standard library
• js, .net, interpreted
• synchronous or asynchrono...
Execution policy
• input connector
• business rules
• end markings
• exception handling
• stop
• continue
• sub net
An example
Upcoming SlideShare
Loading in …5
×

AMS Node Meetup February presentation Jasper Spoel

542 views

Published on

Petri nets are a mathematical model that can be nicely used to express workflows. Using the petri net model, we will find out how to control the flow of a node.js program and why this can be very handy in quite a few cases.

Published in: Software
  • Be the first to comment

  • Be the first to like this

AMS Node Meetup February presentation Jasper Spoel

  1. 1. Process Orchestration. A petri net perspective
  2. 2. Overview • petri nets • some control flow examples • a bit of determinism • fitting in your code
  3. 3. Petri nets • mathematical description language for distributed systems • bipartite graph • exact mathematical definition of execution semantics • nondeterministic execution (unless...)
  4. 4. Petri net elements • Place • Transition • Arc
  5. 5. Execution • Tokens and markings • Arc weight • Capacity
  6. 6. Petri net types • classical petri net • colored petri net • timed petri net • hierarchical petri net
  7. 7. Mathy sugar • Reachability • and the infinite reachability graph problem • Liveness • dead • potentially fireable • can fire arbitrarily • can fire indefinitely • may always fire • Boundedness • 1-bounded (safe) • k-bounded
  8. 8. Patterns and constructs Sequential FIFO queue
  9. 9. Patterns and constructs Parallel routing
  10. 10. Patterns and constructs Conditional routing
  11. 11. Patterns and constructs LIFO queue
  12. 12. Patterns and constructs Random memory for 3 memory cells
  13. 13. Patterns and constructs Modulo 3
  14. 14. insert node • Orchestration through high level petri nets • potentially complex petri nets • lightweight control structure • correctness validation • no ambiguity in petri net model • functional node
  15. 15. high level petri net • Color • data typing and guarding • business rules • Time • execution time constraints • timed event generation • Hierarchy • sub nets
  16. 16. A few leverages • workspace generation with yeoman • functional units • async or sync units • hell, promises, awaiting async,....
  17. 17. Transition executions • pass, input, output, subnet • Standard library • js, .net, interpreted • synchronous or asynchronous
  18. 18. Execution policy • input connector • business rules • end markings • exception handling • stop • continue • sub net
  19. 19. An example

×