Issue 14563: Cyclick dependency (uml2-rtf) Source: (, ) Nature: Revision Severity: Significant Summary: 1) In paragraph "7.3.8 Classifier (from Kernel, Dependencies, PowerTypes)" is constraint: [4] self.inheritedMember->includesAll(self.inherit(self.parents()->collect(p | p.inheritableMembers(self))) 2) inheritableMembers() is query with definition: [4] Classifier::inheritableMembers(c: Classifier): Set(NamedElement); pre: c.allParents()->includes(self) inheritableMembers = member->select(m | c.hasVisibilityOf(m)) 3) hasVisibilityOf() is query with definition: [5] Classifier::hasVisibilityOf(n: NamedElement) : Boolean; pre: self.allParents()->collect(c | c.member)->includes(n) if (self.inheritedMember->includes(n)) then hasVisibilityOf = (n.visibility <> #private) else hasVisibilityOf = true Resolution: Revised Text: Actions taken: October 15, 2009: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 15 Oct 2009 05:38:23 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Jiri Schubert Company: asd-software mailFrom: schubert@asd-software.cz Notification: Yes Specification: UML Section: 7.3.8 FormalNumber: OMG UML - Superstructure Version: 2.2 RevisionDate: 02/02/09 Page: 69/740 Title: Cyclick dependency Nature: Revision Severity: Significant test: 3qw8 B1: Report Issue Description: 1) In paragraph "7.3.8 Classifier (from Kernel, Dependencies, PowerTypes)" is constraint: [4] self.inheritedMember->includesAll(self.inherit(self.parents()->collect(p | p.inheritableMembers(self))) 2) inheritableMembers() is query with definition: [4] Classifier::inheritableMembers(c: Classifier): Set(NamedElement); pre: c.allParents()->includes(self) inheritableMembers = member->select(m | c.hasVisibilityOf(m)) 3) hasVisibilityOf() is query with definition: [5] Classifier::hasVisibilityOf(n: NamedElement) : Boolean; pre: self.allParents()->collect(c | c.member)->includes(n) if (self.inheritedMember->includes(n)) then hasVisibilityOf = (n.visibility <> #private) else hasVisibilityOf = true It is cyclic dependency in definiton: self.inheritedMember -> p.inheritableMembers(self) -> self.hasVisibilityOf(m) -> self.inheritedMember