UML 2.2 RTF Avatar
  1. OMG Issue

UML22 — UML 2.2 superstructure section 9.3.11 page 184: Port.isService

  • Key: UML22-458
  • Legacy Issue Number: 13083
  • Status: closed  
  • Source: Model Driven Solutions ( Steve Cook)
  • Summary:

    The definition of Port.isService appears to be redundant with the concept of public/private visibility. Is it valid for an isService=true Port to be private, or for an isService=false Port to be public? What about protected and package visibility for Ports?

  • Reported: UML 2.1.2 — Mon, 17 Nov 2008 05:00 GMT
  • Disposition: Resolved — UML 2.2
  • Disposition Summary:

    From Bran Selic:
    Please note that isService=false is intended for modeling so-called SPPs (service provision points) in UML-RT. SPPs are ports that are used by the implementation of a structured class to access run-time services of the underlying support layers. In contrast to ports for which isService=true, SPPs are implementation specific – in other words, they are not part of the services that a component publishes to its clients. On the other hand, they must be public ports or you will not be able to connect to them from the outside.

    It is a subtle distinction but an important one. The notion of implementation-specific interfaces is one that has, unfortunately, been generally missed in programming languages. It is a key element of layering.

    If you remove this capability, you will certainly invalidate a lot of models based on this notion.

    Revised Text:

    Disposition: Closed, no change.

  • Updated: Fri, 6 Mar 2015 20:58 GMT