module tree2graph; | |
create OUT : GraphMM from IN : TreeMM; | |
rule CreateGraphNodes { | |
from t : TreeMM!Tree | |
to n : GraphMM!Node ( | |
name <- t.label | |
) | |
} | |
nodefault rule CreateGraph { | |
from t : TreeMM!Tree (t.parent.oclIsUndefined()) | |
to g : GraphMM!Graph ( | |
nodes <- TreeMM!Tree.allInstances() | |
) | |
} | |
nodefault rule CreateGraphEdges { | |
from t : TreeMM!Tree (not t.parent.oclIsUndefined()) | |
to e : GraphMM!Edge ( | |
source <- t.parent, | |
target <- t | |
) | |
} |