Issue 15221: Bug in Core::Abstractions::Super::Classifier::hasVisibilityOf (uml2-rtf) Source: (, ) Nature: Enhancement Severity: Minor Summary: In Core::Abstractions::Super::Classifier::hasVisibilityOf there is 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 This is wrong because “NamedElement” doesn’t have “visibility” attribute. In fact “Feature” doesn’t have “visibility” attribute as well, so all of the properties and operations for Classifier needs to be public. That’s why I think that for now “hasVisiblityOf” should be fixed to: Classifier::hasVisibilityOf(n: NamedElement) : Boolean; pre: self.allParents()->collect(c | c.member)->includes(n) hasVisibilityOf = true but maybe it should be considered to add visibility attribute to Feature. Resolution: Revised Text: Actions taken: April 23, 2010: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 23 Apr 2010 07:47:23 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Tomasz Biegacz Company: Titian Software mailFrom: tomasz.biegacz@titian.co.uk Notification: Yes Specification: OMG Unified Modeling LanguageTM (OMG UML), Infrastructure Section: 9.19.1 Classifier FormalNumber: formal/2009-02-04 Version: 2.2 RevisionDate: February 2009 Page: 84 Title: Bug in Core::Abstractions::Super::Classifier::hasVisibilityOf Nature: Enhancement Severity: Minor test: 3qw8 B1: Report Issue Description: In Core::Abstractions::Super::Classifier::hasVisibilityOf there is 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 This is wrong because .NamedElement. doesn.t have .visibility. attribute. In fact .Feature. doesn.t have .visibility. attribute as well, so all of the properties and operations for Classifier needs to be public. That.s why I think that for now .hasVisiblityOf. should be fixed to: Classifier::hasVisibilityOf(n: NamedElement) : Boolean; pre: self.allParents()->collect(c | c.member)->includes(n) hasVisibilityOf = true but maybe it should be considered to add visibility attribute to Feature.