Systems and Methods for a Real-Time Workflow Platform
First Claim
1. A computer-readable medium containing code executable by a processor to generate a workflow engine comprising:
- a Petri net domain model comprising a set of objects, wherein each object represents a particular type of element of a Petri net model; and
one or more runtime components adapted for;
reading source code representing a particular workflow, wherein the source code indicates elements of the particular workflow and connectors between elements of the particular workflow to sequence the elements of the particular workflow;
loading the particular workflow into memory by mapping each element of the particular workflow to one or more objects of the set of objects and by mapping each connector of the particular workflow to one or more objects of the set of objects based on rules governing the Petri net model; and
executing the particular workflow loaded into the memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention provide systems and methods for enabling design, generation, and execution of real-time workflows. Such embodiments provide a graphical designer including a plurality of shapes representing the various objects of a workflow that are used to model the workflow. In addition, various embodiments of the graphical designer provide shapes to model aspects of the workflow not found in previous graphical designers. Various embodiments also provide a code generator that converts the representation of the workflow into executable code for multiple target languages. Various embodiments also provide a workflow engine based on a Petri net model responsible for executing the workflow and for delegating tasks to be performed for the workflow to an operating system. In various embodiments, the workflow engine further includes a platform abstraction layer that provides a transition layer from the Petri net language to the operating system language.
80 Citations
55 Claims
-
1. A computer-readable medium containing code executable by a processor to generate a workflow engine comprising:
-
a Petri net domain model comprising a set of objects, wherein each object represents a particular type of element of a Petri net model; and one or more runtime components adapted for; reading source code representing a particular workflow, wherein the source code indicates elements of the particular workflow and connectors between elements of the particular workflow to sequence the elements of the particular workflow; loading the particular workflow into memory by mapping each element of the particular workflow to one or more objects of the set of objects and by mapping each connector of the particular workflow to one or more objects of the set of objects based on rules governing the Petri net model; and executing the particular workflow loaded into the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for executing a workflow comprising:
-
memory adapted to store a workflow engine module; and a processor in communication with the memory and adapted to execute the workflow engine module stored in memory, wherein; the workflow engine module comprises a Petri net domain model comprising a set of objects wherein each object represents a particular type of element of a Petri net model; and is adapted for execution by the processor to; read source code representing a particular workflow wherein the source code indicates elements of the particular workflow and connectors between elements of the particular workflow to sequence the elements of the particular workflow; load the particular workflow into the memory by mapping each element of the particular workflow to one or more objects of the set of objects and by mapping each connector of the particular workflow to one or more objects of the set of objects based on rules governing the Petri net model; and execute the particular workflow loaded into the memory. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-implemented method for executing a workflow, the method comprising the steps of:
-
developing a Petri net domain model comprising a set of objects wherein each object represents a particular type of element of a Petri net model; reading source code representing a particular workflow by executing a workflow engine residing on a computing device, wherein the source code indicates elements of the particular workflow and connectors between elements of the particular workflow to sequence the elements of the particular workflow; loading the particular workflow into memory by mapping each element of the particular workflow to one or more objects of the set of objects and by mapping each connector of the particular workflow to one or more objects of the set of objects based on rules governing the Petri net model; and executing the particular workflow loaded into the memory by using the workflow engine. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A computer-readable medium containing code executable by a processor to generate a graphical designer comprising:
-
a desktop workspace; and a plurality of shapes adapted to be selectively dragged and dropped onto the workspace by a designer, each shape expressing performance of at least one predefined role in a workflow process, wherein one or more shapes of the plurality of shapes are adapted to express a role of concurrency within the workflow process so that a workflow engine adapted to execute code generated to represent a particular workflow designed using the graphical designer and having at least one shape of the one or more shapes expressing the role of concurrency is further adapted to manage the concurrency of the particular workflow. - View Dependent Claims (34, 35, 36)
-
-
37. A system for executing a workflow containing concurrency within the workflow comprising:
-
memory adapted to store a graphical designer module and a workflow engine module; and at least one processor in communication with the memory and adapted to execute the graphical designer module and the workflow engine module stored in memory, wherein; the graphical designer module is adapted for execution by the at least one processor to; generate a graphical representation of the workflow containing concurrency comprising; a desktop workspace; and a plurality of shapes adapted to be selectively dragged and dropped onto the workspace by a designer, each shape expressing performance of at least one predefined role in the workflow wherein one or more shapes of the plurality of shapes express a role of concurrency within the workflow; and generate executable code based on the graphical representation of the workflow containing concurrency; and the workflow engine module is adapted for execution by the at least one processor to execute the code to perform the workflow and to manage the concurrency of the workflow. - View Dependent Claims (38, 39, 40, 41)
-
-
42. A computer-implemented method for executing a workflow containing concurrency within the workflow, the method comprising the steps of:
-
generating a graphical representation of the workflow containing concurrency by dragging and dropping a plurality of shapes onto a desktop workspace provided by a graphical designer module residing on at least one computing device, each shape expressing performance of at least one predefined role in the workflow wherein one or more shapes of the plurality of shapes express a role of concurrency within the workflow; generating executable code based on the graphical representation of the workflow containing concurrency; and executing the code using a workflow engine residing on the at least one computing device to perform the workflow and to manage the concurrency of the workflow. - View Dependent Claims (43, 44, 45, 46)
-
-
47. A computer-readable medium containing code executable by a processor to generate a graphical designer comprising:
-
a desktop workspace; and a plurality of shapes adapted to be selectively dragged and dropped onto the workspace by a designer, each shape expressing performance of at least one predefined role in a workflow process, wherein one or more shapes of the plurality of shapes express a role of communicating with a resource external to the workflow process so that a workflow engine adapted for executing code generated to represent a particular workflow designed using the graphical designer and having at least one shape of the one or more shapes expressing the role of communicating with the external resource is further adapted to manage communicating with the process external to the particular workflow. - View Dependent Claims (48, 49)
-
-
50. A system for executing a workflow communicating with a resource external to the workflow comprising:
-
memory adapted to store a graphical designer module and a workflow engine module; and at least one processor in communication with the memory and adapted to execute the graphical designer module and the workflow engine module stored in memory, wherein; the graphical designer module is adapted for execution by the at least one processor to; generate a graphical representation of the workflow communicating with the resource external to the workflow comprising; a desktop workspace; and a plurality of shapes adapted to be selectively dragged and dropped onto the workspace by a designer, each shape expressing performance of at least one predefined role in the workflow wherein one or more shapes of the plurality of shapes express a role of communicating with the resource external to the workflow; and generate executable code based on the graphical representation of the workflow; and the workflow engine module is adapted for execution by the at least one processor to execute the code to perform the workflow and to manage communication with the resource external to the workflow. - View Dependent Claims (51, 52)
-
-
53. A computer-implemented method for executing a workflow communicating with a resource external to the workflow, the method comprising the steps of:
-
generating a graphical representation of the workflow communicating with the resource external to the workflow by dragging and dropping a plurality of shapes onto a workspace provided by a graphical designer residing one at least one computing device, each shape expressing performance of at least one predefined role in the workflow wherein one or more shapes of the plurality of shapes express a role of communicating with the resource external to the workflow; generating executable code based on the graphical representation of the workflow; and executing the code using a workflow engine residing on the at least one computing device to perform the workflow and to manage communication with the resource external to the workflow. - View Dependent Claims (54, 55)
-
Specification