Issue 8999: Sections 5.3 and 5.5 (mof2versioning-ftf) Source: (, ) Nature: Clarification Severity: Critical Summary: The "MOF2.0 Core Specification" states that a package may contain other packages, which may in turn contain other Packages. But the "MOF2 Versioning Final Adopted Specification" doesn't mention about the versioning semantics related to containment of packages. Following are few concerns: If 'checkIn()' operation of a VersionedExtent object is called and if this VersionedExtent object contains other VersionedExtents, then should new versions be created even for the contained VersionedExtents ? If 'delete()' operation of a Version object is called and if this Version object contains other Versions, then should the deletion be performed even for the contained Versions ? Resolution: see above, closed, no change Revised Text: Actions taken: September 13, 2005: received issue October 30, 2006: closed issue Discussion: Package containment has no influence on versioning semantics, Extents cannot contain other Extents (which was a premise of the question) and that if an object in a versioned extent is deleted its contained objects are also deleted in the context of that workspace. In particular: · Checking in a package in one versioned extent does not automatically check in a second versioned extent, whether or not the first versioned extent has packages that contain packages in the second versioned extent. · Deleting a version for one versioned extent does not automatically delete a version of another versioned extent, whether or not the first versioned extent has packages that contain packages in the second versioned extent. Resolution: Package containment has no influence on versioning semantics, Extents cannot contain other Extents (which was a premise of the question) and that if an object in a versioned extent is deleted its contained objects are also deleted in the context of that workspace. In particular: · Checking in a package in one versioned extent does not automatically check in a second versioned extent, whether or not the first versioned extent has packages that contain packages in the second versioned extent. · Deleting a version for one versioned extent does not automatically delete a version of another versioned extent, whether or not the first versioned extent has packages that contain packages in the second versioned extent. End of Annotations:===== m: webmaster@omg.org Date: 13 Sep 2005 07:17:17 -0400 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Suresh Babu Datla Company: Tata Consultancy Services Limited mailFrom: suresh.datla@tcs.com Notification: Yes Specification: MOF2 Versioning Final Adopted Specification Section: Sections 5.3 and 5.5 FormalNumber: Ptc/05-08-01 Version: finalization version RevisionDate: August 2005 Page: 14 - 16 Nature: Clarification Severity: Critical HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Description The "MOF2.0 Core Specification" states that a package may contain other packages, which may in turn contain other Packages. But the "MOF2 Versioning Final Adopted Specification" doesn't mention about the versioning semantics related to containment of packages. Following are few concerns: If 'checkIn()' operation of a VersionedExtent object is called and if this VersionedExtent object contains other VersionedExtents, then should new versions be created even for the contained VersionedExtents ? If 'delete()' operation of a Version object is called and if this Version object contains other Versions, then should the deletion be performed even for the contained Versions ? To: Juergen Boldt Cc: issues@omg.org, mof2versioning-ftf@omg.org Subject: Re: issue 8999 -- MOF @ Versioning FTF issue X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 From: Geoffrey M Clemm Date: Sun, 25 Sep 2005 10:01:19 -0400 X-MIMETrack: Serialize by Router on D01ML261/01/M/IBM(Build V70_08142005|August 14, 2005) at 09/25/2005 10:01:18, Serialize complete at 09/25/2005 10:01:18 Package containment has no influence on versioning semantics. In particular: - Checking in a package in one versioned extent does not automatically check in a second versioned extent, whether or not the first versioned extent has packages that contain packages in the second versioned extent. - Deleting a version for one versioned extend does not automatically delete a version of another versioned extent, whether or not the first versioned extent has packages that contain packages in the second versioned extent. Cheers, Geoff From: webmaster@omg.org Date: 13 Sep 2005 07:17:17 -0400 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Suresh Babu Datla Company: Tata Consultancy Services Limited mailFrom: suresh.datla@tcs.com Notification: Yes Specification: MOF2 Versioning Final Adopted Specification Section: Sections 5.3 and 5.5 FormalNumber: Ptc/05-08-01 Version: finalization version RevisionDate: August 2005 Page: 14 - 16 Nature: Clarification Severity: Critical HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Description The "MOF2.0 Core Specification" states that a package may contain other packages, which may in turn contain other Packages. But the "MOF2 Versioning Final Adopted Specification" doesn't mention about the versioning semantics related to containment of packages. Following are few concerns: If 'checkIn()' operation of a VersionedExtent object is called and if this VersionedExtent object contains other VersionedExtents, then should new versions be created even for the contained VersionedExtents ? If 'delete()' operation of a Version object is called and if this Version object contains other Versions, then should the deletion be performed even for the contained Versions ? Subject: RE: issue 8999 -- MOF @ Versioning FTF issue Date: Sun, 25 Sep 2005 08:39:17 -0700 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: issue 8999 -- MOF @ Versioning FTF issue Thread-Index: AcXB2aejp1axc75+ThmZ04ZQqYeFWwACWICg From: "Pete Rivett" To: "Geoffrey M Clemm" , "Juergen Boldt" Cc: , , Just to build on what Geoff said, and to address the confusion that seems to be at the heart of the original issue... It is important to distinguish the metamodel from the data (models) that conforms to that metamodel. MOF Packages, which indeed can be contained, are at the metamodel level. Extents are for data (models) that conforms to metamodels (packages). Extents are a flat structure and cannot be nested. So the premise of the original question is not correct: a VersionedExtent cannot contain other VersionedExtents. Now there is nothing to stop an actual model being split across multiple extents. The restrictions (Closure Rules) that were in place at MOF 1.x no longer apply, so a UML package can be in one extent and its Classes, or nested Packages, in another extent. Note that these are UML Packages, not MOF Packages, so what the MOF Core specification says about Packages does not apply to these. What I think the original question was asking is whether the containment relationship between these UML packages affects versioning. The answer is no, not at all, as Geoff explained. However it does place certain requirements on how you use versioning. Since, for example, the deletion of a parent UML package requires the deletion of its nested Packages and Classes (as specified in the UML metamodel), then you need to ensure that the extent containing the nested classes and packages is also checked out or the deletion will fail. However this is all at the UML level and is not specific to Packages - it would apply just as much to the Attributes owned by a Class if they were in different extents. And that versioning is only involved to the extent of write-enabling the 'cascaded delete' updates required by the UML metamodel. As far as MOF is concerned, checkin of the extent containing the parent UML Package is independent of Checkin of the extent (formerly) containing the nested Packages and Classes, although a client tool aware of both UML and MOF versioning might provide added value and coordinate them. Regards Pete -------------------------------------------------------------------------------- From: Geoffrey M Clemm [mailto:geoffrey.clemm@us.ibm.com] Sent: Sunday, September 25, 2005 3:01 PM To: Juergen Boldt Cc: issues@omg.org; mof2versioning-ftf@omg.org Subject: Re: issue 8999 -- MOF @ Versioning FTF issue Package containment has no influence on versioning semantics. In particular: - Checking in a package in one versioned extent does not automatically check in a second versioned extent, whether or not the first versioned extent has packages that contain packages in the second versioned extent. - Deleting a version for one versioned extend does not automatically delete a version of another versioned extent, whether or not the first versioned extent has packages that contain packages in the second versioned extent. Cheers, Geoff From: webmaster@omg.org Date: 13 Sep 2005 07:17:17 -0400 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Suresh Babu Datla Company: Tata Consultancy Services Limited mailFrom: suresh.datla@tcs.com Notification: Yes Specification: MOF2 Versioning Final Adopted Specification Section: Sections 5.3 and 5.5 FormalNumber: Ptc/05-08-01 Version: finalization version RevisionDate: August 2005 Page: 14 - 16 Nature: Clarification Severity: Critical HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Description The "MOF2.0 Core Specification" states that a package may contain other packages, which may in turn contain other Packages. But the "MOF2 Versioning Final Adopted Specification" doesn't mention about the versioning semantics related to containment of packages. Following are few concerns: If 'checkIn()' operation of a VersionedExtent object is called and if this VersionedExtent object contains other VersionedExtents, then should new versions be created even for the contained VersionedExtents ? If 'delete()' operation of a Version object is called and if this Version object contains other Versions, then should the deletion be performed even for the contained Versions ? vi issue9000