Go to the previous, next section.
This release of ILU includes an experimental simple binding/naming facility. It allows a module to publish an object, so that another module can import that object knowing only its object ID (as defined in section ILU Concepts). The interface to this facility is deliberately quite simple; one reason is to allow various implementations. This release includes one (extremely preliminary) implementation.
The interface consists of three operations: Publish, Withdraw, and Lookup. Publish
takes one argument, an ILU object. Publish
returns a string that is needed to successfully invoke Withdraw
. Withdraw
undoes the effects of Publish
, and takes two arguments: (1) the object in question, and (2) the string returned from Publish
. In some langauge mappings, the string is not explicitly passed, but conveyed in the language mapping's representation of ILU objects. Lookup
takes two arguments: an object ID and a type the identified object should have. If the object with that ID is currently being published, and has the given type (among others), Lookup
returns that object.
The implementation shipped with this release of ILU uses a filesystem directory (specified in the file `ILUSRC/imake/local.defs') to store information on the currently published objects. To be useful in a distributed system, this directory must be available, by the same name, on all machines in the system.
Go to the previous, next section.