Issue 11393: Section: 8.6.48.6 (updm-ftf) Source: International Business Machines (Mr. Fred Mervine, fred(at)mervine.us) Nature: Revision Severity: Significant Summary: [1] Asserts that the SystemsNodes are required to be deployed to zero or more Locations, have OrganizationalResources, HardwareItems, SoftwareItems, Networks, SystemGroup,or Systems deployed on them, and house OperationalNodes; and that these are the elements associated with this SystemsNode. let e1:uml::Class = self.oclAsType(uml::Association).endType-> at(1).oclAsType(uml::Class) in let e2:uml::Class = self.oclAsType(uml::Association).endType-> at(2).oclAsType(uml::Class) in (e1.getAppliedStereotype('UPDM::SystemsNode')->notEmpty() and (e2.getAppliedStereotype('UPDM::System')->notEmpty() or e2.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::System') ->notEmpty() or e2.getAppliedStereotype('UPDM::OperationalNode')->notEmpty() or e2.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::OperationalNode') ->notEmpty() or e2.getAppliedStereotype('UPDM::Location')->notEmpty() or e2.getAppliedStereotype('UPDM::OrganizationalResource')->notEmpty()or e2.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::OrganizationalResource') ->notEmpty() or e2.getAppliedStereotype('UPDM::SystemGroup)->notEmpty()) )<<<Note - I think this is an extra parenthesis here>>> or (e2.getAppliedStereotype('UPDM::SystemsNode')->notEmpty() and (e1.getAppliedStereotype('UPDM::System')->notEmpty() or e1.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::System') ->notEmpty() or e1.getAppliedStereotype('UPDM::OperationalNode')->notEmpty() or e1.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::OperationalNode') ->notEmpty() or e1.getAppliedStereotype('UPDM::Location')->notEmpty() or e1.getAppliedStereotype('UPDM::OrganizationalResource')->notEmpty() or e1.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::OrganizationalResource') ->notEmpty() or e1.getAppliedStereotype('UPDM::SystemGroup')->notEmpty()) SystemsNodeElements should use Resource instead of OrganizationalResource so that SystemsNodes can be nested. SystemsNodeElements should include SystemGroup so that we can include whole configurations. Resolution: Revised Text: Actions taken: September 13, 2007: received issue Discussion: End of Annotations:===== me: Fred Mervine Company: IBM mailFrom: fmervine@us.ibm.com Notification: Yes Specification: UML Profile for the Department of Defense Architecture Framework and the Ministry of Defence Architecture Framework Section: 8.6.48.6 FormalNumber: dtc/2007-08-02 Version: Beta 1 RevisionDate: 08/02/07 Page: 238 Nature: Revision Severity: Significant HTTP User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6 Description [1] Asserts that the SystemsNodes are required to be deployed to zero or more Locations, have OrganizationalResources, HardwareItems, SoftwareItems, Networks, SystemGroup,or Systems deployed on them, and house OperationalNodes; and that these are the elements associated with this SystemsNode. let e1:uml::Class = self.oclAsType(uml::Association).endType-> at(1).oclAsType(uml::Class) in let e2:uml::Class = self.oclAsType(uml::Association).endType-> at(2).oclAsType(uml::Class) in (e1.getAppliedStereotype('UPDM::SystemsNode')->notEmpty() and (e2.getAppliedStereotype('UPDM::System')->notEmpty() or e2.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::System') ->notEmpty() or e2.getAppliedStereotype('UPDM::OperationalNode')->notEmpty() or e2.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::OperationalNode') ->notEmpty() or e2.getAppliedStereotype('UPDM::Location')->notEmpty() or e2.getAppliedStereotype('UPDM::OrganizationalResource')->notEmpty()or e2.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::OrganizationalResource') ->notEmpty() or e2.getAppliedStereotype('UPDM::SystemGroup)->notEmpty()) )<<>> or (e2.getAppliedStereotype('UPDM::SystemsNode')->notEmpty() and (e1.getAppliedStereotype('UPDM::System')->notEmpty() or e1.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::System') ->notEmpty() or e1.getAppliedStereotype('UPDM::OperationalNode')->notEmpty() or e1.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::OperationalNode') ->notEmpty() or e1.getAppliedStereotype('UPDM::Location')->notEmpty() or e1.getAppliedStereotype('UPDM::OrganizationalResource')->notEmpty() or e1.getAppliedStereotypes()->collect(allParents())->any(qualifiedName = 'UPDM::OrganizationalResource') ->notEmpty() or e1.getAppliedStereotype('UPDM::SystemGroup')->notEmpty()) SystemsNodeElements should use Resource instead of OrganizationalResource so that SystemsNodes can be nested. SystemsNodeElements should include SystemGroup so that we can include whole configurations.