(in-package "ONTOLINGUA-USER") (define-theory DME-CML (cml component-assemblies) "Extensions to the base CML theory for DME.") (in-theory 'DME-CML) (define-class operating-mode-model (?x) "The class of all model fragments that denote behavior of a component. By convention, devices will have a subclass of this class whose immediate subclasses are all of the behavior modes of a given device, i.e. Battery-Operating-modes is a superclass of the overcharged, undercharged etc. modes." :def (model-fragment ?x)) (define-class structural-element-model (?x) "All model fragments that contain any structural-element-model description." :def (model-fragment ?x)) (define-class junction (?x) "a junction that connects terminals" :def (structural-element-model ?x)) (define-class terminal (?x) "a terminal of any type for connecting components" :def (structural-element-model ?x) ) (define-class system-model (?x) "All model fragments that contain any system description. A system is a type of structural-element-models that are composed of one or more components, other than terminals." :def (structural-element-model ?x)) (define-relation connected-terminals (?junction ?terminal) "(connected-terminals ?j ?t) means that junction ?j connects terminal ?t to other terminals ?t2 for which (connected-terminals ?j ?t2) also holds." :def (and (junction ?junction) (terminal ?terminal))) (define-relation all= (?time ?set) "?SET is a set of fluents. They all have the same value at the given ?TIME." :constraints (set ?set) :iff-def (forall (?e1 ?e2) (=> (and (member ?e1 ?set) (member ?e2 ?set)) (= (value-at ?e1 ?time) (value-at ?e2 ?time)))))