IP Library Granted Patent US 8,332,811
Granted Patent B2
US 8,332,811 · App. 12/433,533 · Granted Dec 11, 2012

Systems and methods for generating source code for workflow platform

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,332,811
App. No.
12/433,533
Granted
Dec 11, 2012
Kind
B2
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.

Claims (42)

1. A computer-readable medium containing code executable by a processor to generate executable source code for a workflow in a particular target language comprising:

one or more runtime components adapted for:

reading a file comprising a workflow domain model for a workflow comprising a first set of objects, wherein (a) each object of the workflow domain model represents a particular workflow activity of the workflow or a particular connection between two activities of the workflow and (b) each object of the workflow domain model carries properties associated with the particular workflow activity or the particular connection;

creating a target language domain model comprising a second set of objects, wherein each object of the second set of objects represents an appropriate object of the target language for each object of the workflow domain model;

transcribing the properties carried by each object of the workflow domain model to the corresponding object of the target language domain model; and

generating the executable source code for the workflow in the particular target language from the target language domain model.

2. The computer-readable medium of claim 1 wherein the workflow domain model does not indicate any information about what target language source code is going to be generated.

3. The computer-readable medium of claim 1 wherein the objects of the first set of objects are programming language classes.

4. The computer-readable medium of claim 1 wherein the objects of the second set of objects are programming language classes.

5. The computer-readable medium of claim 1 wherein the file comprising the workflow domain model is an XML schema file.

6. The computer-readable medium of claim 1 wherein the target language comprises one of C++, C#, .NET, or JAVA programming language.

7. The computer-readable medium of claim 1 wherein the source code indicates each activity of the workflow and the connections between the activities.

8. The computer-readable medium of claim 1 wherein the source code includes a set of one or more methods wherein each method is associated with a particular workflow activity and each method serves as a skeleton for a developer to write the content to perform for the particular workflow activity.

9. The computer-readable medium of claim 8 wherein the one or more methods are callback methods.

10. The computer-readable medium of claim 1 wherein the workflow represents a progression of physical work to perform.

11. A system for generating source code for a workflow in a particular target language, the system comprising:

memory adapted to store a code generator; and a processor in communication with the memory and adapted to execute the code generator stored in the memory, wherein the code generator is adapted for execution by the processor to:

read a file comprising a workflow domain model for a workflow comprising a first set of objects, wherein (a) each object of the workflow domain model represents a particular workflow activity of the workflow or a particular connection between two activities of the workflow and (b) each object of the workflow domain model carries properties associated with the particular workflow activity or the particular connection create a target language domain model comprising a second set of objects, wherein each object of the second set of objects represents an appropriate object of the target language for each object of the workflow domain model;

transcribe the properties carried by each object of the workflow domain model to the corresponding object of the target language domain model; and generate the source code for the workflow in the particular target language from the target language domain model.

12. The system of claim 11 wherein the workflow domain model does not indicate any information about what target language source code is going to be generated.

13. The system of claim 11 wherein the objects of the first set of objects are programming language classes.

14. The system of claim 11 wherein the objects of the second set of objects are programming language classes.

15. The system of claim 11 wherein the file comprising the workflow domain model comprises an XML schema file.

16. The system of claim 11 wherein the target language comprises one of C++, C#, .NET, or JAVA programming language.

17. The system of claim 11 wherein the source code indicates each activity of the workflow and the connections between the activities.

18. The system of claim 11 wherein the source code includes a set of one or more methods wherein each method is associated with a particular workflow activity and each method serves as a skeleton for a developer to write the content to perform for the particular workflow activity.

19. The system of claim 18 wherein the one or more methods are callback methods.

20. The system of claim 11 wherein the workflow represents a progression of physical work to perform.

21. A computer-implemented method for generating source code for a workflow in a particular target language, the method comprising the steps of:

reading via a code generator residing on a computer device a file comprising a workflow domain model for a workflow comprising a first set of objects, wherein (a) each object of the workflow domain model represents a particular workflow activity of the workflow or a particular connection between two activities of the workflow and (b) each object of the workflow domain model carries properties associated with the particular workflow activity or the particular connection;

creating in memory a target language domain model comprising a second set of objects, wherein each object of the second set of objects represents an appropriate object of the target language for each object of the workflow domain model;

transcribing the properties carried by each object of the workflow domain model to the corresponding object of the target language domain model; and

generating the source code via the code generator for the workflow in the particular target language from the target language domain model.

22. The method of claim 21 wherein the workflow domain model does not indicate any information about what target language source code is going to be generated.

23. The method of claim 21 wherein the objects of the first set of objects are programming language classes.

24. The method of claim 21 wherein the objects of the second set of object are programming language classes.

25. The method of claim 21 wherein the file comprising the workflow domain model comprises an XML schema file.

26. The method of claim 21 wherein the target language comprises one of C++, C#, .NET, or JAVA programming language.

27. The method of claim 21 wherein the source code indicates each activity of the workflow and the connections between the activities.

28. The method of claim 21 wherein the source code includes a set of one or more methods wherein each method is associated with a particular workflow activity and each method serves as a skeleton for a developer to write the content to perform for the particular workflow activity.

29. The method of claim 28 wherein the one or more methods are callback methods.

30. The method of claim 21 wherein the workflow represents a progression of physical work to perform.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2009
From: FESTA, JOHN M.
To: UNITED PARCEL SERVICE OF AMERICA, INC.
Reel/Frame 022710/0201 →
Continuity (1)
Related Publication 20100281462A1 · Nov 4, 2010