Issue 14225: Set operations for OrderedSet (ocl2-rtf) Source: (, ) Nature: Enhancement Severity: Significant Summary: MDT OCL implementation has assumed that OrderedSet is a subtype of Set. It has become clear (11.6.3) that this assumption was erroneous. As a result, operations which are defined on Sets in the standard library (like including, excluding, intersection, union, etc.) must be undefined on OrderedSet. However, many clients (including the ones of Operational QVT) have already written code relying on this behaviour (i.e. considering that OrderedSet is a subtype of Set, they used operations like including()). It would be very helpful to define such operations on OrderedSet. It would be also important to define these counterpart operations so that they would keep the order of the elements of the initial OrderedSet, e.g: including(object : T) : OrderedSet(T) The OrderedSet containing all elements of self plus object added as the last element. post: result = self.append(object) Resolution: Revised Text: Actions taken: August 27, 2009: received issue Discussion: End of Annotations:===== iler: QUALCOMM Windows Eudora Version 7.1.0.9 Date: Thu, 27 Aug 2009 11:03:26 -0400 To: issues@omg.org, ocl2-rtf@omg.org From: Juergen Boldt Subject: issue 14225 -- OCL 2 RTF issue Cc: Alexander.Igdalov@gmail.com From: webmaster@omg.org Date: 27 Aug 2009 05:42:56 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Alexander Igdalov Company: Individual mailFrom: Alexander.Igdalov@gmail.com Notification: Yes Specification: Object Constraint Language Section: 11.7.3 OrderedSet FormalNumber: ptc/09-05-02 Version: 2.1 RevisionDate: 09-05-02 Page: 154-155 Title: Set operations for OrderedSet Nature: Enhancement Severity: Significant test: 3qw8 B1: Report Issue Description: MDT OCL implementation has assumed that OrderedSet is a subtype of Set. It has become clear (11.6.3) that this assumption was erroneous. As a result, operations which are defined on Sets in the standard library (like including, excluding, intersection, union, etc.) must be undefined on OrderedSet. However, many clients (including the ones of Operational QVT) have already written code relying on this behaviour (i.e. considering that OrderedSet is a subtype of Set, they used operations like including()). It would be very helpful to define such operations on OrderedSet. It would be also important to define these counterpart operations so that they would keep the order of the elements of the initial OrderedSet, e.g: including(object : T) : OrderedSet(T) The OrderedSet containing all elements of self plus object added as the last element. post: result = self.append(object) Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org