An object-oriented software application is provided for receiving updates
that change state of an object model and reporting those updates to
requesting users. The application includes a database application for
storing data; an object model driver for writing updates into the
database; a notification system for notifying about the updates; and, a
plurality of external monitors for reading the updates. In a preferred
embodiment the object model produces multiple temporal snapshots of
itself in co-currency with received events, each snapshot containing
associated update information from an associated event and whereupon at
the time of occurrence of each snapshot coinciding with an event the
notification system notifies the appropriate external monitor or
monitors, which in turn access the appropriate snapshot, performs
calculations thereupon if required and renders the information accessible
to the users.