Systems and methods for a real-time workflow platform using Petri net model mappings
First Claim
1. A non-transitory computer-readable medium containing code executable by a computer processor to generate a workflow engine comprising:
- a Petri net domain model comprising a set of objects comprising a token object, a place object, an arc object, a transition object, and one or more trigger objects, wherein (a) each object represents a particular type of element of a Petri net model and (b) the one or more trigger objects represent triggering a transition object based at least in part on stimuli external to the workflow engine; and
one or more runtime components configured 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,wherein the workflow engine further comprises one or more abstraction layer components comprising a transition layer from the Petri net domain model to an operating system, the abstraction layer configured to delegate one or more tasks associated with elements of the particular workflow of the Petri net domain to the operating system, via the transition layer, the delegated tasks to be performed by the operating system.
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.
59 Citations
26 Claims
-
1. A non-transitory computer-readable medium containing code executable by a computer processor to generate a workflow engine comprising:
-
a Petri net domain model comprising a set of objects comprising a token object, a place object, an arc object, a transition object, and one or more trigger objects, wherein (a) each object represents a particular type of element of a Petri net model and (b) the one or more trigger objects represent triggering a transition object based at least in part on stimuli external to the workflow engine; and one or more runtime components configured 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, wherein the workflow engine further comprises one or more abstraction layer components comprising a transition layer from the Petri net domain model to an operating system, the abstraction layer configured to delegate one or more tasks associated with elements of the particular workflow of the Petri net domain to the operating system, via the transition layer, the delegated tasks to be performed by the operating system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for executing a workflow comprising:
-
memory configured to store a workflow engine module; and a processor in communication with the memory and configured 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 comprising a token object, a place object, an arc object, a transition object, and one or more trigger objects, wherein (a) each object represents a particular type of element of a Petri net model and (b) the one or more trigger objects represent triggering a transition object based at least in part on stimuli external to the workflow engine; and is configured 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, wherein the workflow engine further comprises one or more abstraction layer components comprising a transition layer from the Petri net domain model to an operating system, the abstraction layer configured to delegate one or more tasks associated with elements of the particular workflow of the Petri net domain to the operating system, via the transition layer, the delegated tasks to be performed by the operating system. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. 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 comprising a token object, a place object, an arc object, a transition object, and one or more trigger objects, wherein (a) each object represents a particular type of element of a Petri net model and (b) the one or more trigger objects represent triggering a transition object based at least in part on stimuli external to the workflow engine; 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, wherein the workflow engine further comprises one or more abstraction layer components comprising a transition layer from the Petri net domain model to an operating system, the abstraction layer configured to delegate one or more tasks associated with elements of the particular workflow of the Petri net domain to the operating system, via the transition layer, the delegated tasks to be performed by the operating system. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification