Bundt User's Manual · Bundt Toolset version 1.0.1.0

Type Models

A type model represents a portion of the world in terms of the categories that we use to classify things in it. For example, a type model of cities could describe the world in terms of cities, buildings, streets and squares.

Type models do not represent specific things in the world, that is, they don't describe individual cities, streets or buildings. Conversely, they represent categories or kinds that we employ to describe things globally. In our example, City, Street or Building are some of these categories.

Details

Type models are very useful because of their abstraction. Using only a few details, we can represent a large amount of things as long as they can be treated as belonging to the same category. For example, a type model for cities that we use to describe cities in Southern Europe is likely to work acceptably well to describe cities in a different part of the world.

Type models can also be extended, so that we can better adjust their contents to our needs.

Contents of type models

Type models are majorly composed of classes, attributes and associations:

  • Classes represent base categories, usually corresponding to countable nouns such as City, Building, Person or Song.
  • Attributes represent simple characteristics of these categories. For example, the City class could have Name and Population attributes.
  • Associations represent relationships between categories. For example, Building and City could be related through a IsLocatedIn association.

Type models may contain other kinds of model elements as well, such as generalizations, properties or enumerated types.

Confrmance of instance models

Type models are often used to create conforming instance models. An instance model that conforms to a type model allows us to describe actual things in the world by following the categories specified by the type model.

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