8.2. Type and Resource Identifiers

Dealing with a Perspectives model and instances involves many things that must be identified, for example:

  • Models

  • Types (contexts, roles)

  • Instances (contexts, roles)

  • Storage locations (stores)

The Perspectives Distributed Runtime must be able, too, to find all physical resources that represent these models, types, instances and stores. In this text I explain how we build identifiers, when identifiers are locations and how we find resources whose identification is not a location.

Furthermore, we have to deal with the fact that things change. Models evolve, meaning that type definitions may change and sometimes even their names might change. The physical location of a store may change, too. This of course is complicated because the Perspectives Universe is full of things that refer to each other – by identifier. Change introduces the concept of versioning.

Finally, there is the dimension of context of usage in which an identifier must, well, identify. For some identifiers we can firmly establish that they will never leave a particular context of use: this holds for the identifier of a type in a model, for example. Others, however, may be used worldwide and should be globally unique.

The text does not begin with a full, final definition of the shape of identifiers but works towards them gradually, to build understanding of the parts and their function.