11.1. Binder versus Filler terminology

Unfortunately, in the implementation of the PDR we use a different set of terms for connecting roles than in the language definition.

11.1.1. Representation

In the implementation we have a member in the representation of a role instance that is named binding. This points to the role that fills it.

Conversely, from roles we keep tabs on what other roles are filled by it. These are the filledRoles (actually, the implementation uses a Dutch term: gevuldeRollen).

11.1.2. Functions in Purescript: binding, binder <Role>

In Purescript we have a function for traversing the link in both directions:

  • binding traverses from filled to filler;

  • binder <filled> traverses from filler to filled.

11.1.3. Type level language: fills, filledBy

In the Perspectives language, a role type definition is given partly in terms of the keyword filledBy. This uses a different metaphor. The converse would be fills, but we do not have that (yet).

11.1.4. Instance level language (queries): filled, filler

Currently, we have query steps binding and binder (the latter to be specified with a role type). This will be filler and filled R respectively. 'fills' comes to mind as an alternative to filled, so why this choice? Because the other basic query steps indicate where we 'move to' or what the result is:

  • context

  • <a roletype>

  • filler

  • and therefore filled

Old New

binding

filler

binder R

filled R

11.1.5. Put together

The following figure depicts the relations in terms of the new keywords.

image

Figure 1. The two links that connect two roles. The red terms are query keywords.