-
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=4123326Dragan 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
UMLR — Reconcile the algebra of collections across OCL & UMLs intentional & extensional semantics
- Key: UMLR-184
- OMG Task Force: UML 2.6 RTF