Issue 9406: UML2: No notation for indicating Operation::raisedException (uml2-rtf) Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com) Nature: Uncategorized Issue Severity: Summary: Section 7.3.36 specifies the notation for Operation, but there is no notation for denoting raisedExceptions. Section 12.3.41 introduces Parameter::isException and suggests exception parameters are indicated out parameters with {exception} after the parameter type to indicate Parameter::isException=true. However, Operation::raisedException is not a Parameter, it is a reference to a Type. So a raisedException is not a TypedElement like parameter, has no multiplicity or ordering, etc. Raised exceptions are quite different than parameters and even in activities, RaiseExceptionAction and ExceptionHandlers do not exchange exception data through parameters. Consider adding <oper-property> ::= 'throws' '('<type-list>')' in section 7.3.36 for denoting exceptions that could be raised by an operation. This is a significant part of the specification of an operation indicating information clients must know in order to use the operation and should be clearly visible in the operation's signature. Resolution: Revised Text: Actions taken: March 1, 2006: received issue Discussion: End of Annotations:===== c: Branislav Selic , conrad.bock@nist.gov Subject: UML2: No notation for indicating Operation::raisedException X-Mailer: Lotus Notes Release 7.0 HF85 November 04, 2005 From: Jim Amsden Date: Wed, 1 Mar 2006 09:22:56 -0500 X-MIMETrack: Serialize by Router on D03NM118/03/M/IBM(Release 7.0.1HF1 | February 8, 2006) at 03/01/2006 07:23:00, Serialize complete at 03/01/2006 07:23:00 Section 7.3.36 specifies the notation for Operation, but there is no notation for denoting raisedExceptions. Section 12.3.41 introduces Parameter::isException and suggests exception parameters are indicated out parameters with {exception} after the parameter type to indicate Parameter::isException=true. However, Operation::raisedException is not a Parameter, it is a reference to a Type. So a raisedException is not a TypedElement like parameter, has no multiplicity or ordering, etc. Raised exceptions are quite different than parameters and even in activities, RaiseExceptionAction and ExceptionHandlers do not exchange exception data through parameters. Consider adding ::= 'throws' '('')' in section 7.3.36 for denoting exceptions that could be raised by an operation. This is a significant part of the specification of an operation indicating information clients must know in order to use the operation and should be clearly visible in the operation's signature.