-
Key: DDS4CCM11-17
-
Status: open
-
Source: Airbus Group ( Mr. Oliver M. Kellogg)
-
Summary:
Page 47 beneath Figure 8.13 contains:
The extended UML metamodel contains an abstract stereotype <<CORBATemplate>>, which is a generalization of <<CORBAString>>, <<CORBAWstring>>, and <<CORBASequence>> stereotypes. All <<CORBATemplate>> elements have a tag “bound” that indicates the maximum size of the element.
Page 48 CORBASequence contains:
Sequences are represented in the Profile by two means:
- Named by a typedef declaration sequences are represented by the UML DataType with the stereotype <<CORBASequence>>. Sequence members are represented by an attribute of the DataType, which always has the name “members” (profile keyword), members type is represented by the type of the “members”-attribute and the max size is represented by the multiplicity of the “members”-attribute.
[...]
Thus there appear to be two mechanisms for specifying the string/sequence bound,
- either via the «CORBAString» / «CORBASequence» stereotype tag bound
- or via the typedef-datatype attribute members multiplicity upper bound
I propose following clarification:
When defining a bounded string or a bounded sequence, * If the bound value is a plain number, the multiplicity upper bound of the "members" attribute shall be used for carrying the bound number. * If the bound is a symbolic constant then the stereotype tag "bound" shall be used. It shall carry the fully qualified name of the IDL constant.
Reason:
Use of attribute multiplicity for the symbolic constant representing the string/sequence bound is problematic.
Most UML tools do not support such symbols in the UML attribute multiplicity expression.Consider the following IDL:
module config { const short max_size = 8; }; module types { typedef string<config::max_size> name_t; typedef sequence<boolean, config::max_size> bool_seq_t; };
Here, in both cases the multiplicity of the members attribute shall not be used. Instead, the stereotype tag bound shall contain "config::max_size"
for the typedef-datatypes. - Named by a typedef declaration sequences are represented by the UML DataType with the stereotype <<CORBASequence>>. Sequence members are represented by an attribute of the DataType, which always has the name “members” (profile keyword), members type is represented by the type of the “members”-attribute and the max size is represented by the multiplicity of the “members”-attribute.
-
Reported: CCCMP 1.0 — Tue, 7 Apr 2020 19:33 GMT
-
Updated: Thu, 9 Apr 2020 18:45 GMT
DDS4CCM11 — Use of symbolic constant as string or sequence bound
- Key: DDS4CCM11-17
- OMG Task Force: DDS for Lightweight CCM 1.0 CORBA Component Model joint RTF