Re: About component architectures...

"Cezary Zielinski" <[email protected]>
Newsgroups gmane.science.robotics.orocos.user
Message-ID <[email protected]>
> > If that is so, I would prefer not to make this distinction. From a
> > general point of view they are the same. Service request provides
(possibly)
> > some data and an internal state change as a byproduct, and the
> > configuration/state change request provides (usually) NULL data and the
> > needed change of parameters or internal state. To me that is more or
less
> > the same, thus no need to introduce the distinction. This might also
> > simplify the implementation. Such distinctions usually lead to seperate
code
> > for each of the cases.
>
> Don't forget that we have different interfaces because we have
> different users! The Application Builder will want to do explicit
> (re)configurations; the End User wants to execute actions, that,
> without the End User noticing it, will involve state and parameter
> changes in the component. I do think we have to separate both, because
> the Application Builder must have the possibility to block a End User
> from sending his service requests while he is configuring.
>

I still would not make that distinction. Any configuration request should
internally within the component block other requests (both other
configuration and service requests). Such a request would change the mode of
operation of the component. In what I am proposing you have only one - let
us cll it - interpreter of requests. This interpreter not only executes the
requests but also chcnges the internal state of the component. If you make
the distinction you might end up with two different visions and thus
implementations of a component. On the one side you have a configuration
handling component vision and on the other hand you have a service handling
vision of the component. This should lead to two interpreters of requests
and a complicated switching mechanism between them. If on the other hand you
stick to a single interpreter then why make the distinction? I would not
worry about different users. Each one of them would simply use a subset of
all possible requests. Treat the above only as a voice in the discussion,
but maybe it is worth considering? It might lead to the simplification of
the code of the component.

> > Do you need to introduce the concept of a supervisor at all?
> I hope not. And in most cases it will not be necessary. But it should
> be there if needed.
>
> [...]
> > Introduction of a supervisor might lead to a misunderstanding that the
> > framework that we are proposing has a hierarchic structure with a single
> > element controlling the whole system - and I though that we don't want
that.
>
> Indeed we don't want that! But I see where the misunderstanding lies:
> my mails were about the _internal_ architecture of a component, not
> about the whole system. That's the business of the Application
> Builder, not of Orocos :-) Any `supervisor' I talk about is invisible
> outside of the components (except maybe for the Application Builders
> that need it to, for example, reconfigure the internals of the
> component: changing control laws, tune parameters, ...).

OK - now I understand. By the way, the above mentioned interpreters would be
a part of that component supervisor.

Cezary

>
> Herman
>
> --
> K.U.Leuven, Mechanical Engineering, Robotics Research Group
> <http://www.mech.kuleuven.ac.be/~bruyninc>  +32 16 322480
>
>
> _______________________________________________
> Orocos mailing list
> [email protected]
> http://mail.mech.kuleuven.ac.be/mailman/listinfo/orocos
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.