On 08-Apr-01 Bobby D. Bryant wrote: ... > The solution that I came up with is to create a generic package for > the > common code for the slaves, create an instance of that package for > each > slave, and have the .cfg file assign each instance to a different > processor. However, since the Remote_Call_Interface pragma seems to ... You can dynamically add and remove clients even if the machine didn�t exist when the cfg files were made. But the clients are not accessed by an RCI -- RCIs are too static. You have to use dispatching calls for that. Example: 1. make a pure package ("Places") containing something like type Abstract_Place is abstract tagged limited private; procedure doit1(Where: access Abstract_Place;...) is abstract; procedure doit2(Where: access Abstract_Place;...) is abstract; (All the subprograms take a parameter "Where") This allows the server to call the subprograms. 2. a "non netwide" package ("Places.Local") containing something like: type Place is new Abstract_Place with private; Override the subprograms with what You need. This package is used by the clients. Note that every partition has it�s own type "Place". 3. a "non netwide" package("Terminals.Local.Identification") creating a variable of that type: Id: aliased Places.Local.Place; 4. The client partitions transfer that "Id" as a parameter to the server using the servers remote call interface. 5. The server should maintain a list of these ids and use them as parameters for all the subprograms which should be executed in the client partitions. The call will be dispatched according to the Id-Type and so it will use the correct partition. Wilhelm