Issue 6965: UseCase - Constraint for non-circular include relation (uml2-superstructure-ftf) Source: (, ) Nature: Clarification Severity: Minor Summary: UseCase - Constraint for non-circular include relation I suggest to add the following fragments to the sections "Additional Operations" and "Constraints": Additional Operations [1] The query allIncludedCases() gives a set of all of the uses cases which are either included directly by this use case or indirectly by other included use cases. UseCase::allIncludedCases(): Set(UseCase); allIncludedCases = self.include->union( self.include->collect(uc | uc.allIncludedCases()) ) Constraints [4] A Use Case may not directly or indirectly include itself not self.allIncludedCases()->includes(self) Resolution: see above Revised Text: Actions taken: January 31, 2004: received issue March 8, 2005: closed issue Discussion: The following fixes are proposed: ?? pg. 520 add the following constraint at the end of the list of constraints: [4] A use case cannot include use cases that directly or indirectly include it not self.allIncludedUseCases()->includes(self) ?? pg. 520 Just before the Semantics section add a new section: Additional Operations [1] The query allIncludedUseCases() returns the transitive closer of all use cases (directly or indirectly) included by this use case: UseCase::allIncludedUseCases() : Set(UseCase) allIncludedUseCases = self.include->union(self.include->collect(in | in.allIncludedUseCases()) End of Annotations:===== MG Issue No: 6965 Title: UseCase - Constraint for non-circular include relation Source: Summary: UseCase - Constraint for non-circular include relation I suggest to add the following fragments to the sections "Additional Operations" and "Constraints": Additional Operations [1] The query allIncludedCases() gives a set of all of the uses cases which are either included directly by this use case or indirectly by other included use cases. UseCase::allIncludedCases(): Set(UseCase); allIncludedCases = self.include->union( self.include->collect(uc | uc.allIncludedCases()) ) Constraints [4] A Use Case may not directly or indirectly include itself not self.allIncludedCases()->includes(self) Discussion: The following fixes are proposed: · pg. 520 add the following constraint at the end of the list of constraints: [4] A use case cannot include use cases that directly or indirectly include it not self.allIncludedUseCases()->includes(self) · pg. 520 Just before the Semantics section add a new section: Additional Operations [1] The query allIncludedUseCases() returns the transitive closer of all use cases (directly or indirectly) included by this use case: UseCase::allIncludedUseCases() : Set(UseCase) allIncludedUseCases = self.include->union(self.include->collect(in | in.allIncludedUseCases()) Disposition: Resolved Subject: RE: Ballot 9 -- vote starts today at 6 pm EST Date: Tue, 16 Mar 2004 23:50:12 -0500 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Ballot 9 -- vote starts today at 6 pm EST Thread-Index: AcQBenP8xLMBqwp9Q+S3r2Yt6ykixQKXvIiw From: "Pete Rivett" To: "Branislav Selic" Cc: X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id i2H4frre007110 Adaptive votes YES to all the proposed resolutions. And brings the editor's attention to the following typo in the resolution to issue 6965: "[1] The query allIncludedUseCases() returns the transitive closer " And in 6488: "condition : Constraint [*] Constraint that should be satisified for the " Pete Pete Rivett (mailto:pete.rivett@adaptive.com) Consulting Architect, Adaptive Inc. Dean Park House, 8-10 Dean Park Crescent, Bournemouth, BH1 1HL, UK Tel: +44 (0)1202 449419 Fax: +44 (0)1202 449448 http://www.adaptive.com ________________________________ From: Branislav Selic [mailto:bselic@ca.ibm.com] Sent: Wednesday, March 03, 2004 11:45 PM To: uml2-superstructure-ftf@omg.org Cc: mu2i-ftf@omg.org Subject: Ballot 9 -- vote starts today at 6 pm EST You have two weeks to vote (and re-vote, if you want) on these proposed resolutions. Bran