AMS Node Meetup February presentation Jasper Spoel

19
Process Orchestration. A petri net perspective

Transcript of AMS Node Meetup February presentation Jasper Spoel

Page 1: AMS Node Meetup February presentation Jasper Spoel

Process Orchestration. A petri net perspective

Page 2: AMS Node Meetup February presentation Jasper Spoel

Overview

• petri nets

• some control flow examples

• a bit of determinism

• fitting in your code

Page 3: AMS Node Meetup February presentation Jasper Spoel

Petri nets

• mathematical description language for distributed systems

• bipartite graph

• exact mathematical definition of execution semantics

• nondeterministic execution (unless...)

Page 4: AMS Node Meetup February presentation Jasper Spoel

Petri net elements

• Place

• Transition

• Arc

Page 5: AMS Node Meetup February presentation Jasper Spoel

Execution

• Tokens and markings

• Arc weight

• Capacity

Page 6: AMS Node Meetup February presentation Jasper Spoel

Petri net types

• classical petri net

• colored petri net

• timed petri net

• hierarchical petri net

Page 7: AMS Node Meetup February presentation Jasper Spoel

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

Page 8: AMS Node Meetup February presentation Jasper Spoel

Patterns and constructs

Sequential

FIFO queue

Page 9: AMS Node Meetup February presentation Jasper Spoel

Patterns and constructsParallel routing

Page 10: AMS Node Meetup February presentation Jasper Spoel

Patterns and constructsConditional routing

Page 11: AMS Node Meetup February presentation Jasper Spoel

Patterns and constructsLIFO queue

Page 12: AMS Node Meetup February presentation Jasper Spoel

Patterns and constructsRandom memory for 3 memory cells

Page 13: AMS Node Meetup February presentation Jasper Spoel

Patterns and constructsModulo 3

Page 14: AMS Node Meetup February presentation Jasper Spoel

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

Page 15: AMS Node Meetup February presentation Jasper Spoel

high level petri net

• Color

• data typing and guarding

• business rules

• Time

• execution time constraints

• timed event generation

• Hierarchy

• sub nets

Page 16: AMS Node Meetup February presentation Jasper Spoel

A few leverages

• workspace generation with yeoman

• functional units

• async or sync units

• hell, promises, awaiting async,....

Page 17: AMS Node Meetup February presentation Jasper Spoel

Transition executions

• pass, input, output, subnet

• Standard library

• js, .net, interpreted

• synchronous or asynchronous

Page 18: AMS Node Meetup February presentation Jasper Spoel

Execution policy

• input connector

• business rules

• end markings

• exception handling

• stop

• continue

• sub net

Page 19: AMS Node Meetup February presentation Jasper Spoel

An example