Issue 7467: change rollnames (ocl2-ftf) Source: Klasse Objecten (Dr. Jos Warmer, j.warmer@klasse.nl) Nature: Uncategorized Issue Severity: Summary: 1. The keywords ’pre’, ’body’, ’in’ and ’context’ are being used in the OCL expressions themselves to indicate role names. Actually this is an error. These can be avoided by changing the following rolenames: • - ’body’ of AbstractSyntax::Expression::LoopExp • - ’pre’ of OclDomain::Values::LocalSnapshot • - ’context’ of OclDomain::Evaluations::OclExpEval • - ’in’ of AbstractSyntax::Expression::LetExp • - ’in’of UML14::Core::ParameterDirectionKind To check the expressions we have changed the above names into the same word beginning with an upperclass character. Resolution: Revised Text: 1) Add the following text at the beginning of section 9.3. Handling conflicts with OCL keywords: As a convention to the concrete syntax, conflicting property or conflicting class names can be aliased using the "_" (underscore) prefix. Inside an OCL expression that is written with the concrete syntax, when a property name or a class name is found to start with a "_", firstly the symbol is lookup in the metamodel. If not found the same symbol with the "_" skipped is tried. 2) In all well-formedness rules add an underscore "_" for all attribute names that conflicts with OCL keywords. Actions taken: June 10, 2004: received issue November 1, 2005: closed issue Discussion: Resolution: As a convention to the concrete syntax, conflicting property or conflicting class names can be aliased using the "_" (underscore) prefix. Inside an OCL expression that is written with the concrete syntax, when a property name or a class name is found to start with a "_", firstly the symbol is lookup in the metamodel. If not found the same symbol with the "_" skipped is tried. End of Annotations:===== rs in the OCL 2 specifiction v1.6 Overall 1. The keywords .pre., .body., .in. and .context. are being used in the OCL expressions themselves to indicate role names. Actually this is an error. These can be avoided by changing the following rolenames: . - .body. of AbstractSyntax::Expression::LoopExp . - .pre. of OclDomain::Values::LocalSnapshot . - .context. of OclDomain::Evaluations::OclExpEval . - .in. of AbstractSyntax::Expression::LetExp . - .in.of UML14::Core::ParameterDirectionKind To check the expressions we have changed the above names into the same word beginning with an upperclass character.