Configurable testing of computer programs
US-9274926-B2 · Mar 1, 2016 · US
US9886319B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9886319-B2 |
| Application number | US-70499810-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 12, 2010 |
| Priority date | Feb 13, 2009 |
| Publication date | Feb 6, 2018 |
| Grant date | Feb 6, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Managing task execution includes: receiving a specification of a plurality of tasks to be performed by respective functional modules; processing a flow of input data using a dataflow graph that includes nodes representing data processing components connected by links representing flows of data between data processing components; in response to at least one flow of data provided by at least one data processing component, generating a flow of messages; and in response to each of the messages in the flow of messages, performing an iteration of a set of one or more tasks using one or more corresponding functional modules.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for managing task execution, the method including: receiving, by a task managing application of a computer system, a specification of a plurality of tasks, wherein the task managing application includes a first program and a second program, with the second program for listening for and receiving messages from a data processing application of the computer system; initiating, by the first program of the task managing application, the data processing application of the computer system; processing, by the data processing application of the computer system, input data using a dataflow graph to transform one or more portions of the input data into an appropriate form for the task managing application, the dataflow graph including data processing components connected by flows of data between the data processing components; generating, by the data processing application, output data that includes the transformed one or more portions of the input data; generating, by the data processing application, a message, the message including data elements, with at least one of the data elements including at least some data of the transformed one or more portions of the input data included in the output data; transmitting the message to the task managing application; periodically listening, by the second program, for messages sent from the data processing application; storing, in data structures, messages received, with the storing being by the second program of the task managing application; and for each message stored in a data structure, starting, by the second program of the task managing application, a new iteration of the plurality of tasks in the specification; identifying, by the second program of the task managing application, at least one of the tasks to perform based on one or more values of the data elements in the message stored in the data structure; and performing, by the task managing application, the identified at least one of the tasks. 2. The method of claim 1 , wherein the plurality of tasks are to be performed by respective functional modules, wherein the dataflow graph is a first dataflow graph, and wherein at least one of the functional modules is configured to execute a second dataflow graph. 3. The method of claim 1 , wherein a dependency relationship between at least two tasks of the tasks defines at least a partial ordering for execution of functional modules corresponding to the tasks. 4. The method of claim 1 , wherein the plurality of tasks are to be performed by respective functional modules, wherein a dependency relationship between at least two tasks of the tasks defines conditional logic for determining at least one condition upon which execution of at least one of the functional modules is based. 5. The method of claim 4 , wherein at least one of the functional modules includes a fault-handling module that is executed when the conditional logic detects that a fault has occurred in execution of one of the other functional modules. 6. The method of claim 4 , wherein the generated message comprises a first message, and wherein second tasks are executed concurrently with the identified at least one of the tasks, with execution of the second tasks being in response to generating a second message. 7. The method of claim 1 , wherein the plurality of tasks are to be performed by respective functional modules, wherein at least one of the functional modules is configured to send an acknowledgement in response to receiving the message. 8. The method of claim 1 , wherein a data processing component resends an unacknowledged message. 9. The method of claim 1 , wherein the specification includes a control flow diagram that includes nodes representing functional modules, with the nodes connected by directed links representing flow of control between functional modules. 10. The method of claim 9 , wherein control flows from a first functional module to a second functional module, with a directed link connected from the first functional module to the second functional module, after a task performed by the first functional module has been completed. 11. The computer-implemented method of claim 1 , wherein the first program and the second program are different programs. 12. The computer-implemented method of claim 1 , wherein the first program and the second program are a same program. 13. The computer-implemented method of claim 1 , wherein periodically listening for the messages comprises listening, from time to time, for the messages. 14. The computer-implemented method of claim 1 , wherein storing the messages received comprises storing a first message received at a first time in a first data structure and storing a second message received at a second time in a second data structure. 15. The computer-implemented method of claim 1 , wherein the first program includes code and wherein the second program accesses or includes at least a portion of the code. 16. A system for managing task execution, the system including: one or more processing devices; and one or more machine-readable hardware storage devices storing instructions that are executable to cause the one or more processing devices to perform operations including: receiving, by a task managing application of a computer system, a specification of a plurality of tasks, wherein the task managing application includes a first program and a second program, with the second program for listening for and receiving messages from a data processing application of the computer system; initiating, by the first program of the task managing application, the data processing application of the computer system; processing, by the data processing application of the computer system, input data using a dataflow graph to transform one or more portions of the input data into an appropriate form for the task managing application, the dataflow graph including data processing components connected by flows of data between the data processing components; generating, by the data processing application, output data that includes the transformed one or more portions of the input data; generating, by the data processing application, a message, the message including data elements, with at least one of the data elements including at least some data of the transformed one or more portions of the input data included in the output data; transmitting the message to the task managing application; periodically listening, by the second program, for messages sent from the data processing application; storing, in data structures, messages received, with the storing being by the second program of the task managing application; and for each message stored in a data structure, starting, by the second program of the task managing application, a new iteration of the plurality of tasks in the specification; identifying, by the second program of the task managing application, at least one of the tasks to perform based on one or more values of the data elements in the message stored in the data structure; and performing, by the task managing application, the identified at least one of the tasks. 17. The system of claim 16 , wherein a dependency relationship between at least two tasks of the tasks defines at least a partial ordering for execution of functional modules corresponding to the tasks. 18. The system of claim 16 , wherein the plurality of tasks are to be performed by respective functional modules, wherein a dependency relationship between at least two tasks of the
considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title
Arrangements for executing specific programs · CPC title
Multiprogramming arrangements · CPC title
Constraint · CPC title
Execution paradigms, e.g. implementations of programming paradigms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.