Bundt User's Manual · Bundt Toolset version 1.0.1.0

Predication Qualification

A value or reference in an instance model, by default, represents the fact that some statement about an entity is true in the world. No statement is made about when this characteristic is true or according to whom; it is assumed that it is true always or in the present moment, and that this truth is agreed to by everyone.

By using predication qualification, we can explicitly state when it is that something is true, and/or who thinks that this is so.

Details

Without predication qualification, a value or reference indicates that a statement about an object is true, but it is not said when it is so or who thinks it is. It is often assumed that the time span of this truth is not relevant, or that it occurs in the present (which, in itself, is quite ambiguous), or that it is always so. Similarly, it is often assumed that every person that is relevant to the model (authors, audience, etc.) agree that this statement is true. Sometimes, this is good enough. But, in some situations, we may need to state clearly in which moment something is true, and/or who agrees with such a statement. To do this, we qualify the object with one or more predication qualifiers.

A predication qualifier is another object that has temporal or subjective semantics, that is, it represents a moment or span in time, or an agent capable of perception and cognition. A temporal predication qualifier, for example, may represent a particular date/time, a well known event such as the Second World War, or a period such as the Middle Ages or the Spring of 1972. Similarly, a subjective predication qualifier may represent a particular person, a group, a community or an organisation.

A particular set of values and references of an object that are associated to a specific temporal qualifier is usually called a phase. A particular set of values and references of an object that are associated to a specific subjective qualifier is usually called a perspective.

Predication qualification is a complex topic, and can't be fully described here. Please refer to the ConML Technical Specification for additional details.

Using predication qualifiers

Let's assume that b is an object of the Building class representing a specific building, and SWW is an object of the Event class representing the Second World War. By writing b.Height@SWW = 15 we are attaching the predication qualifier SWW to the value b.Height through the temporal qualification operator @ (which is read as "at"). This means that the building b is 15 metres high only at the time of the Second World War; no statement is made about the height of b at other times.

Similarly, let's assume that p is an object of the Person class representing a particular individual. By writing b.Height$p = 15 we are attaching the predication qualifier p to the value b.Height through the subjective qualification operator $ (which is read as "according to"). This means that the building b is 15 metres high only according to p; no statement is made about what the height of b might be according to other people.

Aspect classes

The objects that work as predication qualifiers must be instances of the corresponsing aspect class.

User interface for type models

In the ModelDesigner, you can designate a class as temporal or subjective aspect in two ways:

  • By selecting it from the Temporal aspect or Subjective aspect dropdown lists in the Type Model property page.
  • By checking the Is temporal aspect or Is subjective aspect box in the Class property page for the target class.

Once we have done this, we are free to mark features (properties, attributes and semi-associations) as temporal and/or subjective. This is accomplished by checking the Is temporal and/or Is subjective boxes in the property page for the target feature. Doing so marks a feature as temporal and/or subjective, and means that any associated instance will need to be temporally and/or subjectively qualified.

User interface for instance models

If there is no designated temporal or subjective aspect class in the associated type model, Bundt assumes that everything in an instance model is temporally and subjectively agnostic, and you don't need to do anything special. However, if there is a designated tenmporal and/or subjective aspect class in the type model, then you must provide a temporal and/or subjective qualifier for features that are marked so:

Subjective Qualifier box screenshot

In the image, three special icons appear to the right of the dropdown list:

  • The Navigate icon () allows you to jump to the Object property page for the selected qualifier object.
  • The Add New Perspective icon () allows you to add a new perspective to the object, that is, a new set of values and references for a given subjective qualifier.
  • The Delete Perspective icon () allows you to delete the selected perspective from the object, together with the associated values and references.

In this manner, you can describe the characteristics of things according to different people, and examine the different perspectives for an object. The user interface for temporal qualification is very similar.

See Also


Contents distributed under a Creative Commons Attribution 4.0 International License · About · Terms of Use · Contact Us · last updated on 08 October 2020