1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| rule Place {
from
g : bpmn3!Event
to
p : PetriNet!Place
(
location <- g.location,
name <- g.name,
net <- g.process,
incomingArc <- g.incomingConnections,
outgoingArc <- g.outgoingConnections
)
}
-- task to transition
rule Transition {
from
g : bpmn3!Task
to
p : PetriNet!Transition
(
location <- g.location,
name <- g.name,
net <- g.process,
incomingArc <- g.incomingConnections or g.incomingConnectionst,
outgoingArc <- g.outgoingConnections or g.outgoingConnectionst
)
}
rule PlaceToTransition {
from
g : bpmn3!EventtoTask
to
p : PetriNet!PlaceToTransition
(
location <- g.location,
name <- g.name,
net <- g.process,
"from" <- g."from",
"to" <- g."to"
)
}
rule TransitionToPlace {
from
g : bpmn3!TasktoEvent
to
p : PetriNet!TransitionToPlace
(
location <- g.location,
name <- g.name,
net <- g.process,
"from" <- g."from",
"to" <- g."to"
)
}
rule TransitionToTransition {
from
g : bpmn3!TasktoTask
to
p : PetriNet!TransitiontoPlace
(
location <- g.location,
name <- g.name,
net <- g.process,
"from" <- g."from",
"to" <- r.Place
),
q : PetriNet!PlaceToTransition
(
location <- g.location,
name <- g.name + '2',
net <- g.process,
"from" <- r.Place,
"to" <- g."to"
),
r : PetriNet!Place
(
location <- g.location,
name <- g.name + 'place',
net <- g.process,
incomingArc <- p.outgoingConections,
outgoingArc <- q.incomingConnections
)
} |
Partager