Re: [Core] Components design
Herman Bruyninckx <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.user |
|---|---|
| Message-ID | <Pine.LNX.4.33.0109082033240.21038-100000@pc25-213.mech.kuleuven.ac.be> |
On Sat, 8 Sep 2001, Henrik I. Christensen wrote:
> >> There can be *several* modules providing basically the *same*
> >> functionality to the rest of the "system" ("system" should be
> >> in the glossary ;). For instance, I want to be able to run
> >> several localization algorithms at the same time.
>
> You can find examples of how this is achieved by looking at the Corba
> Transactions Services.
Do you have some good on-line links for these CTS?
(A Google search didn't give really satisfactory results... I have the
impression that there is no open source implementation of these yet?)
> ++ You get a method that is independent of the actual implementation
> -- You can not exploit specific methods available in a particular
> implementation.
We often want both... Anybody has a good idea about how we would
implement a service in such a way that it uses the most efficient
implementation when needed/desired, and a platform-independent one in
general? For example: components can exchange information about
positions and orientations of a robot end-effector in homogeneous
transformation matrix form, but sometime other representations might
be more appropriate (e.g., when both modules convert to
homogeneous transformation matrices for the purpose of communication
only).
> The idea is that you request a "service" rather than a specific
> implementation. To achieve this the "components/modules" have to
> register "services" with a broker rather than only a name. To
> accommodate this we might need to extend the concept of a NameServer
> with a ServiceServer that delivers a spec of the services available in
> a system.
Good suggestion... Isn't this the idea behind the UDDI standard?
(Universal Description, Discovery, and Integration)
<http://www.uddi.org/>
``UDDI enables a business to (i) describe its business and its
services, (ii) discover other businesses that offer desired services,
and (iii) integrate with these other businesses.''
Herman
--
"I decry the current tendency to seek patents on algorithms. There are
better ways to earn a living than to prevent other people from making
use of one's contributions to computer science." D.E. Knuth, TAoCP 3