An object-oriented context programming system is formed with data objects.
Each data object defines a class of object which will typically have at
least one attribute. This attribute is stored in the database with an
indication of the effective context, e.g., time, of the attribute. Any
change in attribute, e.g., over time, is also stored in the data object
along with an indication the context in which it is effective. In a
temporal context, it would be saved with the time of effect of the change
in the attribute. Methods associated with the class, and which the class
can carry out, have an argument which includes the context, which could
be time. These methods are also stored in the database with an indication
of the effective context (e.g., time) of the method. Any change in the
method is stored in the data base along with an indication of the context
in which it is effective, e.g., the time of effect of a change in the
method in a temporal context. Execution of the method with a particular
context argument utilizes the attributes of the effected data objects and
the particular method which were in effect for the context. The context
can be a particular time specified or a point of view or vantage point.