OCL 2.1 RTF Avatar
  1. OMG Issue

OCL21 — Notation for accessing class operations is inconsistent

  • Key: OCL21-265
  • Legacy Issue Number: 8937
  • Status: closed  
  • Source: International Business Machines ( Dr. Tracy Gardner)
  • Summary:

    The OCL 2.0 spec is inconsistent on whether class operations, including predefined operations, should be accessed using '.' or '::' notation.
    E.g. should it be Person.allInstances() or Person::allInstances()

    The spec uses Person.allInstances() in the text, but the concrete syntax specifies '::'.

    It seems that most tools have adopted the '.' notation used in the examples which is also backwards compatible with previous versions of OCL.
    There has also been some adoption of the '::' notation, for example in Warmer and Kleppe's OCL book, see: http://www.klasse.nl/english/boeken/ocl-book-errata.pdf

    Note: This issue was originally pointed out by Anthony Shuttleworth of Paranor.

    Proposed solution:

    The '.' notation is widely used and backwards compatible with previous versions of OCL. It should not be made invalid in OCL 2.0.
    It may be appropriate to also support the '::' notation if this has been widely adopted.

  • Reported: OCL 2.0 — Thu, 21 Jul 2005 04:00 GMT
  • Disposition: Resolved — OCL 2.1
  • Disposition Summary:

    No Data Available

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