System and method for modeling biological systems
First Claim
Patent Images
1. A method of modeling a biological system, comprising:
- (a) instantiating a plurality of software components; and
(b) connecting each of the plurality of software components to at least one other of the plurality of software components, wherein data are directly communicated only between software components directly connected to each other.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a system and method for modeling a biological system. More specifically, the present invention relates to the use of a component-based architecture for biological modeling software, thereby enhancing the extensibility of the software and the reusability of the software components. The present invention also relates to the use of distributed components for constructing biological modeling software capable of being run in a distributed computing environment. Also provided are computer program products for implementing such methods and systems.
-
Citations
46 Claims
-
1. A method of modeling a biological system, comprising:
-
(a) instantiating a plurality of software components; and
(b) connecting each of the plurality of software components to at least one other of the plurality of software components, wherein data are directly communicated only between software components directly connected to each other. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 20)
-
-
15. A method of modeling a biological system, comprising:
-
connecting each of a plurality of instantiated software components to at least one other of the plurality of software components, wherein data are directly communicated only between software components directly connected to each other.
-
-
16. A system for modeling a biological system, comprising:
-
means for instantiating a plurality of software components; and
means for connecting each of the plurality of software components to at least one other of the plurality of software components, wherein data are directly communicated only between software components directly connected to each other.
-
-
17. A computer-readable medium having stored thereon computer-executable instructions for performing the steps comprising:
-
(a) instantiating a plurality of software components; and
(b) connecting each of the plurality of software components to at least one other of the plurality of software components, wherein data are directly communicated only between software components directly connected to each other.
-
-
18. A system for modeling a biological system, comprising:
-
a processor; and
a memory in communication with said processor, wherein said processor causes a plurality of software components to be instantiated in said memory;
wherein said processor causes each of the plurality of software components to be connected to at least one other of the plurality of software components;
wherein data are directly communicated only between software components directly connected to each other.
-
-
19. A method of modeling a biological system, comprising:
-
(a) defining and instantiating a software component dynamically; and
(b) subsequently redefining the software component.
-
-
21. A computer-readable medium having stored thereon a software component relating to a model of a biological system, comprising:
-
an attribute relating to at least one state variable;
an attribute relating to an initialization method; and
an attribute relating to a method of determining the rate of change over time of the at least one state variable. - View Dependent Claims (22, 26, 27, 28, 29, 30, 31)
-
-
23. A computer-readable medium having stored thereon an adapter relating to a model of a biological system, comprising:
-
an attribute relating to a first data format;
an attribute relating to a second data format; and
an attribute relating to a function for translating data from the first data format to the second data format.
-
-
24. A computer-readable medium having stored thereon an adapter relating to a model of a biological system, comprising:
-
an attribute relating to an expected output variable of a first component;
an attribute relating to an expected input variable of a second component; and
an attribute relating to a function for mapping the value of the output variable to a value that is a valid value for the input variable.
-
-
25. A method of evaluating at least one characteristic of a modeled biological system, comprising a plurality of connected software components, the method comprising:
-
(a) estimating the amount of time necessary to evaluate the at least one characteristic on a first computer;
(b) if the estimated time exceeds a predetermined length of time, selecting a plurality of connected software components that can be evaluated within the predetermined length of time on another computer and that have not previously been selected in any iteration of step (b);
(c) if any software components have been selected in the current iteration of step (b), transmitting to the other computer data relating to the attributes of the selected software components, data indicative of the state of the selected software components, data indicative of the rate of change of the state of the selected software components, and a direction to evaluate the selected software components without reference to the other software components in the modeled biological system;
(d) repeating steps (a) through (c) with respect to the modeled system without any software components previously selected in any iteration of step (b) until the estimated time does not exceed the predetermined length of time;
(e) evaluating any software components not selected in any iteration of step (c) without reference to the other software components in the modeled biological system;
(f) receiving from each other computer to which data was transmitted in any iteration of step (c), data indicative of a rate of change; and
(g) evaluating the entire modeled biological system based on data calculated in step (e) and received in step (f).
-
-
32. A computer-readable medium having stored thereon computer-executable instructions for performing the steps comprising:
-
(a) estimating the amount of time necessary to evaluate the at least one characteristic on a first computer;
(b) if the estimated time exceeds a predetermined length of time, selecting a plurality of connected software components that can be evaluated within the predetermined length of time on another computer and that have not previously been selected in any iteration of step (b);
(c) if any software components have been selected in the current iteration of step (b), transmitting to the other computer data relating to the attributes of the selected software components, data indicative of the state of the selected software components, data indicative of the rate of change of the state of the selected software components, and a direction to evaluate the selected software components without reference to the other software components in the modeled biological system;
(d) repeating steps (a) through (c) with respect to the modeled system without any software components previously selected in any iteration of step (b) until the estimated time does not exceed the predetermined length of time;
(e) evaluating any software components not selected in any iteration of step (c) without reference to the other software components in the modeled biological system;
(f) receiving from each other computer to which data was transmitted in any iteration of step (c), data indicative of a rate of change; and
(g) evaluating the entire modeled biological system based on data calculated in step (e) and received in step (f).
-
-
33. A method of evaluating at least one characteristic of a modeled biological system, comprising a plurality of connected software components, the method comprising steps for:
-
(a) estimating the amount of time necessary to evaluate the at least one characteristic on a first computer;
(b) if the estimated time exceeds a predetermined length of time, selecting a plurality of connected software components that can be evaluated within the predetermined length of time on another computer and that have not previously been selected in any iteration of step (b);
(c) if any software components have been selected in the current iteration of step (b), transmitting to the other computer data relating to the attributes of the selected software components, data indicative of the state of the selected software components, data indicative of the rate of change of the state of the selected software components, and a direction to evaluate the selected software components without reference to the other software components in the modeled biological system;
(d) repeating steps (a) through (c) with respect to the modeled system without any software components previously selected in any iteration of step (b) until the estimated time does not exceed the predetermined length of time;
(e) evaluating any software components not selected in any iteration of step (c) without reference to the other software components in the modeled biological system;
(f) receiving from each other computer to which data was transmitted in any iteration of step (c), data indicative of a rate of change; and
(g) evaluating the entire modeled biological system based on data calculated in step (e) and received in step (f). - View Dependent Claims (37, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
34. A system for evaluating at least one characteristic of a modeled biological system, comprising a plurality of connected software components, the system comprising:
-
means for estimating the amount of time necessary to evaluate the at least one characteristic on a first computer;
means for repeatedly selecting a plurality of connected software components that have not been previously selected and that can be evaluated within the predetermined length of time on another computer until all of the unselected components can be evaluated on the first computer within the predetermined length of time;
means for transmitting to each other computer data relating to the attributes of any selected software components, data indicative of the state of the selected software components, data indicative of the rate of change of the state of the selected software components, and a direction to evaluate the selected software components without reference to the other software components in the modeled biological system;
means for evaluating any unselected software without reference to the other software components in the modeled biological system;
means for receiving from each other computer to which data was transmitted, data indicative of a rate of change; and
means for evaluating the entire modeled biological system based on the calculated data and the received data.
-
-
35. A system for evaluating at least one characteristic of a modeled biological system, comprising a plurality of connected software components, the system comprising:
-
a first processor;
a memory in communication with said first processor; and
at least one additional processor in communication with said first processor, wherein said first processor estimates the amount of time necessary to evaluate the at least one characteristic on a first computer;
wherein, if the estimated time exceeds a predetermined length of time, said first processor selects a plurality of connected software components that can be evaluated within the predetermined length of time on one of said at least one additional processor and that have not previously been selected;
wherein, if any software components have been selected, said first processor causes to be transmitted to the one of said at least one additional processor data relating to the attributes of the selected software components, data indicative of the state of the selected software components, data indicative of the rate of change of the state of the selected software components, and a direction to evaluate the selected software components without reference to the other software components in the modeled biological system;
wherein said first processor evaluates any unselected software components without reference to the other software components in the modeled biological system;
wherein said first processor receives from the one of said at least one additional processor, data indicative of a rate of change; and
wherein said first processor evaluates the entire modeled biological system based on the received data and the calculated data.
-
-
36. A system for modeling a biological system, comprising
a plurality of software components, each of which is connected with at least one other software component, wherein each of said components directly communicates only with parent or child components.
-
38. A system for modeling a biological system, comprising
a user interface running on a first computer; a simulation engine running on a second computer, wherein said user interface and said simulation engine each comprise at least one distributable component.
Specification