Compositional Modeling

Compositional modeling is a new methodology for modeling that generalizes some of the modeling ideas in Qualitative Process theory. Compositional modeling provides explicit representations for modeling assumptions to support automatic formulation of models. We call it compositional modeling because, like QP theory, the model for a specific scenario is composed of fragments from a general-purpose domain theory. What we have added is a set of conventions for simplifying assumptions, system boundaries, and operating assumptions, which allow inconsistent model fragments to exist within the same domain theory. Thus the same domain theory can be used to build models with different perspectives (e.g., a volumetric view of a system versus a thermal view), different levels of granularity (e.g., reasoning about the furnace in a boiler system as a black box or as something consisting of several other parts), and different approximations (e.g., viewing a container as finite versus as an infinite fluid source).

The box contains a simple example of how such modeling assumptions can be represented. Notice that fluid-flow can, in the simplest case, ignore path conductance (at least for purely qualitative analyses, since some multiplier is needed to scale the pressure differential for even the simplest quantitative model). Path conductance can be factored in as a single parameter, or this parameter in turn could be viewed as dependent on properties of the geometry of the fluid path. Notice that in each of these different perspectives, the underlying commonalties of fluid flow do not change. The representation language supports this by allowing the composition of model fragments to create a task-specific model of a situation.

(defprocess (fluid-flow ?src-cs ?dst ?path)
Individuals ((?path :type Fluid-Path
:conditions (Possible-Path-State ?path ?st)
(Connects-To ?path ?src ?dst))
(?src-cs :type Contained-Stuff
:form (c-s ?sub ?st ?src)
:conditions (Filled ?path ?src-cs))
(?dst :type container))
Preconditions ((Aligned ?path))
QuantityConditions ((greater-than (A (pressure ?src-cs))
(A (pressure ?dst))))
Relations ((Quantity flow-rate))
Influences ((I+ (amount-of-in ?sub ?st ?dst) (A flow-rate))
(I- (amount-of-in ?sub ?st ?src) (A flow-rate))))
(defperspective (simple-fluid-rate ?pi)
Individuals ((?pi :type (process-instance fluid-flow)
:conditions (Active ?pi)
(?pi src-cs ?src-cs)
(?pi dst ?dst))
(?path :conditions (?pi path ?path)
(not (Consider (fluid-conductance ?path)))))
Relations ((Q= (flow-rate ?pi) (- (pressure ?src-cs)
(pressure ?dst)))))
(defperspective (variable-fluid-rate ?pi)
Individuals ((?pi :type (process-instance fluid-flow)
:conditions (Active ?pi)
(?pi src-cs ?src-cs)(?pi dst ?dst))
(?path :conditions (?pi path ?path)
(Consider (fluid-conductance ?path))))
Relations ((Quantity (pressure-delta ?src-cs ?dst))
(Q= (pressure-delta ?src-cs ?dst)
(- (pressure ?src-cs) (pressure ?dst)))
(Q= (flow-rate ?pi) (* (pressure-delta ?src-cs ?dst)
(fluid-conductance ?path)))))
A simple example of how modeling assumptions are represented and used.


Modeling assumptions link physics to the goals of an analysis. When checking if a new design is feasible, for instance, an engineer might ignore faults at first to see if the proposed system can work at all. Once it is established that the design might work, potential failure modes are worth considering. This modulation of detail during an analysis is common, and capturing this ability is a crucial goal of qualitative physics. Our method works like this. The input to a model formulation program includes a description of the system to be modeled and the domain theory. The system to be modeled is described as an abstract structural description, specifying the type of each part and their physical interconnections. The model formulator builds a model of the system by instantiating the fragments of the domain theory that are relevant to the kinds of parts and relationships between them, controlling which pieces of knowledge are applied according to the modeling assumptions in force during the analysis. In one domain theory we used over twenty different global modeling assumptions. For instance, if phase changes are being considered, one may choose to include the latent heat of vaporization or not, according to its relevance. Similarly, several different models for what affects the rate of fluid flow are included (shown in part in the box). The most detailed includes a model of the path's conductance and pressure difference across it, while the least detailed simply postulates the rate to be a positive constant. These global assumptions in turn can imply additional choices, according to the specific system being modeled. For example, one can choose to include or ignore gases globally, or only ignore them in places where they are not intended to be (e.g., the feed tank or lube oil sump of a steam plant).

Selected Relevant Papers

Falkenhainer, B. and Forbus, K. (1988). Setting up Large-Scale Qualitative Models. Proceedings of the American Association for Artificial Intelligence (AAAI-88), St. Paul, MN, 301-306.

Falkenhainer, B. and Forbus, K. (1991). Compositional modeling: Finding the right model for the job. Artificial Intelligence, 51, 95-143.

Relevant Projects

Qualitative Reasoning for Engineering Problem Solving

Building and Using Large Common Sense Knowledge Bases


Back to FQDT page | Back to Ideas page | Back to QRG Home Page