Legacy Issue Number: 14065
Source: Model Driven Solutions ( Steve Cook)
In RedefinableTemplateSignature.Associations we have this
extendedSignature : RedefinableTemplateSignature[*] The template signature that is extended by this template signature. Subsets RedefinableElement::redefinedElement.
It should read “The template signatures that are extended ...”
Similarly the constraint says:
The inherited parameters are the parameters of the extended template signature.
And should read “extended templates signatures”.
More seriously, the semantics says nothing about what happens when more than one of the extended template signatures have parameters with the same name. Is it an error? Are they merged (in which case what happens if they are different types)? Are they all there in which case what is the syntax for differentiating them? (e.g. Super1::T : Class, Super2::T : Class)
Reported: UML 2.2 — Fri, 10 Jul 2009 04:00 GMT
Disposition: Resolved — UML 2.3
Correct the plurals, and explain that qualified names will be used to differentiate in the case of clashes. Fix
the logic of qualified names so that template parameters have them. This is a bit tricky because TemplateParameter,
TemplateSignature, TemplateableElement and ParameterableElement do not specialize NamedElement.
The approach adopted is to change the allNamespaces() operation on NamedElement so that if the
template is a namespace, it is used as the enclosing namespace for the ParameterableElement, which is in
fact guaranteed to be a NamedElement because all specializations of ParameterableElement are
Updated: Fri, 6 Mar 2015 20:58 GMT