12.5 Multiagent Systems

Multiagent systems are systems in which two or more agents cooperate, collaborate, negotiate, or compete toward the solution to some problem. The C++ software developer has several options for implementing multiagent systems. Agents can be implemeted in separate threads using the POSIX thread API. This method divides a single program into multiple threads where each thread contains one or more agents. Therefore, each agent shares the same address space. This allows the agents to easily communicate using global variables and simple parameter passing. If the computer the program is running on contains more than one processor, then the agents can perform their activities in parallel. Obviously each agent should have the necessary synchronization objects defined, as discussed in Chapters 5 and 11, and the exception handling components , as discussed in Chapter 7. Multiagents implemented with multithreading are the easiest approach but limits the agents to a single computer. The most flexible approach to multiagents is using a CORBA implementation. The CORBA standard has a MAF (multi-agent facility) specification in addition to the core CORBA specification. The MICO implementation that we use in the CORBA examples in this book can be used to implement agents that can interact over the Internet, over intranets , and over local networks. The C++ binding of the CORBA standard has complete support for the object-oriented metaphor and therefore has inherent support for agent-oriented programming. In Chapter 13, we discuss how the PVM and MPI libraries can be used to support agents in a parallel and distributed programming context.



Parallel and Distributed Programming Using C++
Parallel and Distributed Programming Using C++
ISBN: 0131013769
EAN: 2147483647
Year: 2002
Pages: 133

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net