Re: [Core] Components design
"Henrik I. Christensen" <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.user |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "HB" == Herman Bruyninckx <[email protected]> writes: HB> On Fri, 7 Sep 2001, Anthony Mallet wrote: [...] >> Your remark make me think of this: >> >> 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. Hi You can find examples of how this is achieved by looking at the Corba Transactions Services. This might not be the mechanism that we want to use, but it is similar in spirit. I.e. you might want to have a localisation service, for your system and have it independent of the underlying methods for pose estimation for the vehicle. This way it may be "transparent" if pose estimation is based on a laser scanner, odometry, GPS, sonar, ... I.e. you request a service and get the one available on a particular platform. Such an approach has advantages and disadvantages: ++ You get a method that is independent of the actual implementation -- You can not exploit specific methods available in a particular implementation. 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. I hope this makes sense. Henrik