| OpaqueExpression |
| ================ |
| |
| OCL specifies ExpressionInOcl extends OpaqueExpression |
| -- unwelcome OpaqueExprrdsio content; awkward re-classing |
| 1st pivot rearrangement deletes OpaqueExpression, merges into ExpressionInOCL |
| -- two phase specification/query |
| Next pivot rearrangement: |
| |
| ExpressionInOCL extends (abstract)LanguageExpression extends ValueSpecification |
| OpaqueExpression extends (abstract)LanguageExpression extends ValueSpecification |
| [ExpressionInALF extends (abstract)LanguageExpression extends ValueSpecification] |
| |
| -- two phase now type enforced |
| - generic LanguageExpression/ValueSpecification needs conversion to ExpressionInOCL |
| - specific ExpressionInOCL is already parsed |
| |
| -------------------------------- |
| |
| ValueSpecifcation any abstract => abstract |
| Visitable => RedefineableSignature |
| Package::ownedType => most derived |
| |
| Behavior |
| delete isReentrant,ownedParameter,postcondition,precondition,redefinedBehavior |
| add transition |
| Class |
| inherits TemplateableElement |
| add isFinalSpecialization,class,classifierTemplateParameter,general,inheritedMember,instanceSpecification,nestedClassifier,nestingClass,part,redefinedClassifier,region,state,transition |
| delete nestedType,ownedBehavior |
| Constraint |
| add bodyContext,postContext,preContext |
| adjust constrainedElement,context |
| delete specification |
| Element |
| add constraint |
| |
| |
| |