The field 'math' in KineticLaw is today a required field
(though the KineticLaw itself is optional in a Reaction).
Should 'math' be made optional?
There are at least two arguments for making 'math' optional.
One is that it allows more flexibility in model creation and
development, for example by making it possible to store and
read models having parts that are not fully fleshed out.
Even though such models can't be properly simulated, they
may still have some utility to the modelers creating them.
A second argument arose recently in the context of proposals
to add 'sboTerm', a field for referring to controlled
vocabulary terms. Making 'math' option would allow
partially-defined models where some reactions specified
using just the 'sboTerm' references. To make this possible,
kinetic laws without 'math' should be introduced. (However,
there is also general agreement that models without a 'math'
field on a kinetic law would be considered uncharacterized
in the same way as, for example, a model without a kinetic
law, or with missing initial values.)
The principal argument against making 'math' optional is the
belief that the proper granularity should be at the whole
KineticLaw object level. This encourages greater
completeness in model creation, by removing the possibility
of creating models containing kinetic laws where (for
example) only local parameters are given in a reaction but
no actual mathematical expression in which they're supposed
to go.