| import 'SourceDerivedMM.ecore' | |
| import 'TargetDerivedMM.ecore' | |
| import 'Source2TargetBase.ocl' | |
| package sderived | |
| context X2 | |
| def : ast() : tderived::A2 = | |
| tderived::A2 { | |
| name = name, | |
| ownsB = ownsY.ast()->asOrderedSet(), | |
| ownsD = ownsW.ast()->asOrderedSet() | |
| } | |
| context Y2 | |
| def : ast() : tderived::B2 = | |
| tderived::B2 { | |
| name = name, | |
| anotherName = name2, | |
| ownsC = ownsZ.ast() | |
| } | |
| context W | |
| def : ast() : tderived::D = | |
| tderived::D{ } | |
| endpackage |