SMM 1.0b2 FTF Avatar
  1. OMG Issue

SMM — Add better support for Operations and OCL code reuse

  • Key: SMM-25
  • Legacy Issue Number: 14602
  • Status: closed  
  • Source: Model Driven Solutions ( Dr. Edward Willink)
  • Summary:

    This issue will help clarify operations that use to be defined only as string and it also introduces a powerful mechanism to support code reuse when dealing with OCL, thus strengthening OCL support in the model.

    Discussion:
    In the original design of the SMM spec, operations were just defined as string, not even mentioning the nature of those strings. An earlier issue (#14103) provide for the initial introduction of the Operation class for use by DirectMeasure. The use of the Operation class is being extended to other operations, such as mapping, breakCondition and recognizer.
    The second part is the introduction of the OCLOperation class. This class allows for the definition and registration of OCL helper methods in the context of specific classifiers. These operations allow for the definition and reuse of often lengthy and complex OCL methods. It is the implementer's responsibility to determine how to best provide for the parsing or execution environment of those methods. Any helper method that is defined with an OCLOperation then becomes available for OCL based operations applied to the proper classifier.

    Summary of change:
    · Change generalization of Operation to AbstractMeasureElement
    o Operation was not correctly sub-classed and that lead to issues of containment
    · Add OCLOperation class, a generalization of AbstractMeasureElement
    o Add attribute context:String
    § Context defines to OCL the classifier for which this operation is defined.
    o Add attribute body:String
    § The OLC helper function code
    · Change type of mapping in EquivalentMeasureRelationship to Operation
    o Drop attribute mapping in class EquivalentMeasureRelationship
    o Add named relation mapping [0..1] form EquivalentMeasureRelationship to Operation
    · Change breakCondition type to Operation
    o Drop attribute breakCondition in class Scope
    o Add named relation breakCondition [0..1] form Scope to Operation
    · Change recognizer type to Operation
    o Drop attribute recognizer in class Scope
    o Add named relation recognizer [0..1] form Scope to Operation

  • Reported: SMM 1.0b1 — Sat, 31 Oct 2009 04:00 GMT
  • Disposition: Resolved — SMM 1.0b2
  • Disposition Summary:

    • Change generalization of Operation to AbstractMeasureElement
    o Operation was not correctly sub-classed and that lead to issues of containment
    • Add OCLOperation class, a generalization of AbstractMeasureElement
    o Add attribute context:String
    ? Context defines to OCL the classifier for which this operation is defined.
    o Add attribute body:String
    ? The OLC helper function code
    • Change type of mapping in EquivalentMeasureRelationship to Operation
    o Drop attribute mapping in class EquivalentMeasureRelationship
    o Add named relation mapping [0..1] from EquivalentMeasureRelationship to Operation
    • Change breakCondition type to Operation
    o Drop attribute breakCondition in class Scope
    o Add named relation breakCondition [0..1] from Scope to Operation
    • Change recognizer type to Operation
    o Drop attribute recognizer in class Scope
    o Add named relation recognizer [0..1] from Scope to Operation

  • Updated: Fri, 6 Mar 2015 20:58 GMT