import 'Copyflowchart.etl'; | |
rule MergeFlowchart | |
merge l : Left!`Flowchart` | |
with r : Right!`Flowchart` | |
into t : Target!`Flowchart` { | |
t.`nodes` ::= l.`nodes` + r.`nodes`; | |
t.`transitions` ::= l.`transitions` + r.`transitions`; | |
} | |
rule MergeTransition | |
merge l : Left!`Transition` | |
with r : Right!`Transition` | |
into t : Target!`Transition` { | |
t.`name` := l.`name`; | |
t.`source` ::= l.`source`; | |
t.`target` ::= l.`target`; | |
} | |
rule MergeSubflow | |
merge l : Left!`Subflow` | |
with r : Right!`Subflow` | |
into t : Target!`Subflow` { | |
t.`name` := l.`name`; | |
t.`nodes` ::= l.`nodes` + r.`nodes`; | |
t.`transitions` ::= l.`transitions` + r.`transitions`; | |
t.`outgoing` ::= l.`outgoing` + r.`outgoing`; | |
t.`incoming` ::= l.`incoming` + r.`incoming`; | |
} | |
rule MergeAction | |
merge l : Left!`Action` | |
with r : Right!`Action` | |
into t : Target!`Action` { | |
t.`name` := l.`name`; | |
t.`outgoing` ::= l.`outgoing` + r.`outgoing`; | |
t.`incoming` ::= l.`incoming` + r.`incoming`; | |
} | |
rule MergeDecision | |
merge l : Left!`Decision` | |
with r : Right!`Decision` | |
into t : Target!`Decision` { | |
t.`name` := l.`name`; | |
t.`outgoing` ::= l.`outgoing` + r.`outgoing`; | |
t.`incoming` ::= l.`incoming` + r.`incoming`; | |
} | |