Bundt User's Manual · Bundt Toolset version


ConML stands for "Conceptual Modelling Language". ConML is a modelling language designed for non-experts in information technologies to create and develop their own conceptual models. ConML is very simple, but you can use it to represent very complex ideas in a meaningful and powerful way.

The Bundt Toolset is based on ConML. For this reason, it is crucial that you are familiar with ConML before you do any significant work with the Bundt Toolset.

This page provides a very brief overview of ConML. For more information and supporting documentation, please see the ConML web site .


ConML allows you to create conceptual representations of the world named models. A model represents a portion of the world that is of interest to you, such as the way an organisation works, the structure of a car engine, or an ongoing social process.

Every model is made of model elements. A model element is a simple conceptual entity that describes something in the world. For example, you can use an object to represent a chair or a song; or you can use an attribute to represent the fact that songs have titles. Objects and attributes are examples of model elements.

Types of models

There are two types of models in ConML:

  • Instance models, which represent the world in terms of the actual entities there are.
  • Type models, which represent the world in terms of the categories that we use to classify entities.

Each model type may contain elements of different kidns. For example, attributes exist only in type models, whereas objects exist only in instance models.

Relationships between models

Models may be related amongst them in different ways:

  • Every instance model conforms to a type model. This means that the entities represented in the instance model must fit into the categories stipulated by the type model.
  • A type model may extend from another type model. This means that the extended model receives and reuses all the model elements in the base model.

ConML models can qualify predication and existence through temporality and subjectivity, as well as deal with multilingualism. These features are collectively referred to as aspects. An aspect is a cross-cutting concern that is supported by the language in a systematic and homogeneous manner.

For example, let's consider temporality. Many characteristics of things in the world change over time. Accordingly, we can represent this change in a model by capturing different values for different moments. For example, a Buliding class may have a Height attribute that is temporal, meaning that we can record the height of every building at different moments in time. Subjectivity and multilingualism work in a similar manner, by allowing us to describe things from differents points of view or in diferent languages.

Further information

ConML is simple, but a complete description doesn't fit here.

Please visit the ConML web site for a full account of ConML, and read the ConML Technical Specification if you are interested in a complete technical description of the language.

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