UML 2.2 RTF Avatar
  1. OMG Issue

UML22 — Component - problem with provided interfaces (see also Issue 6875, 6338)

  • Key: UML22-1259
  • Legacy Issue Number: 7178
  • Status: closed  
  • Source: PostFinance ( Karl Guggisberg)
  • Summary:

    Section "Associations" states that the derived association /provided consists (1)of the implemented or realized interfaces of the component union (2) the provided interfaces on any of its realizing classifiers union (3) the types of any of its owned ports.

    There is a problem with this definition, because the type of an owned port does not have to be an interface and because this definition does not include the set of interfaces provided by a port.

    I suggest to update the definition to:

    "provided: Interface[*] The interfaces that the component exposes to its environment. These interfaces may be Implemented or Realized by the Component or any of its realizingClassifiers, or they may be implemented by the type of any of its owned public Ports, or they may be provided by any of its owned public Ports. The provided interfaces association is a derived association (see constraint below)."

    Here's a more formal definition (which, according to the note "(OCL version of the derivation above to be added)" on page 136 is still missing )

    Constraints

    [1] provided = providedInterfaces()

    Additional Operations

    [1] providedInterfaces replies the set of interfaces the component provides

    context Component::providedInterfaces():Set(Interface) post: result = – the set of interfaces provided by the component itself – self.clientDependency >select(oclIsTypeOf(Implementation) or oclIsTypeOf(Realization)).supplier ->collect(oclIsTypeOf(Interface)) union – the set of interfaces provided by any of its realizing classifiers – self.realization.realizingClassifier.clientDependency ->select(oclIsTypeOf(Implementation) or oclIsTypeOf(Realization)).supplier ->collect(oclIsTypeOf(Interface)) union – the set of interfaces implemented by the type of any of its – owning ports self.ownedPort>select(isService = true).type >select(oclIsTypeOf(Implementation) or oclIsTypeOf(Realization)).supplier ->collect(oclIsTypeOf(Interface)) union – the set of interfaces provided by any of its owned public ports – self.ownedPort>select(isService = true).provided

  • Reported: UML 2.0 — Sun, 21 Mar 2004 05:00 GMT
  • Disposition: Resolved — UML 2.1
  • Disposition Summary:

    see above

  • Updated: Fri, 6 Mar 2015 22:54 GMT