SEC. 9.1 CORBA 513
Region
Agent Agent |
Agent |
Agent Agent |
Agent |
Agent Agent |
Agent |
Agent system A |
Agent system B |
Agent system C |
Communication with agent systems in other regions |
Standard CORBA interface |
|
|
|
Figure 9-13. CORBA’ s overall model of agents, agent systems, and regions.
originally support a notion of place, it should nevertheless provide one.
Each region will have an associated finder, which allows it to find the location of the agents, places, and agent systems within that region. The finder offers a number of standard operations for registering and unregistering agents, places, and agent systems. In essence, a finder is nothing but a simple directory service for a region.
Further details on mobile agents in CORBA can be found in( OMG, 2000e).
9.1.4 Naming
CORBA supports different types of names. The most basic type of naming appears in the form of object references and character-based names as supported by the CORBA naming service. In addition, there are a number of advanced naming facilities, whereby objects can be found based on associated properties. In the following, we take a closer look at basic naming in CORBA, concentrating on object references. For advanced naming facilities as available through CORBA’ s trading service, the reader is referred to( OMG, 2001a; OMG, 2000b).
Object References
Fundamental to CORBA is the way its objects are referenced. When a client holds an object reference, it can invoke the methods implemented by the referenced object. It is important to distinguish the object reference that a client process uses to invoke a method, and the one implemented by the underlying ORB.
A process( be it client or server) can use only a language-specific implementation of an object reference. In most cases, this takes the form of a pointer to a local representation of the object. That reference cannot be passed from process A to process B, as it has meaning only within the address space of process A.