The CML ontology is the theory underlying the CML language. It defines the basic concepts, such as model-fragment and time-dependent-relation, that are assumed in the language. It gives axiomatic semantics for the notion of time and change inherent in CML. The CML ontology is built upon the Engineering Math ontologies, extending the unary-scalar-functions and standard-units theories.
Unary-Scalar-Functions Physical-Quantities Frame-Ontology Kif-Relations Kif-Sets Kif-Lists Kif-Numbers Abstract-Algebra Frame-Ontology ... Standard-Units Physical-Quantities ... Standard-Units ...
Thermodynamics Dme Thermodynamics
Attribute-Function Entity Everywhere-Continuous-Function Infinite Model-Fragment Participant-Function Piecewise-Continuous-Function Piecewise-Continuous-Quantity Everywhere-Continuous-Quantity Standard-Quantity Quantity-Function Scenario Time-Dependent-Relation Time-Dependent-Function
The following constants were used from included theories:
The following constants were used from theories not included:
The following constants were undefined:
A MODEL-FRAGMENT instance describes an aggregate (perhaps empty) of participating objects under certain conditions.
An ENTITY is an object with structurally stable properties. It differs from a MODEL-FRAGMENT in the set of properties that make sense for it. E.g. an 'automobile' is naturally represented as an entity, which might have attributes such as color: red, manufacturer: ford.
A model-fragment is associated with a set of time-dependent conditions and consequences; when those conditions hold, the consequences hold. While conditions and consequences are time-dependent, the participants, attributes, and quantities associated with a model-fragment are part of its definition and the associations do not change over time. Similarly, model-fragment classes are organized in a class hierarchy, and a model-fragment instance can be an instance of more than one class.
The ACTIVE predicate associates a set of conditions with a model-fragment class. A model fragment instance is active with respect to the conditions associated with a model-fragment class and a particular time. Thus, (active ?t ?mf-class ?mf-instance) holds when the conditions of the class ?mf-class, instantiated for instance ?mf-instance, are true at the time ?t.
The translation of CML forms into KIF produces axioms that determine when ACTIVE holds for particular model fragments.
(Nth-Domain Active 3 Model-Fragment) (Nth-Domain Active 1 Time-Quantity) (=> (Active ?Time ?Model-Fragment-Class ?Mf-Instance) (Subclass-Of ?Model-Fragment-Class Model-Fragment) )
The class of infinite quantities which includes infinite quantities for every physical dimension.
A scenario is a description of a modeled system, a set of initial conditions for exogenous constants, and an interval of time over which the system is to be analyzed or simulated.
Slots Of Instances:
The initial time of a scenario is a time-quantity.
The final time of a scenario is a time-quantity.
The scenario.participants of a scenario is a set of entities for which the scenario is defined.
(=> (Scenario.Participants ?S ?Participants) (=> (Member ?P ?Participants) (Entity ?P)) )
A participant function is a unary function from model fragments to entities.
Slots Of Instances:
(<=> (Participant-Function ?F) (And (Unary-Function ?F) (Domain ?F Model-Fragment) (Range ?F Entity) ))
An attribute-function is a unary function defined over model fragments or entities.
(<=> (Attribute-Function ?F) (And (Unary-Function ?F) (Domain ?F (Kappa (?X) (Or (Model-Fragment ?X) (Entity ?X))) )))
== is equality between quantities, factoring out differences between constants and time-dependent quantities. A time-dependent quantity that always returns the same value is == to its value, but not = to its value.
(Nth-Domain == 2 Physical-Quantity) (Nth-Domain == 1 Physical-Quantity) (<=> (== ?Q1 ?Q2 ?Result) (And (Physical-Quantity ?Q1) (Physical-Quantity ?Q2) (Forall (?T) (= (Value-At ?Q1 ?T) (Value-At ?Q2 ?T))) ))
If ?x is defined over some dense interval of ?t, then there are a finite number of points at which ?t is not continuous.
A STANDARD-QUANTITY is everywhere continuous, has a piecewise continuous derivative, and a dimension. Quantities in QPT and QPC are standard-quantities. In QSIM, the derivatives are continuous as well within a behavior.
Slots Of Instances:
(<=> (Standard-Quantity ?X) (And (Everywhere-Continuous-Quantity ?X) (Value-Type ?X D/Dt Piecewise-Continuous-Quantity) ))
Time dependent relations are relations whose first argument is a time quantity. This is a second order relation.
(=> (Time-Dependent-Relation ?Rel) (Nth-Domain ?Rel 1 Time-Quantity))
Time dependent functions are functions whose first argument is a time quantity. This is a second order relation.
The function value-at returns the value of a quantity at some point in time. If the quantity is a function-quantity, then its value-at is its function value applied to the 'time' argument. If the quantity is constant-quantity, then its value-at is the quantity itself for all 'times'.
(Nth-Domain Value-At 2 Time-Quantity) (Nth-Domain Value-At 1 Quantity) (=> (Value-At ?Q ?Time ?Val) (And (Quantity ?Q) (Time-Quantity ?Time)) ) (= (Value-At ?Q ?Time) (If (Function-Quantity ?Q) (Value ?Q ?Time) ?Q) )
The M+ relationship holds between two quantities x y exactly when y = f(x) and f is a monotonic increasing function.
The M- relationship holds between two quantities x y exactly when y = f(x) and f is a monotonic decreasing function.
The C+ relation between two quantities x and y means that x = f(...,y,...) and the partial of f w.r.t. y is 1. If all of the arguments to f are C+, this is equivalent to saying that x is their sum.
The C+ relation between two quantities x and y means that x = f(...,y,...) and the partial of f w.r.t. y is -1. If all of the arguments to f are C+, this is equivalent to saying that -x is their sum.
The qualitative proportionality, Qprop+, also known as an indirect influence in the qualitative process theory literature, states that all things being equal ?x is proportional to ?y. If there are no other influences on ?x, then (Qprop+ ?x ?y) is equivalent to (M+ ?y ?x). Otherwise, it means that x = f(...,y,...) and the partial of f w.r.t. y is greater than zero.
The qualitative proportionality, Qprop-, also known as an indirect influence in the qualitative process theory literature, states that all things being equal ?x is proportional to ?y. If there are no other influences on ?x, then (Qprop- ?x ?y) is equivalent to (M- ?y ?x). Otherwise, it means that x = f(...,y,...) and the partial of f w.r.t. y is less than zero.
A quantity function maps some objects to a quantity.
Slots Of Instances:
A function ?f is continuous at the point ?p.
(<=> (Continuous-At ?F ?P) (Forall (?X ?Epsilon) (=> (< (Norm (Value ?F ?P) (Value ?F ?X)) ?Epsilon) (Exists (?Delta) (< (Norm (- ?X ?P) ?Delta))) )))
A function ?f is continous over the interval ?beg ?end if it is defined and continuous-at every point between ?beg and ?end exclusive.
(Nth-Domain Continuous-Over 1 Unary-Scalar-Function-Quantity) (<=> (Continuous-Over ?F ?Beg ?End) (And (Unary-Scalar-Function-Quantity ?F) (Member ?Beg (Exact-Domain ?F)) (Member ?End (Exact-Domain ?F)) (Forall (?X) (=> (And (< ?Beg ?X) (< ?X ?End)) (And (Defined (Value ?F ?X)) (Continuous-At ?F ?X) )))))
A function is piecewise-continuous if it's domain can be partitioned into a sequence of intervals such that it is continuous-over each such interval, and there is a finite distance between each pair of break points.
A function is everywhere-continuous if it is continuous over its entire domain.
A class has an attribute if the attribute value is given by a unary function, called an attribute-function, that is defined for that class.
(=> (Has-Attribute-Function ?Class ?Attribute-Function) (Attribute-Function-Of ?Attribute-Function ?Class) )
(=> (Attribute-Function-Of ?Function ?Class) (Has-Attribute-Function ?Class ?Function) )
A class has an quantity if the quantity value is given by a unary function, called an quantity-function, that is defined for that class.
(=> (Quantity-Function-Of ?Quantity-Function ?Class) (Has-Quantity-Function ?Class ?Quantity-Function) )
(=> (Participant-Function-Of ?Function ?Class) (Has-Participant-Function ?Class ?Function) )
(Nth-Domain Slot-Documentation 2 Unary-Function) (Nth-Domain Slot-Documentation 1 Class) (<=> (Slot-Documentation ?Class ?Unary-Function ?Doc) (=> (Instance-Of ?Instance ?Class) (Documentation ?Instance ?Doc) ))