Dear Orocos Development Team,
Since this e-mail is my first e-mail to the orocos-dev mailing-list, I'd
like to say "Hello" first to everyone :-)
So, now back to work: For the task of separating the implementation of
task context server and the therewith connected name service
for transportation means and RPCs, I forked the rtt repository under my
name in order to add an additional layer for remote communication.
This abstraction layer claims the following:
* Decoupling of the implementation of task context server and name
services,
hence more flexibility in terms of using different implementations
* General API, which is applicable to all different implementations
* Backwards compatibility, i.e. interfaces, e.g. for old applications
using CORBA, shall remain (for example by using an adapter)
The basis for this decoupling process s the introduction of two
component factories, one for the task context server and one for
the different name service implementations (see the two class diagrams
attached).
They provide the functionality of creating different task context server
and different name service implementations
based upon the type specified (see the enumeration class diagram).
The usage will encompass the following steps and is demonstrated by the
enclosed code snippet and sequence diagram:
1. Create a task context
2. Create a task context server and initialize it with the task context
created before
[This can be done multiple time for the different kind of task
context servers]
3. Store each task context server in an array/collection
4. Create a name service and register the different task context server
under self-defined name
[This can be done for each name service as well]
Up to now, I've implemented the architecture in terms of types,
interfaces and members. Before I go any further,
I'd like to ensure to be on the right track.
Could you therefore please review the code under "rtt/rtt/remote" and
provide any feedback for the architecture
and the interfaces specified.
If you have any questions, don't hesitate to contact me via e-mail or
phone. I appreciate your comments!
Best regards,
Bernd
Attachment | Size |
---|---|
CD_NameServiceFactory.png | 9.1 KB |
CD_TaskContextServerFactory.png | 12.58 KB |
CD_Enumerations.png | 2.75 KB |
CodeSnippet.cpp | 1.04 KB |
SD_TaskContextServer-NameServiceConnectivity.png | 17.42 KB |