UML 2.6 RTF Avatar
  1. OMG Issue

UMLR — UML 2: notation and concepts for unbound and un-owned template parameters are not clear

  • Key: UMLR-177
  • Legacy Issue Number: 14078
  • Status: open  
  • Source: Model Driven Solutions ( Mr. Steve Cook)
  • Summary:

    When creating classifier templates, it is possible to have template parameters that are not owned by the classifier, in at least the following situations:

    1. When the classifier is a partial binding, i.e. it is bound to a template classifier but not all the parameters are bound

    2. The classifier extends a template classifier and has a redefined signature.

    In these cases, what is the notation for the non-owned parameters? Let’s say, for example, that we define C1[A: Class, B: Class]. Then we create C2<A->G>. Does the notation for C2 show a parameter box with B, indicating that B remains to be bound?

    Indeed, from a metamodel point of view, is it correct for C2 to have a signature that refers to B as one of its non-owned parameters, or is C2’s signature “derived” according to “In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived.”

    Similarly, given C1[A: Class, B: Class], let C3 inherit from C1. Does the notation for C3 show a parameter box with A and B?

    Let C3 inherit from C1 and also be bound to it. Is it possible for the formal parameter A defined in C1 to be substituted by the formal parameter A defined (by inheritance) in C3, according to the statement in 17.5.3: “In case of complete binding, the bound element may have its own formal template parameters, and these template parameters can be provided as actual parameters of the binding”?

  • Reported: UML 2.5 — Wed, 15 Jul 2009 04:00 GMT
  • Updated: Fri, 6 Mar 2015 20:57 GMT