Issue 1141: Incorrect ocl specification(s) (mof-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Minor Summary: Summary: Incorrect ocl specification of Each ocl statement defining a constraint on the element types allowed to be contained by subtypes of Namespace is mis-specified. For instance, the following statement intended to constrain DataType instances to only containing instances of either TypeAlias or Tag. However, as specified, the intersection of sets is between instances (contents) and types (the defined set). Resolution: resolved, close issue Revised Text: Actions taken: April 16, 1998: received issue May 8, 2000: closed issue Discussion: Discussion: Agreed. The fuller text of the issue (see here above) provides the revised OCL for the various affected instances. Proposed resolution: accept corrections as supplied Implementation: Corrections implemented. Done. [SC] End of Annotations:===== Return-Path: Date: Wed, 15 Apr 1998 18:56:13 -0400 From: www To: juergen@omg.org, web-incoming@omg.org Subject: WWW Form output Name: GK Khalsa Company: Object Radiance (for Unisys) Email: khalsa@objectrad.com Notification: No Specification: Meta Object Facility (MOF) Specification Section: Section 3 Formal #: ad/97-10-02 Version: Revision_Date: 10/07/97 Page: 3-35, 3-38, 3-51, 3-55, 3-64, 3-102, 3-103, 3-104 Nature: Clarification Severity: Minor full_desc: Incorrect ocl specification of Each ocl statement defining a constraint on the element types allowed to be contained by subtypes of Namespace is mis-specified. For instance, the following statement intended to constrain DataType instances to only containing instances of either TypeAlias or Tag. However, as specified, the intersection of sets is between instances (contents) and types (the defined set). [9] DataType (self.contents - Set{ TypeAlias, Tag })->isEmpty There are many ways this can be correctly specified. Here is one: [9] DataType Set{TypeAlias, Tag}->includesAll(self.contents->collect(c | c.oclType) This ocl states that for any DataType instance, the types of its contents must always be contained in the set consisting of the types TypeAlias and Tag. Here is each replacement statement. Note that for each, the context specification ("DataType" in the above example) should remain underlined. On page 3-35 and page 3-102 ------------ [6] Class Set{Class, DataType, MofAttribute, Reference, Operation, MofException, Constraint, Tag}-> includesAll(self.contents->collect(c | c.oclType) On page 3-38 and page 3-102 ------------ [9] DataType Set{TypeAlias, Tag}->includesAll(self.contents->collect(c | c.oclType) On page 3-51 and page 3-103 ------------ [16] Operation Set{Parameter, Constraint, Tag}-> includesAll(self.contents->collect(c | c.oclType) On page 3-51 and page 3-103 ------------ [18] MofException Set{Parameter, Tag}-> includesAll(self.contents->collect(c | c.oclType) On page 3-55 and page 3-103 ------------ [20] Association Set{AssociationEnd, Constraint, Tag}-> includesAll(self.contents->collect(c | c.oclType) On page 3-64 and page 3-104 ------------ [30] Package Set{Package, Class, DataType, Association, MofException, Constraint, Import, Constant, Tag}-> includesAll(self.contents->collect(c | c.oclType) submit: Submit Issue Report