Issue 1247: CDL syntax for CorbaModel (boca-rtf) Source: (, ) Nature: Revision Severity: Summary: Summary: BOCA There are a some syntactic inconsistencies in the BOCA "CorbaModel" Meta-Model CDL starting on page 74. Most of these are typographical errors, some are due to constraints on use of identifiable types as attributes. Resolution: Revised Text: Actions taken: April 28, 1998: received issue June 23, 1998: closed issue Discussion: Accept recommendatio. Issue closed End of Annotations:===== Return-Path: From: Tom Digre To: "'issues'" Cc: "'Boca RTF'" Subject: boca-rtf issue: CDL syntax for CorbaModel Date: Mon, 27 Apr 1998 18:00:13 -0400 BOCA There are a some syntactic inconsistencies in the BOCA "CorbaModel" Meta-Model CDL starting on page 74. Most of these are typographical errors, some are due to constraints on use of identifiable types as attributes. Page 74: * identifiable CanRaise; * forward reference not defined * typedef NameList... * invalid typedef syntax * identifiable CorbaConstant: * has a feature name "Value" which classes with (inherited) MOF reflective value * identifiable CorbaEnumeration, CorbaCollection, CorbaAlias, CorbaFixed... * inherit from undefined type "CorbaNestedType" * identifiable CorbaException * relationship syntax error "is)in" * improper use of IDL keyword "raises" page 75: * identifiable CorbaInterface * "relationship supertype 0..* {ordered}" ... syntax of {ordered} invalid. * identifiable CorbaOperation * improper use of IDL keyword "raises" * "relationship arguments Many {ordered}" ... syntax of {ordered} invalid. * identifiable CorbaExceptionMember * inverse "CorbaExceptionMemeber" is not a relationship name * identifiable CorbaEnumeration * use of "{ordered}" syntax is incorrect * identifiable CorbaCollection * illegal reference to Classifier, an identifiable, from an attribute * identifiable CorbaAlias * illegal reference to Classifier, an identifiable, from an attribute * identifiable CorbaUnion * illegal reference to CorbaType, an identifiable, from an attribute * identifiable CorbaStructureMember * illegal reference to CorbaStruct, an identifiable, from an attribute RECOMMENDATION: * Page 74: * reference text: "identifiable CanRaise;" * action: remove * reference text: "typedef NameList sequence;" * action: replace with "typedef sequence NameList;" * reference text: "identifiable CorbaConstant:" * reference text: "attribute any value;" * action: replace with "attribute any constantValue;" * has a feature name "Value" which classes with (inherited) MOF reflective value * action: add "identifiable CorbaNestedType: CorbaType{};" * reference text"identifiable CorbaException" * reference text: "relationship exception_element Many CorbaExceptionMember inverse is)in;" * action: replace "is)in" with "is_in" * reference text: "relationship can_be_raised 0..* CorbaOperation inverse raises;" * action: replace "raises" with "may_raise" * page 75 * identifiable CorbaInterface * reference text: "relationship supertype 0..* {ordered} CorbaInterface inverse subtype;" * action: replace "(ordered}" with "is_ordered" * identifiable CorbaOperation * reference text: "relationship raises 0..* CorbaException inverse can_be_raised;" * action: replace "raises" with "may_raise" * reference text: "relationship arguments Many {ordered} CorbaArgument inverse operation;" * action: replace "{ordered}" with "is_ordered" * identifiable CorbaExceptionMember * reference text: "relationship is_in IsPartOf CorbaException inverse CorbaExceptionMemeber;" * action: replace "CorbaExceptionMemeber" with "exception_element" * identifiable CorbaEnumeration * reference text: "relationship enum_value Composes {ordered} CorbaEnumerator inverse enumeration; * action: replace "{ordered}" with "is_ordered" * identifiable CorbaCollection * reference text: "attribute Classifier content_type;" * action: replace with "relationship content_type Uses Classifier;" * identifiable CorbaAlias * reference text: "attribute Classifier alias_of;" * action: replace with "relationship alias_of Uses Classifier;" * identifiable CorbaUnion * reference text: "attribute CorbaType discriminator_type;" * action: replace with "relationship discriminator_type Uses CorbaType;" * identifiable CorbaStructureMember * reference text: "[required] attribute CorbaStruct defined_in;" * action: replace with "relationship defined_in Uses 1..1 CorbaStruct;" Tom Digre