UML 2.6 RTF Avatar
  1. OMG Issue

UMLR — Reconcile the algebra of collections across OCL & UML’s intentional & extensional semantics

  • Key: UMLR-184
  • Legacy Issue Number: 14356
  • Status: open  
  • Source: NASA ( Dr. Nicolas F. Rouquette)
  • Summary:

    Reconcile the algebra of collections across OCL & UML’s intentional & extensional semantics & test this statically with OCL & dynamically with OCL & fUML scenarios. Bran,

    Your comments and those from Dave Hawkins & Salman Qadri confirm my
    suspicions that it would be unwise to submit a resolution to 8023 in ballot 10; I won’t.

    Dragan Milicev’s paper is really excellent; I’m really glad you pointed this out.
    I highly recommend this paper for consideration in the UML2 RFI workshop:

    On the Semantics of Associations and Association Ends in UML
    Milicev, D.;
    Software Engineering, IEEE Transactions on
    Volume 33, Issue 4, April 2007 Page(s):238 - 251
    http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4123326

    Dragan clearly states that his formalization of association is squarely in
    the domain of intentional semantics; not extensional semantics as stated in
    clause 7.3.3:

    “An association describes a set of tuples whose values refer to typed
    instances. An instance of an association is called a link.”

    This paper points to a fundamental limitation in the way the runtime
    semantics of the UML2 has been specified in clause 6.3.1 in the domain of
    extensional semantics:

    “Classes, events, and behaviors model sets of objects, occurrences, and
    executions with similar properties. Value specifications, occurrence
    specifications, and execution specifications model individual objects,
    occurrences, and executions within a particular context.”

    The real problem here isn’t in the fact that there are two different ways to
    specify the semantics of associations ­ the restrictive interpretation in
    Dragan’s terminology which is really an extensional semantics and the
    intentional semantics Dragan proposes which I believe is fundamentally
    correct (as far as I’ve read it).

    The real problem is in the semantic mismatch between the extensional & intentional semantics of associations (assuming Dragan is right).
    The current extensional semantics of the UML2 is based on an impoverished notion of collections: sets & sequences.
    Dragan’s intentional semantics for associations involves the same categories of collections that OCL uses: sets, sequences & bags (see clause 7.5.11 in ocl2/ocl2.1)

    What this all means is that we need to focus an RTF cycle on reconciling the algebra of collections across OCL & the extensional & intentional semantics of UML2 and of fUML.
    The goal of this reconciliation is twofold:

    we should be able to specify all necessary well-formedness constraints on the relationship between M1 & M0 in OCL
    we should be able to use fUML to exercise relevant scenarios of events starting in one M1/M0 context and finishing in another M1/M0’ context and specify in OCL well-formedness constraints on the relationship between M0/M0’ as a function of the events processed & the behavior that happened as a result of processing by some active object (see clause 6.4.2).

    We can use the fUML subset to scope this reconciliation effort to something manageable as an RTF; learn from this experience and use that to tackle more exotic things like state machines.

  • Reported: UML 2.5 — Tue, 8 Sep 2009 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:57 GMT