*Structure Class* **RATE-RULE**

## Package:

`CL-SBML`

## Class Precedence List:

RATE-RULE, RULE, SBML-BASE, STRUCTURE-CLASS, T.

## Slots:

- VARIABLE: default value NIL, type (OR SYMBOL STRING), initarg :VARIABLE.

## Description:

The instances of this structure class represent SBML rate rule definitions.

Rate Rules are used to express equations that determine the rates of change of variables. The left-hand side (the VARIABLE field) of an rate rule can refer to the identifier of a SPECIES, COMPARTMENT, or PARAMETER.

In all cases, as would be expected, the UNITs of the formula
representing the right hand side, in the math field, are of the form
*x/time* where *x* are the same UNITs as associated
with the symbol in the VARIABLE field, when that variable appears in
other formulae. *time* is a built-in unit.

The accessor RATE-RULE-VARIABLE can be used to set or modify the filed.

## Affected By:

None.

## Exceptional Situations:

None.

## See Also:

SBML-BASE, RULE, ALGEBRAIC-RULE, RATE-RULE, RATE-RULE-P, RATE-RULE-VARIABLE and MAKE-RATE-RULE.

## Notes:

### Constraints

Two or more RATE-RULE or ASSIGNMENT-RULE structures cannot have the same left-hand side or VARIABLE field value in an SBML model definition. In all cases, as would be expected, the units of the formula representing the right hand side, the MATH field, are identical to the units associated with the left hand side, the VARIABLE field, when that VARIABLE appears in other formulae.

### Types

**SBML** states that the values of the VARIABLE
field should be of type SID (`SId`

.) The definition here
is more liberal, as the type specifier SID is defined in terms of
SATISFIES, which is a notorious complication in
the **CL** type system. If the need arises, the type
specification of the slots can be made stricter.