Agent-Based Systems (ABS) is the merger of two important programs: Open Distributed Processing (ODP) and Distributed Artificial Intelligence (DAI).
ODP is a reference architecture for systems constructed from distributed, heterogeneous components. Components communicate by passing messages. A component has one or more unique identifiers. A component is either a service requestor, a service provider, or both. A service provider component implements one or more interfaces. Associations between interfaces and the identifiers of implementing components are maintained by registries. A registry is like the yellow pages section of a phone book. Using a registry, a client component can dynamically locate and interact with the provider components it needs. This is called discovery. (See http://www.joaquin.net/ODP/).
There are several notable implementations of the ODP architecture. The best known is the Object Management Group's (http://www.omg.org/) Object Management Architecture or OMA. The OMA reference architecture envisions layers of applications, services, and facilities, all written in different Object-Oriented languages. Remote method invocation is provided by an object request broker or ORB. (In fact OMA better known as CORBA-- Common Object Request Broker Architecture).
Microsoft's COM (Component Object Model) architecture implemented ODP for programs running on the same Windows platform. This enabled the popular Object Linking and Embedding (OLE) technology. The DCOM extension allowed OLE to reach across networks.
Java RMI implemented ODP for cooperating Java programs.
The Web Services Architecture (WSA) is the latest implementation.
Black Board Architecture