UML 2.4 RTF Avatar
  1. OMG Issue

UML24 — Constraint [3] on TestIdentityAction is incorrect

  • Key: UML24-4
  • Legacy Issue Number: 14570
  • Status: closed  
  • Source: Model Driven Solutions ( Mr. Ed Seidewitz)
  • Summary:

    Specification: UML Superstructure (formal/09-02-02)

    Subclause: 11.3.49 TestIdentityAction

    Constraint [3] for TestIdentityAction is:

    [3] The type of the result is Boolean.

    self.result.type.oclIsTypeOf(Boolean)

    While the English statement expresses the correct intent, the OCL is wrong. As written, the OCL requires that the type of the object referenced by the type property of the OutputPin be Boolean. But this is, of course, impossible, since the type of OutputPin::type is the metaclass Type, and any value for this property must be for an instance of a concrete subclass of type, such as Classifier or PrimitiveType. Boolean, on the other hand, is represented as an instance of the metaclass PrimitiveType. That is, the OCL for this constraint is confusing metalevels.

    The OCL should really be something like:

    self.result.type = PrimitiveType instance representing Boolean

    However, unless some sort of standard way to reference the M1 instance representing Boolean within the UML metamodel, it is unclear how to formally write “PrimitiveType instance representing Boolean”.

  • Reported: UML 2.3 — Fri, 16 Oct 2009 04:00 GMT
  • Disposition: Resolved — UML 2.4
  • Disposition Summary:

    agreed

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