Issue 14083: Profile::allOwningPackages (uml2-rtf) Source: International Business Machines (Dr. Maged Elaasar, melaasar(at)ca.ibm.com) Nature: Uncategorized Issue Severity: Summary: I noticed that in section 18.3.6 (as well as Infrastructure 13.1.6) the addition operation allOwningPackages is defined in the namespace of NamedElement and not Profile. In the metamodel, this operation is defined in InfrastructureLibrary::Profiles::NamedElement, which is a class that is not defined in the spec doc in clause 18 (neither in clause 13 in InfrastructureLibrary). Shouldn't there be a section NamedElement in clause 18 (superstructure) and clause 13 (infrastructure libary) to define this additional operation, as implemented by the metamodel now? (since the operation is already defined in that namespace) Resolution: Revised Text: Actions taken: July 16, 2009: received issue Discussion: End of Annotations:===== ubject: Profile::allOwningPackages To: uml2-rtf@omg.org X-Mailer: Lotus Notes Release 7.0 HF277 June 21, 2006 From: Maged Elaasar Date: Thu, 16 Jul 2009 13:40:38 -0400 X-MIMETrack: Serialize by Router on D25ML03/25/M/IBM(Release 8.0.1|February 07, 2008) at 07/16/2009 13:40:33 Hi, I noticed that in section 18.3.6 (as well as Infrastructure 13.1.6) the addition operation allOwningPackages is defined in the namespace of NamedElement and not Profile. In the metamodel, this operation is defined in InfrastructureLibrary::Profiles::NamedElement, which is a class that is not defined in the spec doc in clause 18 (neither in clause 13 in InfrastructureLibrary). Shouldn't there be a section NamedElement in clause 18 (superstructure) and clause 13 (infrastructure libary) to define this additional operation, as implemented by the metamodel now? (since the operation is already defined in that namespace) Maged Elaasar, PhD Candidate Senior Software Engineer, Rational Modeling Tools IBM Representative@OMG, CAS Research Staff Member IBM Canada, Ottawa Lab, +1 613 270 4651 Subject: RE: Profile::allOwningPackages Date: Thu, 16 Jul 2009 16:43:30 -0400 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Profile::allOwningPackages thread-index: AcoGPOaqylKPB4QqQoamsVzTKlnlcAAFoQkg From: "Ed Seidewitz" To: "Maged Elaasar" Cc: Maged . Adding NamedElement to Clause 18 in superstructure would not be a simple change. One would have to copy down all attributes associations (like with namespace) that you want to use within Profiles, since the NamedElement in Profiles would be merged with the one from Constructs and couldn.t inherit from it. This would mean that we would probably also need to introduce a Namespace merge increment in Profiles, and who knows what else. All in all, not an editorial change. The real problem is that the OCL operation allOwningPackages should really be defined in the infrastructure on Constructs::NamedElement, but, unfortunately, it is not. I would suggest we do one of three things: 1. Move the definition of allOwningPackages to Constructs::NamedElement in the infrastructure, where it belongs (and remove it from both Profile in both the infrastructure and superstructure). Maybe we can do this as part of the infrastructure issue ballot. 2. Change the OCL for allOwningPackages (in both the infrastructure and superstructure) to truly be an operation of Profile, but taking a Constructs::PackageableElement as an argument. The uses of the operation would then have to be changed from x.allOwningPackages() to self.owningPackages(x). This would correct the model, but it still seems like more than an editorial change. 3. Enter an issue about this and let the UML 2.4 RTF deal with it. -- Ed PS: By the way, Constraint [2] for Profile, in which allOwningPackages is used, really doesn.t make much sense as written. I think the operation should be .intersection. instead of .union.. Even so, I question whether the OCL really captures the intent of the text. But I suppose this is a separate issue. -------------------------------------------------------------------------------- From: Maged Elaasar [mailto:melaasar@ca.ibm.com] Sent: Thursday, July 16, 2009 1:41 PM To: uml2-rtf@omg.org Subject: Profile::allOwningPackages Hi, I noticed that in section 18.3.6 (as well as Infrastructure 13.1.6) the addition operation allOwningPackages is defined in the namespace of NamedElement and not Profile. In the metamodel, this operation is defined in InfrastructureLibrary::Profiles::NamedElement, which is a class that is not defined in the spec doc in clause 18 (neither in clause 13 in InfrastructureLibrary). Shouldn't there be a section NamedElement in clause 18 (superstructure) and clause 13 (infrastructure libary) to define this additional operation, as implemented by the metamodel now? (since the operation is already defined in that namespace) Maged Elaasar, PhD Candidate Senior Software Engineer, Rational Modeling Tools IBM Representative@OMG, CAS Research Staff Member IBM Canada, Ottawa Lab, +1 613 270 4651