Legacy Issue Number: 13083
Source: Model Driven Solutions ( Steve Cook)
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
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.
Disposition: Closed, no change.
Updated: Fri, 6 Mar 2015 20:58 GMT