OCL 2.5 RTF Avatar
  1. OMG Issue

OCL25 — Vagueness about meaning of 0..1 multiplicity in OCL and UML

  • Key: OCL25-158
  • Legacy Issue Number: 15789
  • Status: open  
  • Source: Model Driven Solutions ( Steve Cook)
  • Summary:

    UML-alignment of OCL type signatures
    --------------------------------------------------------

    Following discussion in the "Vagueness about meaning of 0..1 multiplicity in OCL and UML" threads
    of the UML2 and OCL RTFs the following problems exist in alignment of the UML and OCL type systems.

    The OCL specification does not provide a clear description of the comparative semantics of for instance
    Integer[1] and Integer[0..1].

    The Complete OCL syntax for an Operation Context Declaration uses OCL type decalarations and so
    fails to provide the same expressivity as a UML operation declaration with multiplicities.

    Suggest:

    a) a clear indication that

    An Integer[1] may have integer values, null or invalid, of which only integer values are well-formed.

    An Integer[0..1] may have integer values, null or invalid, of which integer values and null are well-formed.

    b) an enhancement to the type declaration syntax to allow

    Integer[0..1] or Integer[1] to indicate a nullable/non-nullable value.

    Set(Integer[1..7]) to capture the expressivity of a UML multiplicity

  • Reported: OCL 2.1 — Thu, 28 Oct 2010 04:00 GMT
  • Updated: Thu, 8 Oct 2015 14:12 GMT