Configuration

The term for a meta-object representing some "state of affairs": requirements on the relationships between some collection of objects. Configurations are basically the subject matter of a specification: a specification's expression can specify a number of objects to be involved and a certain amount of higher-order information about them and the operations upon them.

Traditional systems can be described as consisting of certain objects present in certain slots in a global namespace object or structure, and operations defined on those in certain ways in order to say that "feature X is implemented".

The term arises from common software terminology since it accurately described a certain state of the world, and works at different levels: people use it for options and their values in files as well as directory structures and permissions at the large scale. For TUNES, it's a bit more general, because attributes are not just slots. In fact, they can be anything but slots; they just have to present the same style of interface as an attribute. So really, a configuration lifted to this level of abstraction can describe functional tests, like assertions.

Non-obvious applications of the concept include syntax term trees, which are a kind of information structure that naturally is coupled with higher-order information, but are not a type of collection in the ordinary sense. Another application is the use in describing the relationships between intermediate and end-results in a computation; in this way, multiple-values results can be described in a general way (Note: the abstractness of the attribute concept means that evaluation order, future-ness of values, and such are invisible from the perspective of the configuration).


This page is linked from: Hermes