Polymorphic enhanced modeling
First Claim
1. A machine-implemented permutation method for polymorphic modeling operations utilizing computer elements including display and memory with the capability of permuting a current model, said method comprising:
- providing a permutation control for said current model for storage in memory, wherein said permutation control includes providing a data structure for said permutation control with current content, with permutation content of one or more future contents and with a permutation control attribute that signals one of many possible types of permutation operations; and
providing a permutation process for reconfiguring the current model to a new model by utilizing said permutation control.
0 Assignments
0 Petitions
Accused Products
Abstract
A polymorphic modeling method to permutate a model into one of the many alternate model forms. Data can be entered for calculating each model after it is produced. Model permutations employ a permutation process and a permutation control attribute. The permutation control attribute indicates the type of permutation including locked, protected, prompting, interactive, interdependent, single and multiple, polyversion and permutation enabled subroutine. These attributes designate a particular type of permutation behavior assigned to each node in the model. Future node content is included in permutation control by the user or automatically after user designation of initial node content defining an initial model. The permutation process responds to context-sensitive impact events and includes message enabled nodes that can compose, send, read and process messages within a model or between models at remote locations thereby enabling permutation operations that are local, networked, or external such as over the Internet. Permutation loop processing, an enhanced formula syntax, and alternate horizontal and vertical storage formats enhance the permutation process. Constraints may be entered directly into model nodes and are enforced via constrained model permutation processing.
196 Citations
26 Claims
-
1. A machine-implemented permutation method for polymorphic modeling operations utilizing computer elements including display and memory with the capability of permuting a current model, said method comprising:
-
providing a permutation control for said current model for storage in memory, wherein said permutation control includes providing a data structure for said permutation control with current content, with permutation content of one or more future contents and with a permutation control attribute that signals one of many possible types of permutation operations; and
providing a permutation process for reconfiguring the current model to a new model by utilizing said permutation control.
-
-
2. A machine-implemented permutation method for polymorphic modeling operations utilizing computer elements including display and memory, said method capable of being used to build a current spreadsheet model and further having the capability of permuting said current spreadsheet model, said method comprising:
-
providing a permutation control for said current spreadsheet model for storage in memory, wherein said permutation control includes providing a data structure for said permutation control with current content, with permutation content of one or more future contents and with a permutation control attribute that signals one of many possible types of permutation operations; and
providing a permutation process for reconfiguring the current spreadsheet model to a new spreadsheet model by utilizing said permutation control. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
allowing the entrance of a value into a node that contains a formula to trigger said permutation process; - or
allowing the entrance of a value into an independent impact node to trigger said permutation process; and
for all initiating events, utilizing said permutation control to carry out designated changes in said current model to produce a new model thereby enabling the entrance of data into said new model to calculate results.
-
-
4. The method of claim 3 providing an enhanced standard mode of operation wherein said permutation process interactively alerts the user to said initiating events before proceeding with the permutation to allow the user options including
halting the permutation process; -
allowing the permutation process to proceed; and
allowing the user opportunity to alter the permutation control before the permutation process commences.
-
-
5. The method of claim 2 wherein said permutation process includes the capability of
enabling dynamic user selection of one or more receiver nodes wherein the selection of alternative permutation paths are user controlled for interactive permutation path decisions at run-time. -
6. The method of claim 2 providing a polyversion mode of operation wherein said permutation process enables the substitution of a new model version for the current model version.
-
7. The method of claim 2 wherein said permutation process includes
providing for display of said permutation control in a horizontal format for edit-bar interface with the user to enable editing of the permutation control and, alternatively, for display in a vertical format for an edit-list interface with the user to enable editing of the permutation control. -
8. The method of claim 2 wherein said permutation process includes
providing for incremental model permutations to build a succession of new models to accommodate all possible combination and permutation of form that said current model can take in order to enable the calculation of results on each new model. -
9. The method of claim 2 wherein said permutation process includes
providing for the maintenance of node references in the permutation control of each cell for operations that transfer or move node content including clipboard operations, multiple sheet selections, drag-copy and drag-move operations, insertions or deletions of node(s), row(s), column(s) and sheets and the renaming of model components. -
10. The method of claim 2 including a component form with a callable public interface, said method
providing for user callable interface routines that interface with the data structure of the component'"'"'s nodes to provide polymorphic operation to the component form. -
11. The method of claim 2 further providing message enabled nodes capable of communicating with other nodes including nodes at remote sites, composing and sending, receiving and processing messages, said method
providing for the generation of permutations locally or at remote locations in accordance with the message. -
12. The method of claim 2 which further includes
providing for an independent impact node with a permutation control attribute in its data structure which signifies an impact operation and with permutation control that is passed to one or more receiver nodes when a value is entered into the independent impact node. -
13. The method of claim 2 which further includes
providing for a dependent node with a permutation control attribute in its data structure signifying an impact operation with permutation control that is passed to one or more receiver nodes when a value is entered into the dependent node. -
14. The method of claim 2 wherein said permutation process includes the capability of
automatically populating the future content of a dependent node from the current content. -
15. The method of claim 2 wherein said permutation process includes
providing for an enhanced formula syntax that enables parsing of said permutation control to obtain current content, future content and the permutation control attribute. -
16. The method of claim 2 wherein said data structure includes a constraint control with a current constraint content, one or more future constraint contents and a constraint type identifier.
-
17. The method of claim 16
providing for user entry of constraints directly into a constraint control. -
18. The method of claim 2 wherein a sequence of permutations stimulated by an impact event on an impact node includes the capability of
archiving the permutation control of said impact node; -
updating the current content of said impact node in accordance with said impact event;
evaluating the archived permutation control attribute of said impact node to determine the type of permutation operation;
identifying one or more receiver nodes in accordance with the archived permutation control of said impact node;
for each identified receiver node, reorganizing the archived permutation control of said impact node to swap current and future contents; and
generating a message for each identified receiver node including the reorganized permutation control of said impact node and sending each said message to the corresponding receiver node.
-
-
19. The method of claim 18 further including the capability of
receiving said message at said corresponding receiver node; -
archiving the permutation control of said corresponding node;
replacing the permutation control of said corresponding receiver node with the reorganized permutation control of said impact node contained in said message;
evaluating the permutation control attribute of the archived permutation control of said corresponding receiver node to determine the next type of permutation operation, if any;
if a further permutation is indicated, identifying one or more subsequent receiver nodes, for each identified subsequent receiver node, reorganizing the archived permutation control of said corresponding receiver node to swap current and future contents;
sending a subsequent message including the reorganized permutation control of said corresponding receiver node to one of the identified subsequent receiver nodes and continuing the permutation operation; and
if a further permutation is not indicated, acting in accordance with said permutation control of said corresponding receiver node to either (1) signal an end to the permutation process;
(2) load an indicated subroutine for execution;
or (3) load an indicated new model version.
-
-
20. The method of claim 19 including the handling of a permutation loop, i.e., when the original impact node is passed the original permutation control, including
providing for recognition of the permutation loop event; - and
providing for the reentry of the impact event in said impact node to trigger a second permutation process.
- and
-
21. The method of claim 2 wherein the type of permutation operation indicated by said permutation control attribute includes single impact, multiple impact, and interactive.
-
22. The method of claim 21 wherein said permutation control attribute indicates a subroutine operation and wherein said subroutine operation may contain a permutation enabled macro in its associated data structure.
-
23. The method of claim 21 wherein said interactive operation further provides for
preventing a permutation; -
prompting before permutation is allowed;
prompting to obtain the information needed to complete a permutation;
prompting the user to load a new model version, if desired; and
enabling dynamic user selection of one or more receiver nodes wherein the selection of alternative permutation paths are user controlled for interactive permutation path decisions at run-time.
-
-
24. The method of claim 21 further providing a multiple allocation operation as a type of multiple impact operation providing permutation to a group of nodes thereby enabling allocation of an amount among precedent nodes, including an amount which may be equal to all such nodes, a different percentage of the amount to such nodes, different amounts based upon weighting factors, or user-defined allocation amounts.
-
25. The method of claim 21 further including an interdependent impact node providing for grouping a plurality of nodes for maintenance of group synchronization when a change occurs in the content of any node in the group.
-
26. A machine-implemented permutation method for polymorphic modeling operations utilizing computer elements including display and memory, said method capable of being used to build a current spreadsheet model and further having the capability of permuting said current spreadsheet model, said method comprising:
-
providing a permutation control for said current spreadsheet model for storage in memory, wherein said permutation control includes providing a data structure for said permutation control with current content, with permutation content of one or more future contents and with a permutation control attribute that signals one of many possible types of permutation operations; and
providing a permutation process for reconfiguring the current spreadsheet model to a new spreadsheet model by utilizing said permutation control, wherein said permutation process includes providing for incremental model permutations to build a succession of new models to accomodate all possible combinations and permutations of form that said current model can take in order to enable the calculation of results on each new model, and wherein said permutation process further includes providing for the undoing of permutations made to the model by providing for undo options including reset after change, reset to original model, and incremental undo of changes to retrace steps.
-
Specification