Skip to content
Sebi1006 edited this page Apr 29, 2021 · 11 revisions

This is an example project of a petri net.

Concept Editor

Petri Net Example Concept Editor

Shape DSL

`node placeNode for Place { edges { arcPlaceTransition } style: placeStyle sizeMin(width: 200, height: 400) sizeMax(width: 200, height: 400) resizing(horizontal: false, vertical: false, proportional: false) ellipse { size(width: 50, height: 50) position(x: 0, y: 50) } }

node tokenNode for Token { edges {} style: tokenStyle sizeMin(width: 200, height: 400) sizeMax(width: 200, height: 400) resizing(horizontal: false, vertical: false, proportional: false) ellipse { size(width: 10, height: 10) position(x: 0, y: 50) } }

node transitionNode for Transition { edges { arcTransitionPlace } style: transitionStyle sizeMin(width: 200, height: 400) sizeMax(width: 200, height: 400) resizing(horizontal: false, vertical: false, proportional: false) rectangle { size(width: 20, height: 50) position(x: 0, y: 50) } }

edge arcPlaceTransition for Place.Arc { target: Transition style: defaultEdge placing { offset: 20.0 polygon { style: arrow point(x: 0, y: 0) point(x: 10, y: 5) point(x: 7, y: 0) point(x: 10, y: -5) } } }

edge arcTransitionPlace for Transition.Arc2 { target: Place style: defaultEdge placing { offset: 20.0 polygon { style: arrow point(x: 0, y: 0) point(x: 10, y: 5) point(x: 7, y: 0) point(x: 10, y: -5) } } }`