Patent ID: 8190406
Filing Date: 2012-05-29
Classification: G06F

Abstract:
1. A computer-implemented method for use in a computer modeling system that includes one or more server computing systems and one or more client computing systems, and wherein a computer architecture is implemented either on a server computing system, a client computing system, or is distributed among one or more server and client computing systems, and wherein the computer architecture includes (1) an authoring component that allows an author to formulate and/or select input, analytics and view data for a model, (2) a pipeline with a data module for accepting the input data, an analytics portion for accepting the analytics data and binding the input data to analytics data for a given model, and then solving for unknown parameters of the given model, and a view module for constructing a composite view to be rendered for the given model using parameters output by the analytics module, and (3) a user interaction component, and wherein the computer-implemented method is used at the analytics module of the pipeline to solve model analytics for a given model, the method comprising: receiving at the analytics module of the pipeline: at the analytics module of the pipeline binding one or more of the data fields from the canonicalized data to one or more corresponding model parameters so that, after said binding, at least one or more model parameters that are bound to data fields from the canonicalized data are known, and at least one or more model parameters that remain unbound are unknown; at the analytics module of the pipeline determining from the known and unknown model parameters at least one or more input variables and at least one or more output variables for a particular solve using the model analytics, and maintaining a dependency graph of which model variables are input model variables and which model variables are output model variables; at the analytics module of the pipeline coordinating use of a plurality of solvers to solve for the particular solve either (i) symbolically using one or both of a forward solver or a symbolic solver, or (ii) numerically using a numeric solver when the particular solve cannot be solved symbolically, including performing, in order, the following: