SMM 1.0b2 FTF Avatar
  1. OMG Issue

SMM — Add support for parameterized measure

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

    Summary:
    Provide a mechanism by which measure can define and process replaceable arguments.

    Discussion:
    In the original design of the SMM spec, there is no provision to account for the fact that measures often need some parameter to operate. We often don't want the measure to apply to every possible measurand of a certain class. The original specification addressed this with the recognizer, but it failed to provide any means to supply variable information to those recognizers.
    This new support for parameterized measures, allows an operation to define a placeholder for an incoming argument and replace it at runtime with a specific value, like when dealing with date ranges for example.
    The implementer is responsible, when using the measure library in an executable fashion, to determine base on the requested measures of his observation, what are all of the arguments that should be passed in with the observation in order to properly perform the measurements.

    Summary of change:
    · Add DefaultQuery to Measure (constraint not DirectMeasure)
    o Add attribute type:String
    § This represents the type of the argument as it was defined in the operation. This value is only expected to come from the getXXXArguments() methods on the Measure class.
    o Add attribute value:String
    § This represent the value of the argument either as the default or as supplied with the observation
    o Add containment relation from Observation to Argument
    · Add operation getParamStrings():String[0..*] to Operation class
    o This operation returns the set of String that defines the parameter in use by an operation.
    o The format of a parameter within an operation is as follow:
    § '

    {' [typeName] parameterName [' ="' defaultValue '" '] '}

    '
    · where typeName represents the type of the parameter and is optional
    · where parameterName represents the name of the parameter (required)
    · where defaultValue represents a default value to offer (on getArguments()) or to use if not supplied as Argument to an observation. defaultValue is optional.
    · Add operation getArguments():Argument[0..*] to Measure class
    o This operation returns the set of arguments that the different operations of the measure have defined and got returned by getParamStrings().
    · Add operation getAllArguments():Argument[0..*] to Measure class
    o This operations returns the set of arguments for this measure and any child measure required for the execution of the measure. It should call getArguments() on itself and everyone of its child measures.

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

    • Add Argument class, a generalization of SmmElement
    o Add attribute type:String
    ? This represents the type of the argument as it was defined in the operation. This value is only expected to come from the getXXXArguments() methods on the Measure class.
    o Add attribute value:String
    ? This represent the value of the argument either as the default or as supplied with the observation
    o Add containment relation from Observation to Argument
    • Add operation getParamStrings():String[0..*] to Operation class
    o This operation returns the set of String that defines the parameter in use by an operation.
    o The format of a parameter within an operation is as follow:
    ? '

    {' [typeName] parameterName [' =”' defaultValue '” '] '}

    '
    • where typeName represents the type of the parameter and is optional
    • where parameterName represents the name of the parameter (required)
    • where defaultValue represents a default value to offer (on getArguments()) or to use if not supplied as Argument to an observation. defaultValue is optional.
    • Add operation getArguments():Argument[0..*] to Measure class
    o This operation returns the set of arguments that the different operations of the measure have defined and got returned by getParamStrings().
    • Add operation getAllArguments():Argument[0..*] to Measure class
    o This operations returns the set of arguments for this measure and any child measure required for the execution of the measure. It should call getArguments() on itself and everyone of its child measures.

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