CML Overview

A CML domain theory consists of a set of quantified definitions, called model fragments, each of which describes a type of phenomena or entity in the domain's physics, such as processes (e.g., liquid flows), devices (e.g., transistors), and objects (e.g., containers). An instance of a definition is said to be active whenever there exists a set of entities in a model that satisfies the conditions stated in the definition. A model fragment's consequences hold when an instance of the model fragment is active. Model fragment consequences are typically equations that describe the behavior of the entities that satisfy the model fragment's conditions.

A specific system or situation being modeled is called a scenario. The model of a scenario in a domain theory consists of model fragments instances from the theory that are activated by the scenario definition.

The role of a modeling engine, such as DME, is to identify the set of model fragment instances that are active in a scenario and compose a mathematical model from the consequences of the activated instances. This mathematical model may then be simulated or analyzed.

The semantics of CML is defined in logic. This allows the use of logic-based tools such as Ontolingua to provide analysis of the domain theory itself. CML contains a hierarchy of foundation domain theories, including sets, dimensions, and units of measure. These foundation theories were developed as ontologies in the ARPA Knowledge Sharing Effort.