Issue 1489: Section 2.2.2.7, UML diagram for Expressions (boca-rtf) Source: (, ) Nature: Revision Severity: Summary: Summary: Section 2.2.2.7, UML diagram for Expressions The following UML classifiers describing BOCA meta-types have attributes that are actually supposed to be relationships. The following table specifies the meta-types that have this problem and the problematic attributes: BocaMeta-type Attribute Target BocaMeta-type Invocation of_operation CorbaOperation Invocation receiver ExpressionElement InvocationArgument value ExpressionElement InvocationArgument of_argument CorbaArgument BuiltInBinary left ExpressionElement BuiltInBinary right ExpressionElement Conditional condition ExpressionElement Conditional true_value ExpressionElement Conditional false_value ExpressionElement SubsetFunction the_set ExpressionElement SubsetFunction constraint ExpressionElement BuiltInUnary argument ExpressionElement ArrayAccess of_array ExpressionElement ArrayAccess argument ExpressionElement Traversal of_feature StructuralFeature Traversal argument ExpressionElement Recommendation: The apparent recommendation would be to remove the attributes or mark them as derived attributes and to draw the associations where practical. However, in this case it may be overkill to have all of the expression types be full-blown identifiable objects that can engage in relationships. It may be more practical to make them dependent types and to use attributes. This should be studied and any changes must be reflected in the CDL declaration of the meta-model. Resolution: Revised Text: Actions taken: June 3, 1998: received issue Discussion: End of Annotations:===== Section 2.2.2.7, UML diagram for Expressions The following UML classifiers describing BOCA meta-types have attributes that are actually supposed to be relationships. The following table specifies the meta-types that have this problem and the problematic attributes: BocaMeta-type Attribute Target BocaMeta-type Invocation of_operation CorbaOperation Invocation receiver ExpressionElement InvocationArgument value ExpressionElement InvocationArgument of_argument CorbaArgument BuiltInBinary left ExpressionElement BuiltInBinary right ExpressionElement Conditional condition ExpressionElement Conditional true_value ExpressionElement Conditional false_value ExpressionElement SubsetFunction the_set ExpressionElement SubsetFunction constraint ExpressionElement BuiltInUnary argument ExpressionElement ArrayAccess of_array ExpressionElement ArrayAccess argument ExpressionElement Traversal of_feature StructuralFeature Traversal argument ExpressionElement Recommendation: The apparent recommendation would be to remove the attributes or mark them as derived attributes and to draw the associations where practical. However, in this case it may be overkill to have all of the expression types be full-blown identifiable objects that can engage in relationships. It may be more practical to make them dependent types and to use attributes. This should be studied and any changes must be reflected in the CDL declaration of the meta-model.