Upload
icemobile
View
63
Download
0
Embed Size (px)
Citation preview
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 execution semantics
• nondeterministic execution (unless...)
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 arbitrarily
• can fire indefinitely
• may always fire
• Boundedness
• 1-bounded (safe)
• k-bounded
Patterns and constructs
Sequential
FIFO queue
Patterns and constructsParallel routing
Patterns and constructsConditional routing
Patterns and constructsLIFO queue
Patterns and constructsRandom memory for 3 memory cells
Patterns and constructsModulo 3
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
high level petri net
• Color
• data typing and guarding
• business rules
• Time
• execution time constraints
• timed event generation
• Hierarchy
• sub nets
A few leverages
• workspace generation with yeoman
• functional units
• async or sync units
• hell, promises, awaiting async,....
Transition executions
• pass, input, output, subnet
• Standard library
• js, .net, interpreted
• synchronous or asynchronous
Execution policy
• input connector
• business rules
• end markings
• exception handling
• stop
• continue
• sub net
An example