Objects, Processes, and Constraints
Many databases draw sharp intellectual and implementation distinctions among objects (or
data), processes to query or manipulate the objects, and constraints which apply either to
particular manipulations or to the system as a whole, such as numerical simulation of a
set of differential equations. In extreme cases, data are stored in one language, retrieved
in another, and manipulated for ``advanced'' computations by a third. Two common
consequences of this approach is that
representations
of these three informational dimensions tend to be mutually incompatible, and programming
and execution of the code can be noticeably confused and inefficient. This phenomenon has
been called
impedance mismatch
.
To avoid these problems, we have implemented the database and its computations in a symmetric manner. The term is meant in two senses:
;
.
for a comprehensive listing of tools used): but overall
coordination of the computations resides exclusively in Moirai, with the results
from other tools passing in and out of the central database.