Re: RTT-Introspection and how to do it ?

Sylvain Joyeux <[email protected]> Tue, 24 Mar 2015 08:59:29 -0300
Newsgroups gmane.science.robotics.orocos.devel
Message-ID <CAFENT7JzB5Ji+FRq1hxTV7EoLBcJxZdugmPTprrY5GZb6G1QJg@mail.gmail.com>
@Janosch: re-sending it to get it to the ML as well.

2015-03-23 7:16 GMT-03:00 Janosch Machowinski <[email protected]>:
> I'm currently working on adding Introspection somehow.
> My first approach was to add the ability to get the TaskName and PortName
> for each side in the connection. In the merge request it was mentioned,
> that this would not be enough in order to cover all use cases.

My point in the pull request, that I make again here, is that the
proper, system-wide, "identification" of the ports is
toolchain-specific. Rock would do it differently than you with your
orocos-cpp, than probably the next guy who uses RTT in a different
context. You, yourself, mention TaskContextServer. That's CORBA. What
about people not using CORBA ?

That's the power of RTT, having been very careful about keeping the
core clean of such concerns. And this is why the only functionality
that should be provided by RTT is the ability to store and retrieve a
caller-provided string to identify the channels. Leave the details of
how name resolution is performed, and what information is needed, to
the environment which knows best. I.e., NOT RTT.

For convenience, I suggested to add that information in the policy. I
say "convenience" as the policy is already passed along when
connecting ports.

I would even add that we could use the opportunity to revive the idea
of having a generic key-value pair list in the policies to in-fine
replace the confusing list of parameters we have right now (who knows
that pull only applies to direct or CORBA connections ?). This would
allow storing (and therefore, exposing to the distributed system)
metadata information in connections while, again. leaving RTT out of
them.

THEN you can auto-fill this field with a sane default, if it is not
yet filled, in the current RTT code:
 - first in the local input/output ports (plain task and port name)
 - then in the CORBA layer to account for the fact that names are not
propagated through the CORBA interface BUT are known at the level of
the proxies.

Sylvain

2015-03-23 7:16 GMT-03:00 Janosch Machowinski <[email protected]>:
> Hey,
> I'm currently working on adding Introspection somehow.
> My first approach was to add the ability to get the TaskName and PortName
> for each side in the connection. In the merge request it was mentioned,
> that this would not be enough in order to cover all use cases.
>
> So my big question would be, what information do we need
> to do a proper connection trace ?
> URI of the TaskContextServer ? This seems not to cover
> the ROS usecase...
>
> Greetings
>      Janosch
>
> --
>   Dipl. Inf. Janosch Machowinski
>   SAR- & Sicherheitsrobotik
>
>   Universität Bremen
>   FB 3 - Mathematik und Informatik
>   AG Robotik
>   Robert-Hooke-Straße 1
>   28359 Bremen, Germany
>
>   Zentrale: +49 421 178 45-6611
>
>   Besuchsadresse der Nebengeschäftstelle:
>   Robert-Hooke-Straße 5
>   28359 Bremen, Germany
>
>   Tel.:    +49 421 178 45-6614
>   Empfang: +49 421 178 45-6600
>   Fax:     +49 421 178 45-4150
>   E-Mail:  [email protected]
>
>   Weitere Informationen: http://www.informatik.uni-bremen.de/robotik
>
> --
> Orocos-Dev mailing list
> [email protected]
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev
-- 
Orocos-Dev mailing list
[email protected]
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev