Structured Metrics Metamodel Avatar
  1. OMG Specification

Structured Metrics Metamodel — Closed Issues

  • Acronym: SMM
  • Issues Count: 74
  • Description: Issues resolved by a task force and approved by Board
Closed All
Issues resolved by a task force and approved by Board

Issues Summary

Key Issue Reported Fixed Disposition Status
SMM11-88 In 10.3 Scope::class should not be a String but a proper reference to MOF:Class SMM 1.0 SMM 1.1 Resolved closed
SMM11-87 The UML uses non-standard notation by showing the superclass in top right of a class compartment. SMM 1.0 SMM 1.1 Resolved closed
SMM11-86 The metamodel is missing Properties for important navigable relationships SMM 1.0 SMM 1.1 Resolved closed
SMM11-85 The UML uses ‘string’ lowercase rather than the UML/MOF PromitiveType String (uppercase) SMM 1.0 SMM 1.1 Resolved closed
SMM11-84 8.7, 8.8: it should be made clear that Date and Timestamp are PrimitiveTypes SMM 1.0 SMM 1.1 Resolved closed
SMM11-100 Create new root class that attribute and annotation can extend SMM 1.0 SMM 1.1 Closed; No Change closed
SMM11-99 Section 9: It does not make sense for Attribute or Annotation to inherit from SmmElement SMM 1.0 SMM 1.1 Closed; No Change closed
SMM11-103 Add attribute “type” (String) to Observation SMM 1.0 SMM 1.1 Closed; No Change closed
SMM11-102 Add relation to Scope Class SMM 1.0 SMM 1.1 Closed; No Change closed
SMM11-101 Add missing containment relation from SmmElement to SmmRelationship SMM 1.0 SMM 1.1 Closed; No Change closed
SMM11-106 Remove the TimeStamp primitive type SMM 1.0 SMM 1.1 Closed; No Change closed
SMM11-105 It is unclear how rescaling is possible from more than 1 simultaneously SMM 1.0 SMM 1.1 Closed; No Change closed
SMM11-104 Allow more normative options for language of operation body SMM 1.0 SMM 1.1 Closed; No Change closed
SMM11-107 The metamodel defines MOF operations for derived Properties SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-109 Section 8.6, measureCategory SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-108 What is missing however is any semi-formal description of how the properties are derived – for example OCL SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-110 Change the spec from EMOF to CMOF SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-111 AdditiveMeasure SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-112 Inconsistency between Examples (instance models) and meta-model SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-89 Add a non-normative clause to the SMM doc which demonstrates a SMM library of basic unit conversions SMM 1.0 SMM 1.1 Deferred closed
SMM11-118 Change compliance to use term “must” instead of “can” SMM 1.0 SMM 1.1 Resolved closed
SMM11-90 SMM confuses "To" and "From" SMM 1.0 SMM 1.1 Deferred closed
SMM11-117 Base SMM on CMOF instead of EMOF SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-116 Make all examples shown in the non-normative clauses of the SMM doc compatible with the latest SMM spec SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-115 Examples (instance diagrams) in SMM spec contain AdditiveMeasure and AggregatedMeasure SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-114 Wrong reference SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-113 RescaledMeasure SMM 1.0 SMM 1.1 Duplicate or Merged closed
SMM11-125 Attributes to be added to Measurement SMM 1.0 SMM 1.1 Resolved closed
SMM11-124 The measurand of Measurement, which references Element (MOF), is owned by Measurement SMM 1.0 SMM 1.1 Resolved closed
SMM11-123 SMM metamodel contains class "MofElement". SMM 1.0 SMM 1.1 Resolved closed
SMM11-122 Scope of a measure should be made optional SMM 1.0 SMM 1.1 Resolved closed
SMM11-121 SMM should use MOF 2.4.1 SMM 1.0 SMM 1.1 Resolved closed
SMM11-120 Fix OCL constraint in CategoryRelationhsip SMM 1.0 SMM 1.1 Resolved closed
SMM11-119 Clarify that XQuery is defined as mapping to XMI with correct version number SMM 1.0 SMM 1.1 Resolved closed
SMM11-126 Allow multiple operations for a direct measure (multiplicity 0..*) SMM 1.0 SMM 1.1 Resolved closed
SMM11-128 Add accumulator value “product”. SMM 1.0 SMM 1.1 Resolved closed
SMM11-127 CollectiveMeasurement class SMM 1.0 SMM 1.1 Resolved closed
SMM11-130 Should a binary measure have a formula next to a functor ? SMM 1.0 SMM 1.1 Resolved closed
SMM11-129 SMM does not allow for a formula, but only has a simple accumulator SMM 1.0 SMM 1.1 Resolved closed
SMM11-134 functor should have an enumeration defined in the spec SMM 1.0 SMM 1.1 Resolved closed
SMM11-133 CollectiveMeasurement attribute wrong SMM 1.0 SMM 1.1 Resolved closed
SMM11-132 RatioMeasurement SMM 1.0 SMM 1.1 Resolved closed
SMM11-131 The class DimensionalMeasure should be abstract SMM 1.0 SMM 1.1 Resolved closed
SMM11-136 Scales of Measurement SMM 1.0 SMM 1.1 Resolved closed
SMM11-135 interval-based mapping SMM 1.0 SMM 1.1 Resolved closed
SMM11-138 New SMM RTF Issue: Need "Opaque" operation body language SMM 1.0 SMM 1.1 Resolved closed
SMM11-137 "Influence" of measure relationship SMM 1.0 SMM 1.1 Resolved closed
SMM11-141 Observation has Arguments associated SMM 1.0 SMM 1.1 Resolved closed
SMM11-140 Unit consistency SMM 1.0 SMM 1.1 Resolved closed
SMM11-139 Typo in Constrains for BinaryMeasurement Class SMM 1.0 SMM 1.1 Resolved closed
SMM11-142 Make all examples shown in the normative clauses of the SMM doc compatible with the latest SMM spec SMM 1.0 SMM 1.1 Resolved closed
SMM11-144 Constraints on aggregating measurement classes SMM 1.0 SMM 1.1 Resolved closed
SMM11-143 Add a re-scaling association to the all base measure relationship SMM 1.0 SMM 1.1 Resolved closed
SMM11-145 Introduce Unit of Measure as a class. SMM 1.0 SMM 1.1 Resolved closed
SMM11-148 Identify the observedMeasure role in the Association sub-clause of the Measurements class SMM 1.0 SMM 1.1 Resolved closed
SMM11-147 Interval Open attributes SMM 1.0 SMM 1.1 Resolved closed
SMM11-146 Remove RecursiveMeasureRelationship and RecursiveMeasurementRelationship classes SMM 1.0 SMM 1.1 Resolved closed
SMM11-149 Remove ownedRelation assocation from SmmElement and SmmRelationship SMM 1.0 SMM 1.1 Resolved closed
SMM11-150 ObservedMeasure should not extend SmmRelationship SMM 1.0 SMM 1.1 Resolved closed
SMM11-156 Minimum and maximum attributes for the Interval class should be optional SMM 1.0 SMM 1.1 Resolved closed
SMM11-155 Provide some non-software non-normative measure examples SMM 1.0 SMM 1.1 Resolved closed
SMM11-154 Remove non-normative Library of Measures clause SMM 1.0 SMM 1.1 Resolved closed
SMM11-153 Old measure(ment) names still persist in the document SMM 1.0 SMM 1.1 Resolved closed
SMM11-152 The Percentage measure(ment) has been replaced by the RatioMeasure(ment) SMM 1.0 SMM 1.1 Resolved closed
SMM11-151 An Operation should be reusable as the operation of multiple measures SMM 1.0 SMM 1.1 Resolved closed
SMM11-157 Generalize Scope to include stereotypes SMM 1.0 SMM 1.1 Resolved closed
SMM11-159 Some Associations and Roles do not have names in SMM SMM 1.0 SMM 1.1 Resolved closed
SMM11-158 Apply Timestamp instead of Date and remove Date SMM 1.0 SMM 1.1 Resolved closed
SMM11-162 A RescaledMeasurement should not rescale more than one DimensionalMeasurement simultaneously SMM 1.0 SMM 1.1 Resolved closed
SMM11-161 Redundant association in Associations table of RescaledMeasure SMM 1.0 SMM 1.1 Resolved closed
SMM11-160 Incorrect types for associations of BinaryMeasure SMM 1.0 SMM 1.1 Resolved closed
SMM11-165 Clarify that Observation.requestedMeasures is of type SmmElement and not AbstractMeasureElement SMM 1.0 SMM 1.1 Resolved closed
SMM11-164 Improve the definition of derived properties SMM 1.0 SMM 1.1 Resolved closed
SMM11-163 Remove getters of properties in the meta-model SMM 1.0 SMM 1.1 Resolved closed

Issues Descriptions

In 10.3 Scope::class should not be a String but a proper reference to MOF:Class

  • Key: SMM11-88
  • Legacy Issue Number: 15484
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    In 10.3 Scope::class should not be a String but a proper reference to MOF:Class (which will be serialized as a XMI href). Relying on ‘name’ and a linking convention unique to this standard, makes practical linking and resolution unworkable

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Replace String as type of class attribute with MOF::Class.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

The UML uses non-standard notation by showing the superclass in top right of a class compartment.

  • Key: SMM11-87
  • Legacy Issue Number: 15483
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    The UML uses non-standard notation by showing the superclass in top right of a class compartment.

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Replace diagrams to not show superclass

  • Updated: Wed, 8 Jul 2015 11:44 GMT

The metamodel is missing Properties for important navigable relationships

  • Key: SMM11-86
  • Legacy Issue Number: 15482
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    The metamodel is missing Properties for important navigable relationships: for example the owner of a MeasureRelationship, the child of a Characteristic, the Measures for a Characteristic, the applicability of an Operation and more

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Modified model to add names as needed

  • Updated: Wed, 8 Jul 2015 11:44 GMT

The UML uses ‘string’ lowercase rather than the UML/MOF PromitiveType String (uppercase)

  • Key: SMM11-85
  • Legacy Issue Number: 15480
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    The UML uses ‘string’ lowercase rather than the UML/MOF PromitiveType String (uppercase)

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Replace UML/MOF PrimitiveType String by string (lowercase) in document

  • Updated: Wed, 8 Jul 2015 11:44 GMT

8.7, 8.8: it should be made clear that Date and Timestamp are PrimitiveTypes

  • Key: SMM11-84
  • Legacy Issue Number: 15479
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    8.7, 8.8: it should be made clear that Date and Timestamp are PrimitiveTypes

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Add a note to 8.8 and 8.9 that each is a primitive type.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Create new root class that attribute and annotation can extend

  • Key: SMM11-100
  • Legacy Issue Number: 15851
  • Status: closed  
  • Source: Benchmark Consulting ( Alain Picard)
  • Summary:

    This issue deals with the fact that the SMM didn’t provide any real root class in its model and that everything started with SmmElement.

    Discussion:
    The architecture board as recommended that we add a new root class that can be used as the direct extension for attribute and annotation. In turn, SmmModel and SmmRelationship also now extends this new Element class.

    Summary of change:
    • Add Element class, a model root class
    • Modify SmmElement class
    o Change from model root class to class being a generalization of Element
    • Modify SmmModel class
    o Change generalization from SmmElement to Element
    • Modify SmmRelationship class
    o Change generalization from SmmElement to Element
    • Modify Attribute class
    o Change generalization from SmmElement to Element
    • Modify Annotation class
    o Change generalization from SmmElement to Element

    • Create new separate diagram for Core

    • Re-arranged content of Chapter 8 and Chapter 9 of Specification
    o Renamed chapter 8 to “Core Base Classes”
    o Move Figure 2 Core Classes Diagram to Figure 3 and rename to Metrics Core Classes
    o Move Figure 3 Core Relationship Classes to Figure 4
    o Insert Core Classes from above to Figure 2
    o Add following description for Element class under 8.1:
    Element Class (Abstract)
    An Element constitutes an atomic constituent of a model. In the meta-model, Element is the top class in the hierarchy. Element is an abstract class.
    Semantics
    Element is the common parent from all meta-model elements of SMM. Most subclasses of Element can own annotations and user-defined attributes through standard extension mechanisms.

    o Added Superclass info to SmmElement
    o Modified Superclass info of SmmModel from SmmElement to Element
    o Modified Superclass info of SmmRelationship from SmmElement to Element
    o In chapter 9, remove the figure that only depicted the extensions, now shown in figure 2 as seen above.
    o Added chapter 10 as “Core Metrics Classes”
    o Moved description of class MeasureLibrary from chapter 8 to 10
    o Moved description of class MeasureCategory from chapter 8 to 10
    o Moved description of class CategoryRelationship from chapter 8 to 10

  • Reported: SMM 1.0 — Tue, 30 Nov 2010 05:00 GMT
  • Disposition: Closed; No Change — SMM 1.1
  • Disposition Summary:

    Discussion:
    Rejecting keeps SMM more aligned with the design used in KDM and VDML.
    Disposition: Closed, no change

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Section 9: It does not make sense for Attribute or Annotation to inherit from SmmElement

  • Key: SMM11-99
  • Legacy Issue Number: 15481
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    Section 9: It does not make sense for Attribute or Annotation to inherit from SmmElement: they will not have or need their own name, description or Attributes/Annotations: in fact the latter is explicitly disallowed – though only informally in the text.

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Closed; No Change — SMM 1.1
  • Disposition Summary:

    Rejecting keeps SMM more aligned with the design used in KDM and VDML.
    Disposition: Closed, no change

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Add attribute “type” (String) to Observation

  • Key: SMM11-103
  • Legacy Issue Number: 17473
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Add attribute “type” (String) to Observation. Examples of observation type values are “estimated”, “actual”, "simulated", "benchmark".

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Closed; No Change — SMM 1.1
  • Disposition Summary:

    Discussion:
    VDML Analysis Context associates with SMM Observation (e.g. different Observation in different Context). We can consider to close this SMM issue by doing nothing in SMM, and rather have a type attribute on the Context class in VDML.
    Disposition: Closed, no change

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Add relation to Scope Class

  • Key: SMM11-102
  • Legacy Issue Number: 15857
  • Status: closed  
  • Source: Benchmark Consulting ( Alain Picard)
  • Summary:

    OMG Issue No: 15857
    Title: Add relation to Scope Class
    Source: Frédéric Madiot, MIA Soft,

    Summary:
    This issue addresses a lack of navigability in scopes.

    Discussion:
    Here are our modifications of SMM beta 2 specification:
    Class Scope
    we have added 2 references :
    • a “non containment” reference called 'parent', type Scope (0..1), to link a scope to its parent.
    • a “non containment” reference called 'children', type Scope (0..*), to link a scope to its children.

    Summary of change:
    • Add a new relation to Scope class:

    o In the documentation for Scope, in the Associations sub-section, add the following new element:
    children: Scope[0..*] Specifies the parent scope of this scope.
    parent: Scope [0..*] Specifies the children scopes of this scope.

  • Reported: SMM 1.0 — Tue, 30 Nov 2010 05:00 GMT
  • Disposition: Closed; No Change — SMM 1.1
  • Disposition Summary:

    Discussion:
    Reason for rejection: Scopes are sets and do not have a single inherent hierarchy.
    Disposition: Closed, no change

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Add missing containment relation from SmmElement to SmmRelationship

  • Key: SMM11-101
  • Legacy Issue Number: 15854
  • Status: closed  
  • Source: Benchmark Consulting ( Alain Picard)
  • Summary:

    Source: OMG AB

    Summary:
    This issue addresses a relation that in the diagram that was not documented in the specification.

    Discussion:
    The architecture board as recommended that we add the necessary documentation change to describe a missing containment relation in the specification.

    Summary of change:
    • In the documentation for SmmElement, in the Associations sub-section, add the following new element:
    ownedRelation:SmmRelationship[0..*] Primitive SMM relationships that originate from the current SmmElement.

  • Reported: SMM 1.0 — Tue, 30 Nov 2010 05:00 GMT
  • Disposition: Closed; No Change — SMM 1.1
  • Disposition Summary:

    Discussion:
    Containment at this level of abstraction (SmmElement is so broad, and so is SmmRelationship) is not meaningful. Even when one would want it, it should then be properly defined via properties that are derived unions, based on properties (at specialized level) that are their subsets. The association is very under-defined in the meta-model. It did not even have names for its ends. Hence the inconsistency has better be resolved the other way round: by removing the association from the meta-model also. This is done per resolution of issue 19602.
    Disposition: Closed, no change

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Remove the TimeStamp primitive type

  • Key: SMM11-106
  • Legacy Issue Number: 19604
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Please add another issue to the SMM RTF: Remove the TimeStamp primitive type

    The TimeStamp primitive type is not used at any point in SMM and it should be, consequentially, be removed.

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Closed; No Change — SMM 1.1
  • Disposition Summary:

    Discussion:
    Superseded by issue 19704.
    Disposition: Closed, no change

  • Updated: Wed, 8 Jul 2015 11:44 GMT

It is unclear how rescaling is possible from more than 1 simultaneously

  • Key: SMM11-105
  • Legacy Issue Number: 17504
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    According to the SMM spec, a RescaledMeasure can rescale from 0..* binary measures, and a RescaledMeasurement can rescale from 0..* binary measurements accordingly.
    This is strange however. It is unclear how rescaling is possible from more than 1 simultaneously. Seems that the multiplicity should be 1 instead of 0..*.

  • Reported: SMM 1.0 — Tue, 17 Jul 2012 04:00 GMT
  • Disposition: Closed; No Change — SMM 1.1
  • Disposition Summary:

    Discussion:
    The Summary suggests that not only the “” in the multiplicity of RescaledMeasurement.rescaleFrom is wrong, but the “” in the multiplicity of RescaledMeasure.rescaleFrom as well. This is incorrect. It should still be possible that a RescaledMeasure has multiple rescaleFrom relationships. Hence issue 19718 was created afterwards, superseding 17504.
    Disposition: Closed, no change

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Allow more normative options for language of operation body

  • Key: SMM11-104
  • Legacy Issue Number: 17475
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Allow more normative options for language of operation body. Allow at least JSON, to be able to express operations in url format

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Closed; No Change — SMM 1.1
  • Disposition Summary:

    Discussion:
    Issue 19408 provides a better solution. Also, JSON is not a query language and would be inappropriate in any case.
    Disposition: Closed, no change

  • Updated: Wed, 8 Jul 2015 11:44 GMT

The metamodel defines MOF operations for derived Properties

  • Key: SMM11-107
  • Legacy Issue Number: 15476
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    The metamodel defines MOF operations for derived Properties – this is redundant and as unnecessary as defining getters and setters for normal Properties. For example SmmRelationship::getFrom()

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issue 19721 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Section 8.6, measureCategory

  • Key: SMM11-109
  • Legacy Issue Number: 15478
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    Section 8.6, measureCategory, has an OCL constraint

    context CategoryRelationship inv:

    to.oclIsTypeOf(MeasureCategory) or

    measures.oclIsTypeOf(Measure)

    The last line is incorrect and should be to.oclIsTypeOf(Measure). However this is IMHO bad practice and there should be a more specific association than using AbstractMeasureElement

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issue 15855 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

What is missing however is any semi-formal description of how the properties are derived – for example OCL

  • Key: SMM11-108
  • Legacy Issue Number: 15477
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    What is missing however is any semi-formal description of how the properties are derived – for example OCL

  • Reported: SMM 1.0 — Thu, 9 Sep 2010 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issue 19722 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Change the spec from EMOF to CMOF

  • Key: SMM11-110
  • Legacy Issue Number: 15856
  • Status: closed  
  • Source: Benchmark Consulting ( Alain Picard)
  • Summary:

    Source: OMG AB

    Summary:
    This issue deals with the fact that the SMM didn’t take advantage of some of the provision of CMOF.

    Discussion:
    The architecture board as recommended that we change the SMM specification to be more in-line with CMOF rather than restricting ourselves to the EMOF model.

    Summary of change:
    • Modify SmmElement class
    o Remove operations section from SmmElement
    • Modify SmmRelationship class
    o Remove derived union attribute from the from and to associations.
    o In the documentation, in the Associations sub-section, update the content to remove the reference to derived union:
    from:SmmElement[1] The origin element (also referred to as the from-endpoint of the relationship).
    to:SmmElement[1] The target element (also referred to as the to-endpoint of the relationship).

    • Modify MeasureRelationship class
    o Remove derived union attribute from the from and to associations.
    o In the documentation, in the Associations sub-section, update the content to remove the reference to derived union:
    from:Measure [1] The origin element (also referred to as the from-endpoint of the relationship).
    to:Measure [1] The target element (also referred to as the to-endpoint of the relationship).

    • Modify MeasurementRelationship class
    o Remove derived union attribute from the from and to associations.
    o In the documentation, add the Associations sub-section (was missing), with the following content:
    Associations
    from:Measurement [1] The origin element (also referred to as the from-endpoint of the relationship).
    to:Measurement[1] The target element (also referred to as the to-endpoint of the relationship).

  • Reported: SMM 1.0 — Tue, 30 Nov 2010 05:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issue 17212 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

AdditiveMeasure

  • Key: SMM11-111
  • Legacy Issue Number: 17476
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    In SMM spec the examples (instance models) have "AdditiveMeasure". But that is not existing in the spec (meta-model). I guess it is an oversight, and it should be CollectiveMeasure?

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issues 19450, 19609 and 19610 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Inconsistency between Examples (instance models) and meta-model

  • Key: SMM11-112
  • Legacy Issue Number: 17477
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Examples (instance models) in SMM spec suggest that rescaled measure has "operation", but the meta-model has "formula". This is probably an oversight ?

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issues 19450, 19609 and 19610 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Add a non-normative clause to the SMM doc which demonstrates a SMM library of basic unit conversions

  • Key: SMM11-89
  • Legacy Issue Number: 19453
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Add a non-normative clause to the SMM doc which demonstrates a SMM library of basic unit conversions including currency conversion.

  • Reported: SMM 1.0 — Thu, 5 Jun 2014 04:00 GMT
  • Disposition: Deferred — SMM 1.1
  • Disposition Summary:

    This will potentially be useful, though it is not critical at this moment. Given the scope of the current RTF, it was agreed to defer it to a next RTF.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Change compliance to use term “must” instead of “can”

  • Key: SMM11-118
  • Legacy Issue Number: 15852
  • Status: closed  
  • Source: Benchmark Consulting ( Alain Picard)
  • Summary:

    Summary:
    This issue addresses a wording problem with the compliance requirement.

    Discussion:
    The architecture board as recommended that we change the compliance condition from “can” to “must”.

    Summary of change:
    • In section 2, change “An implementation can provide “ to “An implementation must provide “

  • Reported: SMM 1.0 — Tue, 30 Nov 2010 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    In Clause 2, change “An implementation can provide “ to “An implementation must provide“. Similar problem is fixed in a few constraints

  • Updated: Wed, 8 Jul 2015 11:44 GMT

SMM confuses "To" and "From"

  • Key: SMM11-90
  • Legacy Issue Number: 19607
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Please add another issue to the SMM RTF: SMM confuses "To" and "From"

    There are two points of inconvenience (or even confusion ?) related to measure(ment) relationship:

    1) Consider RescaledMeasure(ment) ("RSC") on one hand and BinaryMeasure(ment) ("BIN"), CollectiveMeasure(ment) ("COL"), RankingMeasure(ment) ("RNK") and GradeMeasure(ment) ("GRD") on the other hand.

    They all aggregate "from" a DimensionalMeasure(ment) ("DIM").

    However, RSC looks to DIM as "from", whereas BIN, COL, RNK and GRD all look at DIM as "to".

    Isn't that confusing ? Is it inconsistent ? Or is there a good reason for it ?

    2) When I think of aggregating from DIM (regardless of whether I do that by rescaling, or binary functor or accumulation or grading or ranking), I always think from aggregating "from" a DIM and "to" an aggregated one (RSC, BIN, COL, RNK, GRD).

    The “from” association of all SmmRelationship is defined as the origin element and the “to” association is defined as the target element which implies that the associations between BIN, COL, RNK and GRD to DIM are backwards. The “from” should in each case be the DIM measure(ment)s and the “to” should be the aggregating measure(ment)s.

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Deferred — SMM 1.1
  • Disposition Summary:

    Further discussion learned that there might be good reasons why SMM 1.0 did it the way it was done, and that the deviating “from/to” naming of RescaledMeasure maybe on purpose. As the final conclusion of this was not reached yet, and as changing this would have quite some impact, it was decided to defer to issue.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Base SMM on CMOF instead of EMOF

  • Key: SMM11-117
  • Legacy Issue Number: 19720
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    SMM 1.0 assumed EMOF, which is limited. CMOF should be used instead. This issue supersedes 15856, because that issue was earlier balloted with a resolution that was irrelevant to “EMOF versus CMOF” and even unwanted.

  • Reported: SMM 1.0 — Wed, 11 Feb 2015 05:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issue 17212 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Make all examples shown in the non-normative clauses of the SMM doc compatible with the latest SMM spec

  • Key: SMM11-116
  • Legacy Issue Number: 19451
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Make all examples shown in the non-normative clauses of the SMM doc compatible with the latest SMM spec

  • Reported: SMM 1.0 — Thu, 5 Jun 2014 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issues 19609 and 19610 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Examples (instance diagrams) in SMM spec contain AdditiveMeasure and AggregatedMeasure

  • Key: SMM11-115
  • Legacy Issue Number: 17481
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Examples (instance diagrams) in SMM spec contain AdditiveMeasure and AggregatedMeasure.
    I think that the meta-model suggests that these don't exist (anymore ?), as there's only CollectiveMeasure

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issues 19450, 19609 and 19610 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Wrong reference

  • Key: SMM11-114
  • Legacy Issue Number: 17479
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    In examples/instances of rescaled measures in SMM spec, there is sometimes reference (from formula string) to "baseMeasure". But that is wrong, as according to the meta-model, a rescaled measure does not have “base measure”, but “rescale from” ?

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issues 19450, 19609 and 19610 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

RescaledMeasure

  • Key: SMM11-113
  • Legacy Issue Number: 17478
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    In SMM spec, there's this text, for RescaledMeasure:

    Associations:

    baseMeasure:DimensionalMeasure: Identifies the measure applied to each “contained” entity to determine base measurements.

    rescaleFrom:RescaledMeasureRelationship[0..*]: Specifies the relationship instance that defines the measure rescaled by this rescaled measure.

    However: the meta-model diagram suggests that there is only rescaleFrom. No baseMeasure.

    This is wrong.

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Duplicate or Merged — SMM 1.1
  • Disposition Summary:

    Disposition: See issue 19717 for disposition

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Attributes to be added to Measurement

  • Key: SMM11-125
  • Legacy Issue Number: 17472
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Add the following attributes to Measurement, to enable expression of measurement precision, and stochastic aspects of measurements: “confidence interval upper bound”, “confidence interval lower bound”, “confidence” (being a probability) and “distribution”(string).

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    The RTF discussed this issue (at length) and found a resolution which addressed the core concern within the issue while preserving the general design pattern of SMM. The following was considered to further accommodate stochastic measurement:
    • Stochastic measurement (e.g. in the context of simulation) usually comes with large sets of Measurements. SMM does already support that a large set of Measurements is “summarized”. Example: 10000 Measurements are the basis for a CollectiveMeasurement (which expresses the mean or some other accumulation). For scalability reasons there should still be a way to reach out to the large set of Measurements, without populating these Measurements in the model itself. Leaving the base Measurements out of the model is already possible via value “false” for attribute “isBaseSupplied” of a CollectiveMeasurement. Reaching out to the (external) base Measurements can be facilitated by an additional association “baseQuery” (analogous to defaultQuery).
    • To take stochastic Measurements based on SMM, a separate Measure would be defined, whereby stochastic methods may implemented via Operation of the Measure. In SMM, Arguments of an Observation serve as parameters to the Operation. In order to be able to vary stochastic parameters within an Observation, Arguments can, additionally, be associated with ObservedMeasure. This will give a practical and SMM-compliant way to handle Operation parameters, both stochastic parameters and parameters in general.
    Hence, resolution is twofold:
    • Both Observation and ObservedMeasure can have Arguments associated.
    • Add baseQuery to non-direct Measurement, whereby baseQuery is an Operation that specifies a query that can used to determine the base measurements of a non-direct Measurement when isBaseSupplied = false. baseQuery is optional even when isBaseSupplied = false and isBaseSupplied is inapplicable when isBaseSupplied = true. baseQuery and defaultQuery should not create inconsistencies. Directly supplied base Measurements would always have precedence. baseQuery would have secondary precedence and defaultQuery has the lowest precedence. The two queries then present two different ways of cutting off the supplied Measurements. defaultQuery allows a user to cut off base Measurements of Measurements of a given Measure. baseQuery allows a user to cut off the base Measurements of a given non-direct Measurement.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

The measurand of Measurement, which references Element (MOF), is owned by Measurement

  • Key: SMM11-124
  • Legacy Issue Number: 17471
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    The measurand of Measurement, which references Element (MOF), is owned by Measurement. It should instead be owned by the association between Measurement and Element. This means that metamodels, such as VDML, extending SMM are able to create their own more specialized associations to restrict the measurand to be typed by metaclasses in their own metamodel. Otherwise they will need to specialize Measurement (SMM) itself – and, what is so awkward, specialize all the subclasses of Measurement (e.g. via multiple inheritance). By specializing only the association they can reuse the SMM Measurement class and all its SMM subclasses with no change. The root constraint underlying all the above is that MOF/UML requires any redefined property to be owned by a classifier that is a generalization of the one owning the redefining property. Note that both associations and classes are classifiers. More specifically, to be able to state that C1:p1

    {redefines C2:p2}

    then C2 must be a supertype of C1 (directly or indirectly).

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    The measurand of Measurement, which references Element (MOF), should instead be owned by the association between Measurement and Element. This means that metamodels, such as VDML, extending SMM are able to create their own more specialized associations to restrict the measurand to be typed by metaclasses in their own metamodel. By specializing only the association they can reuse the SMM Measurement class and all its SMM subclasses with no change.
    The root constraint underlying all the above is that MOF/UML requires any redefined property to be owned by a classifier that is a generalization of the one owning the redefining property. Note that both associations and classes are classifiers. More specifically, to be able to state that C1:p1

    {redefines C2:p2}

    then C2 must be a supertype of C1 (directly or indirectly).

  • Updated: Wed, 8 Jul 2015 11:44 GMT

SMM metamodel contains class "MofElement".

  • Key: SMM11-123
  • Legacy Issue Number: 17470
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    SMM metamodel contains class "MofElement". It's name is not precisely identifying the Element class in MOF (or CMOF), and the XMI file might not contain the precise reference either. SMM should create a small metamodel package "MOF" (or CMOF), containing at least "Element". And refer to it as measurand, from SMM, instead of having the MOF Element class in the SMM package itself. In addition to that, the XMI file should contain the correct reference (href) to Element

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    SMM should create a small metamodel package "MOF" (or CMOF), containing at least "Element". And refer to it as measurand, from SMM, instead of having the MOF Element class in the SMM package itself. In addition to that, the XMI file should contain the correct reference (href) to Element

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Scope of a measure should be made optional

  • Key: SMM11-122
  • Legacy Issue Number: 17469
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    The following changes have been submitted and are pending with the SMM (Structured Metrics
    Metamodel) RTF.

    Scope of a measure should be made optional.

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Keep scope required. Add two new attributes, name and description. Add a new constraint that requires that either the class attribute is given or that both the name and description attributes are given. In the spec, give as example: Area of a square; no class named “square”. Binary Measure with “area” as trait (maybe “size” as parent of “area”), “times” as functor, Base Measure1 being Side1 Length and Base Measure2 being Side2 Length. Scope with “Square” as name, and “2 dimensional closed object with 4 equal length sides” as description.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

SMM should use MOF 2.4.1

  • Key: SMM11-121
  • Legacy Issue Number: 17212
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    SMM should use MOF 2.4.1.

    This makes it easier to create the metamodel (the UML model can be used largely as-is) and is required for compatibility with VDML which is dependent on SMM.

  • Reported: SMM 1.0 — Thu, 8 Mar 2012 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Export UML 2.4.1 XMI from Enterprise Architect (the source tool as used for SMM 1.0), which will retain the SMM diagrams going forward and allow inclusion of the other fixes (it covers issue 19720, as SMM 1.1 will use CMOF, and does e.g. enable resolution of issue 17471).
    As part of this, and the correct application of CMOF for meta-modeling, according to MOF 2.4.1, name any unnamed property or association in the model, and for any property that has visibility “private”, change it to visibility “public”. Also, name any unnamed operation return parameter in the model, provide return parameter type where omitted, and for any such parameter that has visibility “private”, change it to visibility “public”.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Fix OCL constraint in CategoryRelationhsip

  • Key: SMM11-120
  • Legacy Issue Number: 15855
  • Status: closed  
  • Source: Benchmark Consulting ( Alain Picard)
  • Summary:

    Source: OMG AB

    Summary:
    This issue addresses an incorrect constraint on a relation.

    Discussion:
    The architecture board as recommended that we correct the relation constraint in CategoryRelationship as it did not accurate.

    Summary of change:
    • In the documentation for CategoryRelationship, in the Constraints sub-section, change the content to now read:
    context CategoryRelationship inv:
    to.oclIsTypeOf(MeasureCategory) or
    to.oclIsTypeOf(Measure)

  • Reported: SMM 1.0 — Tue, 30 Nov 2010 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Reference to association end “measures” should be replaced with reference to “to”.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Clarify that XQuery is defined as mapping to XMI with correct version number

  • Key: SMM11-119
  • Legacy Issue Number: 15853
  • Status: closed  
  • Source: Benchmark Consulting ( Alain Picard)
  • Summary:

    Source: OMG AB

    Summary:
    This issue deals with the fact that XQuery is not defined and it’s mapping to XMI is also not well defined.

    Discussion:
    The architecture board as recommended that we clarify the mapping of XQuery to XMI and identify the versions in use.

    Summary of change:
    • In section 3, “Normative References”, add the following:
    o OCL 2.2 Specification
    o XQuery 1.0, XPath 2.0 (W3C Recommendation)
    • In section 7, “SMM” at the end of the section add the following:
    In a number of places, SMM supports querying or constraining data of interest by specifying some queries. Such queries can be expressed either with OCL version 2.2 as published by the OMG, or with XQuery 1.0 as published by the W3C. For XQuery, SMM uses a variant of XPath 2.0 (part of XQuery 1.0) and maps it to XMI using the following rules:
    • XPath uses a path expression where each path is a series of steps separated by forward slashes .
    • The steps are evaluated from left to right, and generally decend the model's tree as they do so
    • Each step identifies tree nodes by their classifier name and attributes are specified, just as in XPath with a leading @.
    SMM implementations are encouraged to implement OCL and XQuery by providing a wrapper that exposes their models to 3rd party query engines that implement all of the complexities of those languages.

  • Reported: SMM 1.0 — Wed, 1 Dec 2010 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Resolution given in issue statement

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Allow multiple operations for a direct measure (multiplicity 0..*)

  • Key: SMM11-126
  • Legacy Issue Number: 17474
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Allow multiple operations for a direct measure (multiplicity 0..*). In addition add attribute “type” (String) to DirectMeasure. When “type” is filled, it corresponds to observation type

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    The RTF discussed this issue (at length) and found a resolution which addressed the core concern within the issue while preserving the general design pattern of SMM. The following was considered to further variations of Operation:
    • Instead of one Measure with multiple Operations, it fits SMM better to use multiple Measures, each with one Operation, and all for the same Charactersitic (trait).
    • These multiple Measures might be stored in a MeasureLibrary of structured Measures, and might be the operational counterparts of a less structured or informal Measure (typically a NamedMeasure) in another MeasureLibrary. That informal Measure might be referenced by the others as their “source” (for traceability reasons). A “source” attribute might be added to Measure to support this. This will also generally enable Measure maintenance, whereby e.g. a library of informal Measures, possibly obtained as standard industry Measures, are worked into multiple more structured (and operational) Measures in other MeasureLibraries.
    Hence, the resolution is to add “source” (string) as property to Measure.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Add accumulator value “product”.

  • Key: SMM11-128
  • Legacy Issue Number: 17482
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Assume that you have 5 measurements (according to their measures), and that you just want to multiple the results of all 5: result 1 * result 2 * result 3 * result 4 * result 5.

    This can be done in SMM as follows:
    1) 4 binary measures, with functor "times" , or
    2) 4 rescaled measures, with formula " * baseMeasurement"

    But wouldn't it be very handy to just have 1 collective measure, whereby accumulator would be “product” ?
    Currently the accumulators are just "sum", "max", "min", "avarage" and "stdv".

    Proposal: Add accumulator value “product”.

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Add enumeration value “product” to Accumulator

  • Updated: Wed, 8 Jul 2015 11:44 GMT

CollectiveMeasurement class

  • Key: SMM11-127
  • Legacy Issue Number: 17480
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    In CollectiveMeasurement class:

    Text says:
    Associations:

    baseMeasurement:DimensionalMeasurement[0..*]: Identifies the measurements from which this collective measurement was derived.

    However: the meta-model suggests that there's baseMeasurementTo. Not baseMeasurement.

    So, the associations text is wrong.

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    In CollectiveMeasurement class, replace Association “baseMeasurement:DimensionalMeasurement [0..*], Identifies the measurements from which this collective measurement was derived”, with “baseMeasurementTo:BaseMeasurementRelationship [0..*], Specifies the relationship instance that defines the accumulation for this measurement”.
    Similar problem should also be fixed in a few other places.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Should a binary measure have a formula next to a functor ?

  • Key: SMM11-130
  • Legacy Issue Number: 17484
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    In SMM, a binary measure has a functor.
    Examples in the spec (instance models) suggest functor values like “sum”, “difference”, “times”, “divide”.
    This sounds like functor should have an enumeration defined in the spec, like also accumulator has for a collective measure.
    However, SMM does not do that for functor. Why not? It is rather similar (see also that accumulator has a value “sum” ..).
    On the other hand: an enum can be too rigid, as it is not easily extendable. As Alain Picard has admitted, it would for vendors be more flexible to also allow formula’s (like rescaled measures have), for binary measures, e.g. “A * B” (instead of functor “times” to multiple A and B).
    But that would require that a binary measure should have a formula next to a functor ?

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    The RTF discussed this issue, along with issues 17483 and 17503 and found a resolution which which is consistent with the resolution of both the other issues.
    Per resolution of issue 17483, a BinaryMeasure, as DimensionalMeasure, has an optional formula.
    Per resolution of issue 17503, a BinaryMeasure has an Operation (as customFunctor), if and only if its functor is custom. For this Operation the context is a measurand and a pair of base measurements.
    Per Resolution of issue 17483, also a RescaledMeasure, as DimensionalMeasure, has an optional formula. Consistent with the resolutions for both CollectiveMeasure (per issue 17483) and BinaryMeasure (per issue 17503), the RTF then proposes to further revise RescaledMeasure, as follows:
    • Add “offset” and “multiplier” to RescaledMeasure. For example, F = (C*9/5)+32. The addend (e.g. 32) is the offset and 9/5 is the multiplier.
    • RescaledMeasure has an operation if and only if its multiplier and offset are not given. The context of it a measurand and a base measurement.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

SMM does not allow for a formula, but only has a simple accumulator

  • Key: SMM11-129
  • Legacy Issue Number: 17483
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    In industry, it is common to have composite measures with formulas like “A * (1 + B) / C”, whereby A, B and C are atomic measures. In this example, according to SMM, you would not have 4 measures, but 6, e.g.:
    • 3 direct measures: A, B, C
    • A rescaled measure, with formula “1+B”
    • A binary measure, with functor “times”, to multiple A and the rescaled measure from above.
    • A ratio measure to divide the previous one by C.
    Though this is technically OK, it is not always handy, as “given” industry measures would have to be refactored into smaller ones.
    I see a good reason why SMM measures are structured as they are: You have good grip than on the formula, the functor, etc. Because if you would allow for formula's like "( A * (1 + B) ) / C ", you would have difficulty in reconciling the various associated "sub" measurements with the formula of the measure that relates to the collective measurement. String parsing, etc.
    SMM in its current form is very structured, but that would make interpretation and implementation also very straightforward. That is a big advantage and I like that.

    But still I have trouble with e.g. industry-given libraries of VCG, SCOR, KPI LIbrary, etc., that though have composite measures with such more complicated formula's.

    How to import such measures into an SMM based library?
    Once imported, you could create more specific SMM measures, and refer to the original one as "equivalent" measure. But the main problem is that it cannot even be imported, as a collective measure in SMM does not allow for a formula, but only has a simple accumulator.

    How can this be resolved ?

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    The RTF discussed this issue (at length) and found a resolution which addressed the core concern within the issue while preserving the general design pattern of SMM. It was agreed to improve the expressiveness of CollectiveMeasure by adding a formula to it, as well as the possibility for a custom accumulator (being an association to Operation). Hence the resolution includes the following:
    • Add optional formula (string 0..1)) to DimensionalMeasure (every DimensionalMeasure can have one). Formulas are always descriptive and optional. Formula is a comment which briefly presents the Measure’s calculation in an algebraic manner. For example, “X + Y” or “Height * Width”. The decision to provide a formula would be entirely up to the SMM library designer. SMM designers can then write SMM libraries in a top down manner by turning DirectMeasures (or NamedMeasures) into CollectiveMeasures, BinaryMeasures and RescaledMeasures as needed. Also, a SMM design tool might fill in the descriptive formula when designer writes libraries bottom up. Unlike formula’s, operations are operational and defined with a coherent program fragment. The programming language must be stated and the fragment is expected to be well formed given the appropriate context.
    • Add literal value “custom” to the Accumulator enumeration, and rename “operation” to “customAccumulator”. This property is defined as association to Operation. The custom accumulator of CollectiveMeasurement is only defined when its accumulator is “custom”.
    In order for the meta-model to remain consistent and for the resolution to be generic, it was also agreed to further improve the expressiveness of some of the other Measures in similar ways, namely of BinaryMeasure per issue 17503 and of RescaledMeasure per issue 17484. So that the resolution of the three issues is consistent with each other.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

functor should have an enumeration defined in the spec

  • Key: SMM11-134
  • Legacy Issue Number: 17503
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    In SMM, a binary measure has a functor.

    Examples in the spec (instance models) suggest functor values like “sum”, “difference”, “times”, “divide”.

    This sounds like functor should have an enumeration defined in the spec, like also accumulator has for a collective measure.

    However, SMM does not do that for functor. Why not? It is rather similar (see also that accumulator has a value “sum” ..).

  • Reported: SMM 1.0 — Tue, 17 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Introduce an Enumeration type for functor, with enumeration values “sum”, “difference”, “times” (or “product”) and “divide”, and also “custom”. In case the BinaryMeasure’s functor has value “custom”, also specify customFunctor, being an association to Operation (with association end name customFunctor).

  • Updated: Wed, 8 Jul 2015 11:44 GMT

CollectiveMeasurement attribute wrong

  • Key: SMM11-133
  • Legacy Issue Number: 17498
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    The class CollectiveMeasurement has attribute "accumulator". This is wrong, as the CollectiveMeasure class has that attribute. CollectiveMeasurement should not have it therefore.

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Remove accumulator from CollectiveMeasurement, as only CollectiveMeasure should have that property

  • Updated: Wed, 8 Jul 2015 11:44 GMT

RatioMeasurement

  • Key: SMM11-132
  • Legacy Issue Number: 17486
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    In SMM spec there's the class RatioMeasurement.

    However, in the beta2 spec, it is misspelled as RatioMeasurment..

    This should be corrected.

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Replace Class name “RatioMeasurment” with “RatioMeasurement” in the specification.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

The class DimensionalMeasure should be abstract

  • Key: SMM11-131
  • Legacy Issue Number: 17485
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    The class DimensionalMeasure should be abstract. Like also DimensionalMeasurement is abstract.
    This is an inconsistency in the spec.

  • Reported: SMM 1.0 — Fri, 13 Jul 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Both DimensionalMeasure and DimensionalMeasurement should be abstract

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Scales of Measurement

  • Key: SMM11-136
  • Legacy Issue Number: 17561
  • Status: closed  
  • Source: CAST Software ( Bill Curtis [X] (Inactive))
  • Summary:

    A standard component of measurement theory is 'Scales of Measurement' because they constrain the types of mathematical operations that can be performed on a measure. The base set of scales are 'Nominal', 'Ordinal', 'Interval', and 'Ratio'. The representation of a measure in SMM should contain information about the scale of measurement to indicate how it can be used and the limits of the operations that can be performed. If there is a way to enforce these constraints that would be best, but lacking that it would be useful for the specification of a measure to contain information about its limits for those who would incorporate the measure in their applications.

  • Reported: SMM 1.0 — Wed, 22 Aug 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Add scaleOfMeasurement property to Measure, with enumerated type, consisting of the following five enumeration values: the four standard ones, namely “nominal”, “ordinal”, “interval”, and “ratio”, and the fifth being “custom”. In case of “custom”, the Measure has another string property instantiated, representing the custom scale (e.g. Guttman). In addition, add a few constraints, like: allow nominal & ordinal on GradeMeasure, and allow interval & ratio on DimensionalMeasure.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

interval-based mapping

  • Key: SMM11-135
  • Legacy Issue Number: 17535
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    A ranking in SMM results in a mapping to symbolic value (a string), which is unit-less, and which does not allow to be used as factor in further measure-based computations.
    It is required that similar interval-based mapping can also be used to result in a dimensional measurement, the value of which is numeric.

    Proposed changes:
    Rename SMM Ranking into GradeMeasure
    Rename SMM Grade into GradeMeasurement
    Rename RankingInterval into GradeInterval.
    Add another measure, called RankingMeasure (specialization of DimensionalMeasure); It has associated RankingInterval (very much like the existing ones)
    Ranking intervals of RankingMeasure have a numeric value instead of a symbolic string value.

  • Reported: SMM 1.0 — Wed, 1 Aug 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Rename Ranking into GradeMeasure. Rename Grade into GradeMeasurement. Rename RankingInterval into GradeInterval. Add another Measure, called RankingMeasure (specialization of DimensionalMeasure). It has associated RankingInterval (very much like the existing one). Ranking intervals of RankingMeasure have a numeric value instead of a symbolic string value

  • Updated: Wed, 8 Jul 2015 11:44 GMT

New SMM RTF Issue: Need "Opaque" operation body language

  • Key: SMM11-138
  • Legacy Issue Number: 19408
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    "Section 10.5 (Operation Class) defines as normative languages "OCL" and "XQuery". This is too restrictive. An implementer should be able to implement Operations differently, without conflicting with the spec. Hence we suggest to add "Opaque" as a valid value as well".

  • Reported: SMM 1.0 — Fri, 9 May 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    In addition to the currently specified ones (OCL, Xquery), allow user-supplied values for language. Which could be “English”, “French”, “SBVR” or whatever language they want to informally express the body in.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

"Influence" of measure relationship

  • Key: SMM11-137
  • Legacy Issue Number: 17598
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Though, for MeasureRelationship in SMM, the "real" influence of one measure to other measure(s) is implied by the type of measure, its functors, operations, accumulators, etc., still it is, for business analyst understanding and maintenance sake very useful to add the influence type explicitly (the analyst may even define it before the actual functor or operation is specified). This will also be helpful in diagrammatic understanding in one glance of how measurements are influencing each other.

    Resolution (as agreed with Larry Hines):

    Add optional property "Influence" to MeasureRelationship. This is property with enumeration type "Influence", having 2 enum values: "positive", "negative".
    In addition: a constraint, specifying that this property is not allowed for "EquivalentMeasureRelationship".

  • Reported: SMM 1.0 — Tue, 18 Sep 2012 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Add optional property "influence" to MeasureRelationship. This is a property with enumeration type "Influence", having two enumeration values: "positive", "negative".
    In addition, a constraint is added, specifying that this property is not allowed for EquivalentMeasureRelationship (and neither for RefinementMeasureRelationship).

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Observation has Arguments associated

  • Key: SMM11-141
  • Legacy Issue Number: 19448
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    The association list of Observation class fails to include the arguments association to the Argument class.

  • Reported: SMM 1.0 — Wed, 4 Jun 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Add the arguments association to the Associations table of the Observations Class

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Unit consistency

  • Key: SMM11-140
  • Legacy Issue Number: 19447
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    The semantics section of each collective measure class should discuss unit consistency. For example, the units of measure for the base measures must be equivalent to the unit of measure for the binary measure when the functor is addition.

  • Reported: SMM 1.0 — Wed, 4 Jun 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Write some text about unit consistency for all aggregating Measures (CollectiveMeasure, BinaryMeasure, and RescaledMeasure). The text may be at the base relationship level instead of at the Measure level.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Typo in Constrains for BinaryMeasurement Class

  • Key: SMM11-139
  • Legacy Issue Number: 19426
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    The constraints in Section 14.4 (BinaryMeasurement Class) should have BinaryMeasurement as the context, not RatioMeasurement.”

  • Reported: SMM 1.0 — Wed, 21 May 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Replace “RatioMeasurement” with “BinaryMeasurement” as context in the constraint of BinaryMeasurement Class.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Make all examples shown in the normative clauses of the SMM doc compatible with the latest SMM spec

  • Key: SMM11-142
  • Legacy Issue Number: 19450
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Make all examples shown in the normative clauses of the SMM doc compatible with the latest SMM spec

  • Reported: SMM 1.0 — Thu, 5 Jun 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Make all examples (object diagrams) in the normative clauses of the SMM specification compatible with all balloted and accepted resolutions that impact the SMM meta-model.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Constraints on aggregating measurement classes

  • Key: SMM11-144
  • Legacy Issue Number: 19456
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Constraints on CollectiveMeasurement, BinaryMeasurement, RatioMeasurement and RescaledMeasurements are wrong. None have been updated to use their base measurement relationships.

  • Reported: SMM 1.0 — Sat, 7 Jun 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Constraints updated to reference base measurement relationships

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Add a re-scaling association to the all base measure relationship

  • Key: SMM11-143
  • Legacy Issue Number: 19452
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Add a re-scaling association to the all base measure relationship which support in-lining re-scaling to the other various collective measures

  • Reported: SMM 1.0 — Thu, 5 Jun 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Associate BaseMeasureRelationship with RescaledMeasure, which enables to "transform" the base measurements upon aggregation to e.g. collective or binary measurement. This will make CollectiveMeasures, BinaryMeasures, etc. more powerful, so that users can achieve the same with less Measures.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Introduce Unit of Measure as a class.

  • Key: SMM11-145
  • Legacy Issue Number: 19457
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Currently DimensionalMeasure has Unit of measure as an attribute with type string. Unit needs to be treated as a first class object and not just indicated by a name. A class need to be introduced for it and the attribute needs to be replaced with an association relating DimensionalMeasure to a Unit. Indication by name leaves open whether “meter”, “Meter” or “metre”. But the object for each would be the same and the case and internationalization would be left to rendering.

  • Reported: SMM 1.0 — Sat, 7 Jun 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Replace the "unit" property (string) of DimensionalMeasure, by a "unit" association from DimensionalMeasure to UnitOfMeasure. This will greatly improve re-use and consistency of units, across DimensionalMeasures. Unit conversion can be left to rendering.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Identify the observedMeasure role in the Association sub-clause of the Measurements class

  • Key: SMM11-148
  • Legacy Issue Number: 19583
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    The constraints given in the subclasses of the Measurement class are wrong because there is no way to navigate from a Measurement to its measure without using the observedMeasure property of Measurement. That property needs to be documented. Then the constraints need to be fixed to use observedMeasure.

  • Reported: SMM 1.0 — Tue, 19 Aug 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Document the observedMeasure property of the Measurement class. Fix the OCL constraints of the Measurement sub-classes to use observedMeasure

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Interval Open attributes

  • Key: SMM11-147
  • Legacy Issue Number: 19565
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    The description of the GradeInterval’s attributes maximumOpen and minimumOpen are backwards. It should say true iff the interval excludes the endpoint.

  • Reported: SMM 1.0 — Fri, 1 Aug 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    For attributes maximumOpen and minimumOpen, say true if the interval excludes the endpoint

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Remove RecursiveMeasureRelationship and RecursiveMeasurementRelationship classes

  • Key: SMM11-146
  • Legacy Issue Number: 19497
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    We have no use cases demonstrating the value of these classes. They, moreover, are likely to introduce confusion about SMM. The classes and their associations should be removes.

  • Reported: SMM 1.0 — Mon, 30 Jun 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Remove RecursiveMeasureRelationship and RecursiveMeasurementRelationship classes.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Remove ownedRelation assocation from SmmElement and SmmRelationship

  • Key: SMM11-149
  • Legacy Issue Number: 19602
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    The containment association, ownedRelation, between SmmElement and SmmRelationship is inappropriate in that both are abstract classes and unnecessary in that it is defined already between the concrete extensions of SmmElement and SmmRelationship

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Remove the containment association between SmmElement and SmmRelationship

  • Updated: Wed, 8 Jul 2015 11:44 GMT

ObservedMeasure should not extend SmmRelationship

  • Key: SMM11-150
  • Legacy Issue Number: 19603
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Please add another issue to the SMM RTF: ObservedMeasure should not extend SmmRelationship

    The “from” and “to” properties of SmmRelationship is not appropriate to ObservedMeasure. ObservedMeasure is a container (of measurements) for a measure and is not a relationship between a measurement and a measure.

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    ObservedMeasure to extend SmmElement

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Minimum and maximum attributes for the Interval class should be optional

  • Key: SMM11-156
  • Legacy Issue Number: 19643
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Minimum and maximum attributes for the Interval class should be optional

    For nominal or for ordinal the base measure and interval mapping are not needed. To make that more convenient, I propose to make the following changes.

    1. The minimum and maximum attributes for the Interval class will be optional

    Attributes
    maximumOpen:Boolean
    True if and only if interval excludes maximum endpoint. Default = false.

    minimumOpen:Boolean
    True if and only if interval excludes minimum endpoint. Default = false.

    maximum:Number[0..1]
    Identifies interval’s maximum endpoint.

    minimum:Number[0..1]
    Identifies interval’s minimum endpoint.

    2. We add constraints to Interval indicating that if either minimum or maximum is defined then both are defined.

    Constraints
    context Interval inv:

    if maximum.isOclDefined

    then minimum.isOclDefined and maximum = minimum and

    (maximumOpen or minimumOpen ? maximum > minimum)

    else not minimum.isOclDefined

    3. We add constraints to RankingInterval requiring a maximum (and implicitly a minimum).

    Constraints
    context RankingInterval inv:

    maximum.isOclDefined

    4. We add constraints to GradeMeasure forbidding the intervals without minimum or maximums if gradeTo is specified.

    Constraints
    context GradeMeasure inv:

    (gradeTo->notEmpty implies

    interval->forall(i | not i.minimum.isOclUndefined() and

    not i.maximum.isOclUndefined())) and

    (interval->exists(i | i.minimum.isOclUndefined() or

    i.maximum.isOclUndefined()) implies

    gradeTo->isEmpty)

  • Reported: SMM 1.0 — Thu, 16 Oct 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    (1) The minimum and maximum attributes for the Interval class will be optional. (2) Add constraints to Interval indicating that if either minimum or maximum is defined then both are defined. (3) Add constraints to RankingInterval requiring a maximum (and implicitly a minimum). (4) Add constraints to GradeMeasure forbidding the intervals without minimum or maximum if gradeTo is specified.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Provide some non-software non-normative measure examples

  • Key: SMM11-155
  • Legacy Issue Number: 19610
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Please add another issue to the SMM RTF: Provide non-software non-normative measure examples

    SMM should provide a few non-normative example measures especially non-software examples. The SEI maintainability measure could be up-dated as a software example and a few non-software examples added.

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Add a new clause for non-normative examples which should include SEI maintainability and some business examples.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Remove non-normative Library of Measures clause

  • Key: SMM11-154
  • Legacy Issue Number: 19609
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Please add another issue to the SMM RTF: Remove non-normative Library of Measures clause

    The non-normative Library of Measures clause is out-of-date with respect to SMM. It is too focused upon examples of software measures which is confusing now that SMM is applicable outside of software measurement. Also the clause contains no MeasureLibrary, CategoryRelationship or MeasureCategory elements and, thus, is not a demonstration of a library of measures.

    The non-normative Library of Measures clause should be removed.

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Remove both non-normative Library of Measures clause and the non-normative Library of Categories clause.
    This resolution also covers what is requested for issue 19451, namely to make non-normative Measure examples that remain, compliant with the revised meta-model

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Old measure(ment) names still persist in the document

  • Key: SMM11-153
  • Legacy Issue Number: 19608
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Please add a new issue of the SMM RTF: Old measure(ment) names still persist in the document

    The naming scheme for some measure and measurement classes is not consistent.

    For most measures and their corresponding measurement classes if the measure class is “X”Measure then the measurement class is “X”Measurement. This scheme is followed for all but the Counting measure class and its corresponding Count measurement class. Each should be renamed to CountingMeasure and CountingMeasurement respectively.

    Also, in places the “X”Measure or “X”Measurement is shortened to just “X”. For example in the specification sometimes Ratio is used, and sometimes RatioMeasure. Even the class's section is called "Ratio Class" .. It should be RatioMeasure consistently.

    Regarding Grade: It is, consistently and correctly, GradeMeasure in the model, and often in the document. But not always. There are occurrences in the document where you use Grade, and where it better should be GradeMeasure (or GradeMeasurement, if it is about the measurement side). Sometimes there is just qualitative speak where you can leave it like "grade", but sometimes it is meant as more formal, where it still reads as "grade", e.g. somewhere you talk "grade subclass" (should be GradeMeasure), and sometimes "Grade measure", which should be GradeMeasure, etc. Maybe you find all "grade" occurrences and fix some of them. The same problem might exist wrt Ranking.

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Replace "Ratio" as name of the ratio measure class with "RatioMeasure".
    Similarly, replace “Counting” with “CountingMeasure” and “Count” with “CountingMeasurement”.
    The naming consistency problem regarding “Grade” has been fixed by the resolution of issue 17535.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

The Percentage measure(ment) has been replaced by the RatioMeasure(ment)

  • Key: SMM11-152
  • Legacy Issue Number: 19606
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Please add another issue to the SMM RTF: The Percentage measure(ment) has been replaced by the RatioMeasure(ment)

    The old name, Percentage, still appears in 2 places in the document.

    The first reference is in the Measurement Class clause. It should be removed entirely. Percentage has been replaced by RatioMeasurement which is a subclass of DimensionalMeasurement. Hence, the phrase “The DimensionalMeasurement and Percentage subclasses” simplifies to “The DimensionalMeasurement subclass”.

    The second reference is in Software Engineering Institute (SEI) Maintainability Index clause. The PercentageMeasure should be replaced with RatioMeasure.

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Simplify the phrase “The DimensionalMeasurement and Percentage subclasses” in the text of the sub-clause of Measurement Class to “The DimensionalMeasurement subclass”.
    Note: The part about the second reference is actually resolved by issue 19609, which removed the problematic text.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

An Operation should be reusable as the operation of multiple measures

  • Key: SMM11-151
  • Legacy Issue Number: 19605
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Please add another issue to the SMM RTF: An Operation should be reusable as the operation of multiple measures

    DirectMeasure may have an operation association with an Operation. That operation could be re-used by other measures as their operation which means to multiplicity should not be 1 for the unnamed role, but should be 0 to many.

    BinaryMeasure, similarly, may have a customFunctor association with an Operation as may a CollectiveMeasure have a customAccumulator association with an Operation. The operations could be re-used by other measures which means to multiplicity should not be 1 for the unnamed role, but should be 0 to many.

  • Reported: SMM 1.0 — Thu, 18 Sep 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Change multiplicity to 0..* for associated Operation as shown in Figures 5,6 and 7.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Generalize Scope to include stereotypes

  • Key: SMM11-157
  • Legacy Issue Number: 19646
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Stereotypes, like classes, define sets of objects which can be measured and should be allowed as a way to define the scope of a measure.

  • Reported: SMM 1.0 — Thu, 23 Oct 2014 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Add optional stereotype attribute to Scope class. Make its class attribute optional. Add a constraint to allow the scope to be specified by either the class or the stereotype attribute. Add text in the semantics class about stereotype specifying the scope of a measure.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Some Associations and Roles do not have names in SMM

  • Key: SMM11-159
  • Legacy Issue Number: 19711
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    Association from MeasureCategory to MeasureCategory did not have a name. The ends did have names. Named it HasSubCategory. The name is not visible in any diagram and does not appear in the doc.

    The HasCategories association from MeasureLibrary to CategoryRelationship had one unnamed end. Named it libraries. The end is owned by the association. The name is not visible in any diagram and does not appear in the doc.
    The following association end is private, whereas it must be public: in the RescaledMeasure – Operation association, the end of RescaledMeasure (rescalesFor)".

  • Reported: SMM 1.0 — Mon, 19 Jan 2015 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Name association from MeasureLibrary to MeasureLibrary as “HasSubCategory”. Name the unnamed end of the HasCategories association from MeasureLibrary to CategoryRelationship as “libraries”. Change visibility of the rescalesFor end of the association between RescaledMeasure and Operation from private to public. These changes impact the XMI only.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Apply Timestamp instead of Date and remove Date

  • Key: SMM11-158
  • Legacy Issue Number: 19704
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    SMM 1.0 had both Date (sub-clause 8.8) and Timestamp (sub-clause 8.9) defined. Timestamp was nowhere used as type. Hence, in a previous ballot, we asked to vote for removing Timestamp (per issue 19604, “Remove the TimeStamp primitive type”). Meanwhile we encountered that Date was only used inconsistently. The meta-model diagrams showed Date as type of Observation.whenObserved, but the attributes table in sub-clause 16.2 just specified "date" (small) as type for that attribute. This is obviously wrong and has to be fixed. But this triggered new discussion, that resulted to the conclusion that Observation.whenObserved should not be typed by Date at all, but rather by TimeStamp, because SMM should enable taking snapshots or samples multiple times a day, and not just once a day. (Another reason why this error is only detected so late is the fact that in the SMM implementation of one of the implementers Date was mapped to java.util.Date which is actually a datetime type ...)

    Â

    Resolution: Change type of Observation.whenObserved from Date to TimeStamp. Update the attributes table in sub-clause 16.2, as well as all diagrams on which the attribute is exposed, accordingly. Remove Date (sub-clause 8.8), as it will no longer be used then. This issue will then also supersede issue 19604 (“Remove the TimeStamp primitive type”). It will also partly supersede the older issue 15479 (“it should be made clear that Date and Timestamp are PrimitiveTypes”). This issue will still impact the Timestamp class, but no longer the Date class, as it will now be removed.Â

  • Reported: SMM 1.0 — Thu, 15 Jan 2015 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Change type of Observation.whenObserved from Date to TimeStamp. Update the attributes table in Sub-clause 16.2, as well as all diagrams on which the attribute is exposed, accordingly. Remove Date (sub-clause 8.8), as it will no longer be used then. This issue will then also supersede issue 19604 (Remove the TimeStamp primitive type). It will also partly supersede the older issue 15479 (it should be made clear that Date and Timestamp are PrimitiveTypes). This issue will still impact the Timestamp class, but no longer the Date class, as it will now be removed.
    Also make the mapping of TimeStamp to dateTime in XSD explicit in the XMI.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

A RescaledMeasurement should not rescale more than one DimensionalMeasurement simultaneously

  • Key: SMM11-162
  • Legacy Issue Number: 19718
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Summary: Multiplicity of RescaledMeasurement.rescaleFrom is [0..*]. This is wrong. Because this would imply that it could rescale multiple DimensionalMeasurements simultaneously. It should be [0..1] therefore. This issue supersedes issue 17504. The reason is that issue 17504 suggested that the multiplicity of RescaledMeasure.rescaleFrom being [0..*] was also wrong and that it proposed to change it to [1] as well. That was wrong. Because the RescaledMeasure itself should be kept re-usable. But any application of it, i.e., a related RescaledMeasurement, should not rescale more than one DimensionalMeasurement.

    Resolution: Change multiplicity of RescaledMeasurement.rescaleFrom from [0..*] to [0..1]. Note that this cannot be higher than 1 (for reasons explained in Summary). On the other hand, it should allow "0", to stay consistent with the semantics of the RescaledMeasurement.isBaseSupplied. Multiplicity of RescaledMeasure.rescaleFrom will also change, but from [0..*] to [1..*]. The “*” in this is to keep the possibility of reuse of a RescaledMeasure, and the “1” in this is to make it more consistent with other aggregating Measures, which all aggregate from [1] DimensionalMeasure (instead of [0..1]). This resolution supersedes the resolution of 17504.Â

  • Reported: SMM 1.0 — Fri, 6 Feb 2015 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Change multiplicity of RescaledMeasurement.rescaleFrom from [0..*] to [0..1]. Note that this cannot be higher than 1 (for reasons explained in Summary). On the other hand, it should allow "0", to stay consistent with the semantics of RescaledMeasurement.isBaseSupplied. Multiplicity of RescaledMeasure.rescaleFrom will also change, but from [0..*] to [1..*]. The “*” in this is to keep the possibility of reuse of a RescaledMeasure, and the “1” in this is to make it consistent with other aggregating Measures, which all aggregate from [1] DimensionalMeasure (instead of [0..1]).

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Redundant association in Associations table of RescaledMeasure

  • Key: SMM11-161
  • Legacy Issue Number: 19717
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    Summary: The SMM spec, in the Associations table of the sub-clause that defines the RescaledMeasure class, two associations are defined: “baseMeasure” and “rescaleFrom”. The meta-model only declares one of them, namely “rescaleFrom”. The other one, “baseMeasure”, is an oversight, and is redundant. It should be removed from the table. This issue supersedes issue 17478. The reason of this new issue, superseding issue 17478 is, that the resolution of 17478 also proposed a fix of the multiplicity of the association end of the other association (rescaleFrom), from [0..*] to [1], which was wrong.)

    Resolution: Remove the "baseMeasure" association from the Associations table of the RescaledMeasure class. This resolution supersedes the resolution of issue 17478.

  • Reported: SMM 1.0 — Fri, 6 Feb 2015 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Remove the "baseMeasure" association from the Associations table of the RescaledMeasure class.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Incorrect types for associations of BinaryMeasure

  • Key: SMM11-160
  • Legacy Issue Number: 19712
  • Status: closed  
  • Source: Micro Focus ( Larry Hines)
  • Summary:

    The types of BinaryMeasure.baseMeasure1, BinaryMeasure.baseMeasure2 and BinaryMeasurement.baseMeasurement1To are wrong. The type should be a Measure(ment)Relationship class. Also, the descriptions of BinaryMeasure baseMeasure1, BinaryMeasure.baseMeasure2, BinaryMeasurement.baseMeasurement2 and CollectiveMeasurement.baseMeasurement are unclear

  • Reported: SMM 1.0 — Tue, 20 Jan 2015 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    In Attributes table of BinaryMeasure class: Change the type of BinaryMeasure.baseMeasure1 to Base1MeasureRelationship, and its description to “Specifies the relationship instance that defines the first measure accumulated by this binary measure”. And change the type of BinaryMeasure.baseMeasure2 to Base2MeasureRelationship, and its description to “Specifies the relationship instance that defines the second measure accumulated by this binary”.
    In Attributes table of BinaryMeasurement class: Change the type of BinaryMeasurement.baseMeasurement1 to Base1MeasurementRelationship, and its description to “Specifies the relationship instance that defines the first base measurement accumulated for this measurement”. And change the type of BinaryMeasurement.baseMeasurement2 to Base2MeasurementRelationship, and its description to “Specifies the relationship instance that defines the second base measurement accumulated for this measurement”.
    In Attributes table of CollectiveMeasurement class: Change the type of CollectiveMeasurement.baseMeasurement to BaseNMeasurementRelationship, and its description to “Specifies the relationship instance that defines the accumulation for this measurement”.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Clarify that Observation.requestedMeasures is of type SmmElement and not AbstractMeasureElement

  • Key: SMM11-165
  • Legacy Issue Number: 18751
  • Status: closed  
  • Source: gmail.com ( Achraf Belmokadem)
  • Summary:

    It is currently the case that Observation.requestedMeasures is of type SmmElement. Constraints have been added to make sure that one does not pass a e.g. SmmModel instance as a requestedMeasure but only instances of type Measure, MeasureCategory and CategoryRelationship.

    My suggestion is to change the type from SmmElement to AbstractMeasureElement. We would then be able to measure the following:
    MeasureCategory - e.g. Measures that fall in the same category
    Scope - e.g. Measures that use the define the same scope
    Characteristic - e.g. Measures that are characterized by a certain characteristic
    Operation - e.g. Measures that use a certain operation
    OCLOperation - e.g. Measures that use a certain OCLOperation
    Measure

    This would make the metamodel cleaner by having lessing constraints and making it easier to understand. Could it be that this was caused because of the fact that there is no section about AbstractMeasureElement?

  • Reported: SMM 1.0 — Tue, 4 Jun 2013 04:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Change the type of requestedMeasures to be AbstractMeasureElement

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Improve the definition of derived properties

  • Key: SMM11-164
  • Legacy Issue Number: 19722
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    There are three problems here: 1) Several derived unions (for from, to, inbound and outbound) are not defined correctly, e.g. at specialized level the properties where they are assumed to be derived from are not defined as their subsets. 2) They are defined as derived unions in the model, but not in the association tables in the specification, and 3) in the Association tables of Measure Class (10.5) and Measurement Class (13.1), the description of inbound and outbound both talk about the “to-endpoint”. But one of these two should be “from-endpoint”. This issue supersedes issue 15477 (because it was originally balloted with a resolution that was incorrect, as the actual problem was overlooked).Â

  • Reported: SMM 1.0 — Wed, 11 Feb 2015 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    The properties that were so-far named “outbound” and “inbound”, of SmmElement and its specializations, should be derived unions (isDerivedUnion = true), but this requires that, the properties of specialized classes, from which they are derived, should be defined as subsets (subsettedProperty being set to the property that is the union). The “derived union” will make it unambiguous how the derivation is done, and in combination with “subsets” we apply it according to the UML rules. There is one problem in this: UML 2.4.1 (and still the same in UML 2.5) does not allow subsetting of property of same name. Hence we rename SmmRelationship.inbound and SmmRelationship.outbound to SmmRelationship.inRelationships and SmmRelationship.outRelationships respectively.
    Furthermore, to avoid that, at specialized level, classes Measure, Measurement, etc. have inherited property “inRelationship” next to “inbound” and “outRelationship” next to “outbound”, we define “inbound” as “redefines inRelationships” and “outbound” as “redefines outRelationships”.
    The properties “to” and “from” of SmmRelationship and its specializations are no longer derived. What is instead needed is that, at specialized levels, “to” “redefines” “to” of a parent level, and “from” “redefines” “from” of a parent level. This way we enforce that for any SmmRelationship there’s always exactly one “to” and one “from”. The changes implied here will impact both the model (and its diagrams) and the association tables in the corresponding sub-clauses of the specification.
    Furthermore, in the Association tables of Measure Class (10.5) and Measurement Class (13.1), the description of inbound and outbound both talk about the “to-endpoint”. But for outbound it should be the “from-endpoint”.

  • Updated: Wed, 8 Jul 2015 11:44 GMT

Remove getters of properties in the meta-model

  • Key: SMM11-163
  • Legacy Issue Number: 19721
  • Status: closed  
  • Source: VDMbee ( Mr. Henk de Man)
  • Summary:

    “Getters” for properties in the meta-model are redundant and unnecessary. For example SmmRelationship::getFrom(). These operations should be removed. This issue supersedes 15476 (because that issue was balloted originally as “duplicate / merged”, suggesting that the removal of such “getters” was already done as part of migration to CMOF. But that does not make sense.)

  • Reported: SMM 1.0 — Wed, 11 Feb 2015 05:00 GMT
  • Disposition: Resolved — SMM 1.1
  • Disposition Summary:

    Remove Operations tables from Sub-clauses 8.2 and 8.4.

  • Updated: Wed, 8 Jul 2015 11:44 GMT