Legacy Issue Number: 5852
Source: Zuehlke Engineering ( Frank Pilhofer)
I propose to introduce generic operations that allow
interconnecting ports regardless of their type. This
would ease generic programming.
The first part of the proposal is to allow generic
usage of the "connect" and "disconnect" operations
that are (currently) in the Receptacles interface,
i.e. to extend the functionality to not only work
on receptacles, but also on event source ports
(emits and publishes keywords).
The names "connect" and "disconnect" are appropriate
for any kind of port, and their signatures are the
same as "subscribe" and "unsubscribe" in the Events
The second part of the proposal is to introduce a
new operation "get_port" into the CCMObject interface.
This operation would take a FeatureName parameter and
return the object reference associated with that
facet or event sink.
So I propose the following steps:
1.) Allow connect, disconnect and get_connections to
operate on event source ports, and introduce a
This change would be backwards compatible.
2.) Move connect, disconnect and get_connections from
the now inappropriate Receptacles interface into
the CCMObject interface. This step might cause
minor, easily fixable breakage for software that
widens an object reference to Receptacles instead
of CCMObject. (I don't think any such software
exists, it's more of a theoretical issue.)
3.) Discourage, then remove the "subscribe" and
"unsubscribe" operations in the Events interface.
They don't offer any more type safety than connect
I believe that these changes would also be of interest
for slimming down CCM for the Lightweight CCM RFP, and
in light of the Streams for CCM RFP (which will likely
add another port type that needs interconnecting).
This change does not have any impact on component
implementations. The change to CCM implementations
(ORBs) is neglegible (I would expect a day to make
these changes in MicoCCM, another day to test them).
If there is general agreement on this issue, I will
draft the text updates.
Reported: CORBA 3.0.2 — Thu, 6 Feb 2003 05:00 GMT
Disposition: Deferred — CORBA 3.4
This proposal was generated automatically by request of the Task Force Chair Adam Mitz.
Updated: Mon, 30 Mar 2020 19:47 GMT