AMS Node Meetup February presentation Jasper Spoel

Preview:

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