OCL 2.1 RTF Avatar
  1. OMG Issue

OCL21 — Introduction and oclType()

  • Key: OCL21-267
  • Legacy Issue Number: 9171
  • Status: closed  
  • Source: SAP SE ( Murray Spork)
  • Summary:

    I only recently joined the OCL rtf at the request of David Frankel (who
    is now with SAP) - I have not seen any activity on this mailing list as
    yet so I hope this is an appropriate forum to raise this question.

    First let me introduce myself - I am lead for a proof-of-concept project
    investigating the use of OCL to express integrity constraints on models.
    Hopefully I will get a chance next year to attend a f2f meeting so that
    I can meet you all.

    On to my specific question: we have noticed that some time between OCL
    1.1 and UML 1.4 "oclType", as a predefined feature, was removed. (I have
    been unable to find any versions of OCL between 1.1 and UML 1.4).

    I thought it would be best if we found out whether this removal was
    intentional before officially raising it as an issue. The reason is that
    we find a) this is a useful reflective feature to have and 2) it is
    still used in some current OMG specifications (note that it is used
    inconsistently).
    e.g.:

    • UML2 Infrastructure - (ptc/03-09-15) pg.89:
      Classifier::maySpecializeType(c : Classifier) : Boolean;
      maySpecializeType = self.oclIsKindOf(c.oclType)
    • Meta Object Facility (MOF) 2.0 Core Specification (ptc/03-10-04) -
      pg.68
      ExtentImpl::addObject(ObjectInstance o, String suppliedId
      [0..1]): String
      pre: not(self.entry.identifier includes suppliedId)
      post: oclIsNew(e) and oclType(e) = IdentifierEntry and
      e.object = o and
      self.entry includes e
      self.entry->select(ex | ex.identifier = e.identifier)->size() =
      1 – the new id is unique and
      (suppliedId <> null implies e.identifier = suppliedId)
  • Reported: OCL 2.0 — Sun, 13 Nov 2005 05:00 GMT
  • Disposition: Resolved — OCL 2.1
  • Disposition Summary:

    No Data Available

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