Data-driven model implemented with spreadsheets
First Claim
1. A computer storage device having stored thereon one or more computer-executable instruction(s) that, when executed by one or more processors of a computing system, cause the computing system to generate a composite view of visual items, including the following:
- the computing system executing a data-model binding component that binds canonical data to corresponding model parameters of a plurality of model parameters;
the computing system executing a modeling component that
1) defines analytical relationships between the plurality of model parameters,
2) identifies which of the plurality of model parameters are input model parameter(s) and which are output model parameter(s),
3) solves for the output model parameter(s) that are identified as being output model parameter(s), and
4) makes the solved-for output model parameter(s) available to a model-visual binding component, such that the value(s) of the plurality of model parameters may be bound to parameter(s) of the parameterized view components, the modeling component including one or more solvers that are implemented using a plurality of spreadsheets, the one or more solvers being configured to solve in different solve directions depending on which of the plurality of model parameters are identified as being input model parameter(s) and which of the plurality of model parameters are identified as being output model parameter(s), each of the plurality of spreadsheets corresponding to a different solve direction and containing appropriate expressions for solving in the corresponding solve direction;
the computing system executing a view components repository that contains a plurality of heterogeneous view components, each view component corresponding to a visual item that may be displayed, and at least some of the view components being parameterized;
the computing system executing a model-visual binding component that binds the plurality of model parameter values to parameter(s) of at least one of the parameterized view components contained within the view components repository; and
the computing system executing a view composition module that formulates instructions for rendering a view that contains at least some of the visual items corresponding to the plurality of heterogeneous view components, wherein for at least some of the visual items that are to be rendered in the view, view component logic associated with the corresponding view component dictates the manner in which the rendering of the visual item occurs such that the rendering is dependent upon one or more parameters of the corresponding view component.
2 Assignments
0 Petitions
Accused Products
Abstract
Visual items may each be constructed and placed in position using logic defined by a view component corresponding to each visual item, where that logic may depend on one or more values populated into parameter(s) of the view component. Some of those parameter values may correspond to known model parameter values. Others, however, may have been solved for using a model that defines analytical relationships between the model parameters. In one embodiment, which of the model parameters are known, and which are unknown, may not be predetermined. Accordingly, a solver might be prepared for multiple solve operation paths even using a single model. The view composition process may be entirely data-driven, with the solve and/or the visual items implemented using spreadsheets.
112 Citations
11 Claims
-
1. A computer storage device having stored thereon one or more computer-executable instruction(s) that, when executed by one or more processors of a computing system, cause the computing system to generate a composite view of visual items, including the following:
-
the computing system executing a data-model binding component that binds canonical data to corresponding model parameters of a plurality of model parameters; the computing system executing a modeling component that
1) defines analytical relationships between the plurality of model parameters,
2) identifies which of the plurality of model parameters are input model parameter(s) and which are output model parameter(s),
3) solves for the output model parameter(s) that are identified as being output model parameter(s), and
4) makes the solved-for output model parameter(s) available to a model-visual binding component, such that the value(s) of the plurality of model parameters may be bound to parameter(s) of the parameterized view components, the modeling component including one or more solvers that are implemented using a plurality of spreadsheets, the one or more solvers being configured to solve in different solve directions depending on which of the plurality of model parameters are identified as being input model parameter(s) and which of the plurality of model parameters are identified as being output model parameter(s), each of the plurality of spreadsheets corresponding to a different solve direction and containing appropriate expressions for solving in the corresponding solve direction;the computing system executing a view components repository that contains a plurality of heterogeneous view components, each view component corresponding to a visual item that may be displayed, and at least some of the view components being parameterized; the computing system executing a model-visual binding component that binds the plurality of model parameter values to parameter(s) of at least one of the parameterized view components contained within the view components repository; and the computing system executing a view composition module that formulates instructions for rendering a view that contains at least some of the visual items corresponding to the plurality of heterogeneous view components, wherein for at least some of the visual items that are to be rendered in the view, view component logic associated with the corresponding view component dictates the manner in which the rendering of the visual item occurs such that the rendering is dependent upon one or more parameters of the corresponding view component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, implemented at a computing system that includes one or more processors and system memory, for constructing a view on a display, the view comprising a plurality of visual items, the method comprising:
-
an act of the computing system accessing input data that at least collectively affects what visual items are displayed or how a given one or more of the visual items are displayed; an act of the computing system binding the input data to a plurality of model parameters by binding at least some of the input data to at least some of the plurality of model parameters, wherein an analytical model defines analytical relationships between the plurality of model parameters; an act of the computing system using a plurality of spreadsheets to solve for one or more output model variables after the act of binding, including using one or more expressions in each of the plurality of spreadsheets to solve in a different solve direction depending on which of the plurality of model parameters are identified as being input parameters and which of the plurality of model parameters are identified as being output parameters, each of the plurality of spreadsheets corresponding to a different to solve direction and containing appropriate expressions for solving in the corresponding solve direction; an act of the computing system binding the model parameters, including binding at least one of the one or more output model variables whose value was solved for in the act of solving as input parameters to one or more parameterized view components; and an act of the computing system generating a view of visual items corresponding to the view components using the parameter value(s) bound to at least some of the view components in the act of binding the model parameters. - View Dependent Claims (10)
-
-
11. A computing system, comprising:
-
one or more processors; system memory; a display device; and one or more computer storage devices having stored thereon computer-executable instructions that, when executed by the one or more processors, cause the computer system to construct a view on the display device, the view comprising a plurality of visual items, including the following; an act of the computing system accessing input data that at least collectively affects what visual items are displayed or how a given one or more of the visual items are displayed; an act of the computing system binding the input data to a plurality of model parameters by binding at least some of the input data to at least some of a plurality of model parameters, wherein an analytical model defines analytical relationships between the plurality of model parameters; an act of the computing system using a plurality of spreadsheets to solve for one or more output model variables after the act of binding, including using one or more expressions in each of the plurality of spreadsheets to solve in a different solve direction depending on which of the plurality of model parameters are identified as being input parameters and which of the plurality of model parameters are identified as being output parameters, each of the plurality of spreadsheets corresponding to a different solve direction and containing appropriate expressions for solving in the corresponding solve direction; an act of the computing system binding the model parameters, including binding at least one of the one or more output model variables whose value was solved for in the act of solving as input parameters to one or more parameterized view components; and an act of the computing system generating a view of visual items corresponding to the view components using the parameter value(s) bound to at least some of the view components in the act of binding the model parameters, the act of generating is also at least partially performed using a spreadsheet.
-
Specification