Next: Conclusion
Up: Linkage in the Nemesis
Previous: Pervasive Interfaces
Machine addresses provide unique identifiers for interfaces
within one machine, but a higher-level naming scheme is
required for several reasons, for instance:
- We want to refer to entities in distributed systems, which have
rather different naming requirements.
- On a single machine, programs do not know addresses of other
components when they are linked. These must be determined using other
names at load time and run time.
- Human-readable names are required for users, managers
configuring the system or examining it remotely, and programmers
building and debugging it.
The important thing to realise is that these naming issues are
completely orthogonal to the idea of a single address space, and so
almost any existing name space scheme can be used. Our approach is
currently based on a directed graph of contexts referred to with
pathnames, together with a simplified version of the ANSA Trader's
constraint language ([]). This allows us a lot of
expressive power in the name space when we need it (and extends
naturally to the distributed case), but in well-known contexts with
few or no constraints name lookup can be extremely fast.
T. Roscoe