---
title: "COMODEL: A Language for the Representation of Technical Knowledge"
authors:
  - "Werner Dilger"
  - "Jörg Kippe"
doi: ""
url: "https://ijcai.org/proceedings/1985/67"
pdf: "https://ijcai.org/proceedings/1985/0067.pdf"
venue: "Proceedings of the Ninth International Joint Conference on Artificial Intelligence"
year: 1985
pages: "353-357"
track: "Expert Systems"
keywords:
---

# COMODEL: A Language for the Representation of Technical Knowledge

Werner Dilger, Jörg Kippe

*Proceedings of the Ninth International Joint Conference on Artificial Intelligence*, pages 353-357.

## Abstract

The component oriented language COMODEL for the description of technical systems is presented. It represents technical knowledge by means of functions and geometric properties of components in a uniform way based on a small number of e lementary concepts. Components together with interactions between components can be composed to aggregates, and a whole technical system is viewed as a big aggregate consisting of a hierarchy of subaggregates. Functions and geometric prope rties of aggregates can be derived from those of the subaggregates. Thus, a technical system can be modelled by a set of COMODEL expressions, and diagnosis and prognosis in the system may be performed by means of these expressions.

## Full text

## 1. INTRODUCTION

The first and most well-known expert systems were developed for medical and scientific applications. Only since a few years technical applications came in sight. This type of application requires in first place new types of knowledge.representadon. Thus, a number of papers appeared on this topic fol­ lowing the ideas of the basic work of Hayes [ 1]. They deal mainly with the modelling of physical processes going on in technical systems, cf. [ 2, 3, 4, 5, 6, 7, 8, 9, 10 ]. All of them reason about physical processes making use of a qualitative description of physical entities. As possible appli­ cations are considered diagnosis and prognosis in technical systems and control of technical proc­ esses.

In our approach we stress attention to the system theoretical principles of knowledge modelling and on the representation of geometric knowledge. On the basis of some principles of the modelling of technical systems (section 2), we give an intro­ duction to the knowledge representation language COMODEL (section 3). Its main feature is the component oriented description of technical sys­ tems and processes covering geometrical and proc­ ess knowledge by the same means of description. Its application will be illustrated by some examples (section 4).

## 2. MODELLING OF TECHNICAL SYSTEMS

The different works on modelling of technical systems mentioned above have in common that they do not describe a technical system globally, rather they start from context independent de­ scriptions of single parts and their functions and try to infer descriptions of aggregates from those of the parts. The descriptions are based on varia­ bles, e.g. temperature, pressure, cross-section etc., values of variables and constraints. Forbus [2, 3, 4] takes the process, causing changes of physical situations, as the basic concept of his description, in de Kleer's and Brown's approach [ 5, 6 ] the physical component, whose behavior is charac­ terized by confluences, plays this role, and Kuipers' and Kassirer's work [ 7, 8, 9] is based on "univer­ sal" constraints, related to different types of var­ iables. Raulefs [ 10] attaches importance to dif­ ferent degrees of granulation in the qualitative description and to reasoning about time.

Our approach has the following basic features:

1. Component oriented descripton. A tech­ nical system is regarded as composed of a finite number of components that cor­ respond to the parts of a real system and can be accumulated to aggregates.
2. Qualitative and quantitl).tive representa­ tion of the properties of physical ob­ jects.
3. System theoretical taxonomy for classi­ fying the variety of components and their connections (component types, in­ teraction types).
4. Uniform description of the function and the geometric properties of components.

With respect to 1. and 2., our approach is related to that of de Kleer and Brown and of Kuipers and Kassirer. Component orientation allows modular descriptions of large aggregates, therefore such a description can be easily modified and adapted to other configurations. The behaviour of components and aggregates is defined by means of constraints on physical "properties" or variables. With respect to 3. and 4., we differ from the works mentioned above. As a consequence of a component oriented approach, the components can and should be classi­ fied in a systematic way according to the princi­ ples of system engineering. Geometric properties of components are of interest in so far as they are essential parts of the behaviour of the components, and for this reason they are described in the same way as the functional properties.

## 3. ELEMENTS OF COMODEL

In the COMponent Oriented DEscription Language (COMODEL) a technical system is viewed as a set of phenomenons, that may be observable by automatic measurement or by human senses. Phenomenons can be connected by relations. This results in a network consisting of phenomenons as edges and two types of nodes, called components and interactions (cf. figure 1). Components, interactions and phenomenons are the basic objects of our description language, they are related to the parts of a technical system, the connections of these parts and the observable physical properties in the real world.

A COMODEL-description of a real technical system consists of a number of object-definitions, defining the three basic objects and a compound object called aggregate ·

object-def + (DEFOBJ identifier basic-object) *

```
basic-object+ phenomenon I component I
```

interaction I aggregate

Fig. 1: A sample network.

![Image](https://ijcai.org/proceedings/1985/fulltext/67/image_000000_c2594bcca0ccaec6aa86c130464c90eb6d00f69b21322d0de27539aabeb01ba7.png)

* Preterminal symbols are underlined, there are no further definitions on account of clearness.

A phenomenon is a collection of a finite number of physical properties, combined from a particular point of view.

```
phenomenon + phenomenon-name I phenomenon-descr phenomenon-name + identifier I PHENOMENON phenomenon-descr + (phenomenon-type (phyprop ... )) * phenomenon-type + phenomenon-name
```

A physical property is a part of a phenomenon. It may be observable or not.

phyprop + (phyprop-name phyprop-type)

A component is an object with a finite number of gates and relations. To each gate a phenomenon is assigned. The gates serve as links between compo­ nents and interactions. The relations describe con­ nections between values of different physical pro­ perties in the gates' phenomenons or define values of physical properties.

```
component + component-name I component-descr component-name + identifier I COMPONENT component-descr +(component-type (gate ... ) (rei ... )) component-type + component-name
```

An interaction is an object with a finite number of gates and relations, like a component. It differs from a component by the fact that its relations cannot define values, i.e. interactions do not have characteristic or intrinsic values.

![Image](https://ijcai.org/proceedings/1985/fulltext/67/image_000001_d38f0a869c3c153b48f850821c5a8761e0fc9074ceef4e516af440756185944f.png)

Gates are parts of components and interactions and are used as links between both. The connection of a component with an interaction by corresponding gates induces identity on the corresponding phe­ nomenons of the gates.

<!-- formula-not-decoded -->

Relationships between physical properties are de­ scribed by relations. Simple relations are equal, unequal, proportional etc.

<!-- formula-not-decoded -->

rel-obj + phyrop-name I value I functional-expr

Connection of components and interactions results in larger entities called aggregates. In the same way aggregates are combined to form bigger aggregates up to the whole technical system, that can be viewed as one aggregate consisting of a hierarchy of (sub-) aggregates.

```
aggregate + aggregate-name I aggregate-descr I component aggregate-name+ identifier I AGGREGATE aggregate-descr + (aggregate-type ((local-aggregate-name aggregate) ··. ) ((local-interaction-name interaction) ·.. ) (gate-pair ··· ) (gate ... )) aggregate-type + aggregate-name gate-pair + (gate gate)
```

In the definition of phenomenons, components, in­ teractions and aggregates one may refer either to build-in types (PHENOMENON, COMPONENT, INTERACTION, AGGREGATE) or to user-defined objects (symbolized by the preterm ina! symbol identifier). These objects form a hierarchy repre­ senting the taxonomy of system theoretical terms. Each object describes some aspects of a part of a real system at a particular level of generality.

## 4. SAMPLE APPLICATION OF COMODEL

As a paradigm for the representation of technical systems we take the nitric acid cooler of Lapp/Powers [ 11], shown in figure 2. The function of this process is to cool a hot nitric acid stream before reacting it with benzene to form nitrobenzene. One top event for the system is a high temperature in the nitric acid reactor feed, since this could cause a reactor runaway.

Fig. 2: The nitric acid cooler.

![Image](https://ijcai.org/proceedings/1985/fulltext/67/image_000002_490c336313d5ea7a58d856a723340734fb57d4de6f879c0186c14a67f7f1d29f.png)

In order to show the applicability of COMODEL to describe a broad variety of technical mechanisms we choose two parts of the nitric acid cooler - the heat exchanger as energy flow system and a piston and cylinder, taken from the cooling water pump, which is assumed to be a piston pump, as an example for geometric interactions.

## Heat Exchanger

The heat exchanger is an aggregate with four gates, two fluid streams passing through and inter­ changing heat energy. It can be viewed as con­ structed of two equal components, each a fluid stream with heat energy flowing off or flowing to (cf. figure 3). Therefore, such a component is an object with three gates, two fluid streams, and one energy stream (cf. figure 4).

Fig. 3: The heat exchanger.

![Image](https://ijcai.org/proceedings/1985/fulltext/67/image_000003_6a9523492f2cc9eb276341c25c5cdcb4c1d57c1fb284c5e1d13abdaa52570f22.png)

Fig. 4: The heat exchanger component.

![Image](https://ijcai.org/proceedings/1985/fulltext/67/image_000004_5be74b4002ec3e48ede2213c05cda7db6573bcd7f1c4d8ccba5270af14e25d93.png)

The r-elevant physical pr-oper-ties (flow dir-ection, temper-atur-e, heat str-eam) ar-e combined to phe­ nomenons.

## (DEFOBJ MATERIALFLOW

(PHENOMENON ((DIR DIRECTION)

(T TEMPERATURE))))

(DEFOBJ ENERGYFLOW

(PHENOMENON (DIR DIRECTION) (T TEMPERATURE)

(Q HEATSTREAM))))

The heat exchanger- component HE is

## (DEFOBJ HE

(COMPONENT

((Ml MATERIALFLOW)

(M2 MATERIALFLOW)

(E3 ENERGYFLOW))

((!NV Ml.DIR M2.DIR)

(E3.Q- I Ml.T- M2.T I)

(((M2.T &gt; Ml.T)&amp;(M2.DIR =IN)) v

((Ml.T &gt; M2.T)&amp;(Ml.DIR =IN)) =

(E3.DIR = OUT))

(((M2.T &lt; Ml.T)&amp;(M2.DIR =IN)) v

((M 1. T &lt; M2. T)&amp;(M 1. DIR = IN)) =

(E3.DIR = IN))

((AVERAGE Ml.T M2.T) = E3.T)))))

The heat exchanger- component has thr-ee gates: two for- the fluid str-eam (M 1, M2) and one for- the heat str-eam (E3). The fluid str-eam passes through the gates Ml and M2 in opposite dir-ections with r-espect to the centr-e of the component, i.e. at one gate it enters the component and at the other- it leaves the component. This is stated by the fir-st relation. The other- r-elations define some r-elation­ ships between the heat stream and the temper-atur-e of the fluid stream. The heat str-eam is pr-opor-­ tional to the difference of temperatures, i.e. to the loss or gain of temperature of the fluid stream. If the entrance temper-ature is greater- (less) than the exit-temper-ature then the heat str-eam leaves (en­ ters) the component. The aver-age temper-atur-e of the fluid stream is equal to the temperature of the heat stream.

Fluid stream and heat str-eam are descr-ibed by inter-actions.

## (DEFOBJ FLUIOSTREAM

(INTERACTION

((Ml MATERIALFLOW)

(M2 MATERIALFLOW))

((Ml o-o M2))))

The inter-action FLUIDSTREAM has two gates (Ml, M2). The relation states that the values of corre­ sponding physical proper-ties occurring at gate Ml and gate M2 respectively ar-e equal, except for the values of the flow dir-ections.

## (DEFOBJ HEATENERGY

## (INTERACTION

((El ENERGYFLOW)

(E2 ENERGYFLOW))

((El.Q -1 El.T- E2.T I)

(El.Q = E2.Q)

((El.T &gt; E2.T) = (El.DIR = IN))

((El.T &lt; E2.T) = (El.DIR =OUT))

(!NV El.DIR E2.DIR))))

The interaction HEATENERGY has the two gates El and E2. The r-elations define some relationships between the physical pr-operties included in the phenomenon ENERGYFLOW occur-ring at the gates of HEATENERGY. The differ-ence of the temper-a­ tur-es at both gates deter-mines the heat str-eam. No heat is lost between both gates, ther-efore El.Q = E2.Q. The heat flows fr-om higher to lower temper-­ atur-e, i.e. it enter-s (leaves) the interaction at El i f El.T &gt; (&lt;) E2.T. The same holds for- gate E2 because of the opposite dir-ections.

The aggregate HEATEXCHANGER (cf. figure 5) consists of two components of type HE and one interaction of type HEATENERGY. The list of gate-pair-s define how the const i tuents of the ag­ gregate ar-e composed, because a gate- pair r-epr-e­ sents an identification of two gates. For example HEl ist composed with HF by identification of the gates HE1.E3 and HF.El. A pair- like (HE2.Ml M3) says that gate Ml of HE2 is "fr-ee", i.e. not used for­ composition, and becomes therefor-e a gate of the aggregate. The descr-iption of the aggregate gates is adapted from the descr-iption of the cor-r-e ­ sponding component gates.

## (DEFOBJ HEATEXCHANGER (AGGREGATE

((HEl HE)(HE2 HE))

((HF HEATENERGY))

((HEl.Ml Ml) (HE1.M2 M2)

(HE2.Ml M3) (HE2.M2 M4)

(HE1.E3 HF.El)

(HF.E2 HE2.E3))

((Ml MATERIALFLOW)

(M2 MATERIALFLOW)

(M3 MATERIALFLOW)

(M4 MATERIALFLOW))))

Fig. 5: The heat exchanger aggregate.

![Image](https://ijcai.org/proceedings/1985/fulltext/67/image_000005_5f4405c81c8a85d05e0ba7c9a08e476452160bb30a86935946a35d65e4f1de24.png)

Fig. 6: Piston and· cylinder.

![Image](https://ijcai.org/proceedings/1985/fulltext/67/image_000006_1aa89d6fbac01f7c7df4d04cab3cc1476ef7223865a54eb6cddf0676ac2e057b.png)

## Piston and cylinder

Piston and cylinder are the basic elements of the piston pump. They are viewed as two components and modelled by the two objects full cylinder and hollow cylinder, cf. figure 6. The phenomenons join together geometric and kinematic properties.

## (DEFOBJ FULLCYLINDERPROPERTIES (PHENOMENON

((R RADIUS)(L LENGTH)(V VOLUME) (FR DEGREES-OF- FREEDOM)

(POS POSITION))))

## (DEFOBJ HOLLOWCYLINDERPROPERTIES

(PHENOMENON

((R RADIUS)(L LENGTH)(V VOLUME)

(FR DEGREES-OF- FREEUOM)

(POS POSITION)

(NUM-BOT NUMBER-OF- BOTTOMS))))

A hollow body (e.g. a cylinder) can have no bottoms (pipe), one bottom (opened can), or two bottoms (closed can).

The two components are

## (DEFOBJ PISTON

(FULLCYLINDER

((P FULLCYLINDERPROPERTIES))

((P.R = XR)(P.L =XL)

(P.V = 7TR 2 L)

(P.FR=(TRANS-FR(R) TRANS-FR(L)

TRANS-FR (ROT90(R))

ROT-FR(R) ROT-FR(L)

ROT-FR (ROT90(R)))))))

## (DEFOBJ CYLINDER

(HOLLOWCYLINDER

((C HOLLOWCYLINDERPROPERTIES))

((C.R = XR)(C.L =XL)

(C.V = nR 2 L)

(C.FR = (TRANS-FR(R) TRANS- FR(L)

TRANS- FR(ROT90(R))

ROT-FR(R) ROT-FR(L)

ROT-FR(ROT90(R))))

(C.NUM-BOT = 1))))

In the definition of piston and cylinder radius, length, degrees of freedom and number of bottoms are bound to particular values (X R· X L· TRANS-FR, ·.· ,l). Every piston and cylinder has six degrees of freedom: translation along the R-axis, along the L-ax is, and along the R-axis after a 90°­ rotation, rotation around the R-axis, around the L­ axis, and around the R-axis after a 90° -rotation. These definitions describe aspects of individual objects from the class of all fullcylinders and all hollowcylinders respectively, only the values for the position in space are left open.

The FULLCYLINDER-IN-HOLLOWCYLINDER-in­ teraction describes the geometric relationship, if the full cylinder is put into the hollow cylinder. It creates a new hollow cylinder, called pump cham­ ber, with the length depending on the position of the piston. The piston retains two degrees of freedom in the resulting aggregate, cf. figure 7.

## (DEFOBJ FULLCYLINDER-IN-HOLLOWCYLINDER (INTERACTION

((F FULLCYLINDERPROPERTIES) (H HOLLOWCYLINDERPROPERTIES) (R HOLLOWCYLINDERPROPERTIES)) ((R.R = H.R)(R.L = F.POS(L) -H.POS(L)) (R.NUM-BOT = 2)

(F.FR = (TRANS- FR(L) ROT- FR(L))))))

The FULLCYLINDER-IN-HOLLOWCYLINDER-in­ teraction has three gates (F, H, R). It combines the phenomenons FULLCYLINDERPROPERTIES and HOLLOWCYLINDERPROPERTIES to form a new phenomenon HOLLOWCYLINDERPROPERTIES. Gates R and H have the same radius, i.e. the radius of the interaction as a whole depends on the hollowcylinder which it is composed with. A similar relation holds for the length. The number of bot­ toms is 2. Only two degrees of freedom are left: translation along and rotation around the L-axis. The aggregate PUMPCHAMBER consists of two components of type CYLINDER and PISTON respectively and one interaction of type FULLCYLINDER-IN-HOLLOWCYLINDER. Here, the interaction plays a central role. Gate FIT.R is the gate of the aggregate. The composition of the three constituents is obvious.

The definition of the aggregate reflects the fact that the behaviour of a pumpchamber can be described mainly by the interaction of a piston and a cylinder.

## (DEFOBJ PUMPCHAMBER

(AGGREGATE

((CASE CYLINDER)(PISTON1 PISTON)) ((FIT

FULLCYLINDER-IN-HOLLOWCYLINDER)) ((FIT.R PC)(CASE.H FIT.H) (PISTONl.F FIT.F)) ((PC HOLLOWCYLINDERPROPERTIES))))

Fig. 7: The pump chamber aggregate.

![Image](https://ijcai.org/proceedings/1985/fulltext/67/image_000007_ec8bb1008118c3525c9890ccac3e2f839d8cd975ab2556694807cf2db3ad912f.png)

## 5. CONCLUSION

COMODEL is a component oriented approach to the representation of knowledge about technical systems. In our description of COMODEL we have attached importance to its ability to represent function and geometric properties of components in a uniform way.

It is our intention to use COMODEL as a technical description language for expert systems for the area of technical systems, in particular for inter­ pretation of the states of those systems and diag­ nosis of failures.

For this purpose a COMODEL-description repre­ sents a model of a technical-system. This model together with process signals should be processed by an inference engine. At this point additional heuristic knowledge about symptoms of defects as well as strategies for the search for interpretation and diagnosis is needed.

## References

1. P. Hayes: The Naive Physics Manifesto. in: D.E.Michie (ed.): Expert Systems in the Microelectronic Age. Edinburgh Univ. Press, 1979.
2. K.D. Forbus: Qualitative reasoning about physical processes. Proc. 7th IJCAI 1981, Vancouver, 326-330.
3. K.D. Forbus: Modelling Motion with Qualitative Process Theory. Proc. AAAI-82, Pittsburgh, 1982, 205-208.
4. K.D. Forbus: Measurement Interpretation in Qualitative Process Theory. Proc. 8th IJCAI 1983, Karlsruhe 315-320.
5. J. de Kleer/J.S. Brown: Foundations of Envisioning. Proc. AAAI-82, Pittsburgh, 1982, 434-437.
6. J. de Kleer/J.S. Brown: The Origin, Form and Logic of Qualitative Physical Laws. Proc. 8th IJCAI, Karlsruhe, 1158-1169
7. B. Kuipers: Commonsense Reasoning About Causality: Deriving Behavior From Structure. Tufts University Working Papers in Cognitive Science, No. 18, May 1982.
8. B. Kuipers: Getting the Envisionment Right. Proc. AAAI-82, Pittsburgh 1982, 209-212.
9. B. Kuipers/J.P. Kassirer: How to Discover a Knowledge Representation for Causal Reasoning by Studying an Expert Physician. Proc. 8th IJCAI 1983, Karlsruhe, 49-56.
10. P. Raulefs: Foundations of Expert Systems for Conceptional Design in Mechanical Engineering. Proc. 6th ECAI, Pisa, 1984.
11. S.A. Lapp/G.J. Powers: Computer-aided Synthesis of Fault-trees. IEEE Transactions on Reliability, April 1977, 2-12.
