Patent ID: 6934931

Claim:
A method for enabling a user to create a program for controlling a process, wherein the method operates in a system including a computer system which is coupled to the process, the method comprising: providing a plurality of software classes for modeling, optimization, and deployment; providing one or more management facilities for managing the plurality of software classes; creating a plurality of software objects based on the plurality of software classes, wherein said creating the plurality of software objects comprises creating a dynamic process model object and creating a solver object, wherein the dynamic process model object and the solver object comprise a first solution which controls a first process; creating a model of the first solution; creating a second solution, wherein the second solution comprises a second dynamic process model object, a second solver object, and the model of the first solution, wherein the second solution which operates to control a second process, wherein the second solution affects the first solution; and constructing an optimization program which uses the plurality of software objects, wherein said constructing is performed in response to user input; wherein the optimization program is useable in controlling the process; wherein the optimization program is constructed including the dynamic process model object and the solver object, wherein the dynamic process model object and the solver object operate together to optimize the process; and wherein the second solution uses the model of the first solution to determine how the first solution will respond to actions provided by the second solution.