Return to CLIP Main Page
Next: Using Active Modules: An
Up: Document: distrib_imperial
Previous: Producer-Consumer: Linda Version
- Modules to which computational resources are attached.
- High-level model of client-server interaction.
- An active module is a network-wide server for the predicates it
exports.
- Any module or application can be converted into an ``active module''
(active object) by using a special form of save:
:- save_active_module(Filename, Addr, Report_Addr).
(Report_Addr is code to report Addr)
- Procedures can be imported from remote ``active modules'' via a
simple declaration: E.g.
:- use_active_module(Name, [P/N, P/N,...]).
- A hook predicate to locate active modules (configurable):
module_address(Name, Addr)
- Calls to such imported procedures are executed remotely in a
transparent way.
- Example application: client-server. Client imports module which
exports the functionality provided by server. Access is transparent
from then on.
- Typical examples of active objects: databases, name servers,
agendas, WWW form handlers, WWW cgi-bin servers, demons (ftp,
telnet, ...), etc.
- Implementation: built as an abstraction on top of
ports/sockets (can also be easily built on top of a blackboard).
<herme@fi.upm.es>-< webmaster@clip.dia.fi.upm.es>
Last updated on Mon Mar 31 21:20:55 MET DST 1997