Patent ID: 8332827

Claim:
A computer-implemented method for executing an application program, the method comprising: instantiating, as a producer of interest, a producer whose output is currently of interest as part of a first producer graph, wherein object-oriented source code of the application program includes methods and producer dependency declarations, wherein a producer is a runtime instantiatable construct that includes at least an instance of a class and a method of that class, wherein each of the producer dependency declarations is for a specific method and was added by a programmer to identify at run time a set of zero or more producers through identification at run time of at least the instance of the class for each of the set of zero or more producers; responsive to said instantiating, automatically generating and executing a remainder of the first producer graph through linking, and instantiation as necessary, of other producers based on the producer dependency declarations of the methods of the producers already in the first producer graph; executing the producer of interest, wherein the first producer graph and outputs of the producers of the first producer graph correspond to a first scenario; and simulating the application program with a second scenario representing a change in one or more of the outputs while preserving the outputs of the producers in the first producer graph.