Re: Updated dataflow semantics for RTT

Herman Bruyninckx <[email protected]> Mon, 28 Sep 2015 14:43:32 +0200 (CEST)
Newsgroups gmane.science.robotics.orocos.devel
Message-ID <alpine.DEB.2.11.1509281438190.30972@pma-15-011>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-492900143-1443444220=:30972
Content-Type: TEXT/PLAIN; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On Mon, 28 Sep 2015, S Roderick wrote:

> On Sep 27, 2015, at 08:11 AM, Herman Bruyninckx=20
> <[email protected]> wrote:
>
> On Mon, 21 Sep 2015, Johannes Meyer wrote:
>
> Dear Orocos community,
> during the last few weeks we have been working on the concept and=20
> implementation of a major redesign of the Orocos
> RTT dataflow, that we would like to share and ask for your valuable fee=
dback.=20
> There was already a previous
> discussion on the mailing list about the topic earlier this year [1], a=
nd the=20
> following proposal tries to address
> all the issues mentioned there.
>
> With the version 2 of the Orocos toolchain some years ago, the previous=
 data=20
> flow architecture, which was based on a
> single data object and buffer shared between all ports participating at=
 the=20
> same connection, was replaced by a
> connection architecture based on data flow, where each pair of output a=
nd=20
> input ports (or streams) is connected
> through an individual channel, each having its own data object or buffe=
r.=20
> While there was a well substantiated
> motivation for this update and it solved some of the shortcomings in RT=
T=20
> version 1 [2], it also introduced some new,
> sometimes hidden, problems and broke other use cases. One example is an=
 input=20
> port with multiple connections, where
> due to the ambiguity in which channel to read from the result is someti=
mes=20
> unexpected to the user, who expects that
> each write overwrites previous samples in case of simple data connectio=
ns.
>
> We assembled a document (see attachment, or [3]) which introduces the v=
ersion=20
> 1 and version 2 data flow semantics
> for those who are not aware of the details, three example use cases and=
=20
> presents the new dataflow architecture we
> have in mind, which ideally works for a superset of use cases that are=20
> supported by RTT version 1 and 2.=C2=A0
>
> We do not want to go into details here, so only a short summary for tho=
se who=20
> do not want to read the full document:
> We propose to add two more boolean flags to the ConnPolicy struct that=20
> describes the type of connection between two
> ports: "shared" and "mandatory". Furthermore the existing "pull" flag, =
which=20
> was only meaningful for remote
> connections, now has a big influence for local connections.
>
> "push" vs. "pull"
>
>
> Thanks for this nice effort. I think it is really time to consider a ne=
xt
> generation of Orocos RTT...
>
> If you allow me to bring in my two cents... It's possible that you won'=
t like=20
> the
> message, or find it off-topic, but I think I should share it with you a=
nyway=E2=80=A6
>
> These are interesting ideas Herman, but=C2=A0you're right in that they'=
re somewhat=20
> off topic. For this discussion we are interested in the here and now - =
in=20
> evolutionary and incremental changes to a product=C2=A0that has served =
many of us=20
> fairly well.

The evolution from the current "data flow architecture" to a "event strea=
m"
_can_/_could_ be done in an incremental way...
Policy by policy. (i.e., pull/push; read/write; buffer/port;...)=20
Separation by separation. (i.e., component/activity/thread/OS; pub/sub to
event stream;...)

> Personally, I'm not so worried about "better" as I am worried=20
> about "good enough".

I am mostly interested in "simple". Because that is what determines how
much of the potential mind share a project actually gets.
(Mind that I am not interested in "easy", which is the driver for ROS, an=
d
that serves another public well.)

> I'd be interesting in exploring some of what you've said here in=C2=A0a=
nother=20
> discussion.

Fine! :-)

> Cheers
> Stephen

Herman

>
>
--8323329-492900143-1443444220=:30972
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-- 
Orocos-Dev mailing list
[email protected]
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev

--8323329-492900143-1443444220=:30972--