IP Library Granted Patent US 7,519,947
Granted Patent B2
US 7,519,947 · App. 10/618,865 · Granted Apr 14, 2009

Orchestration designer

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 7,519,947
App. No.
10/618,865
Granted
Apr 14, 2009
Kind
B2
Abstract

The present invention supports the design of a process using a drawing surface that specifies the process with underlying programmatic constructs. In response to a user's command, a construct corresponding to a shape is selected from a palette and inserted onto a design region that shows the specified process. The command is verified to be consistent with semantics of an associated process type. If so, a visual image of the specified process is updated. If not, an indicator is generated in a proximity of a relevant portion of the visual image in order to help the user resolve the inconsistency. The user is able to correct errors before generating computer-executable instructions from a high-level code emission. Computer-executable instructions are also generated from high-level code emission. A process engine is cognizant of the associated high-level lines of code and an infrastructure knowledge base while executing the computer-executable instructions.

Claims (53)

1. A method for designing a process, comprising:

(a) designing a model for a process with a visual display surface, the process being associated with a process type;

(b) generating a high-level code emission for the process with an association between the model for the process and an user-selected supported, inserted graphical shape-construct corresponding to a visual image; the process being specified by the visual image on the visual display surface; and

(c) transforming the high-level code emission into computer-executable instructions; through,

determining a first contextual evaluation whether the supported, inserted graphical shape-construct of step (b) is consistent with semantics corresponding to visual language logic module querying high-level language semantics module which contains semantics for the process type corresponding to previously selected supported, selected graphical shape-construct,

generating an indicator in a proximity of the inserted graphical shape-construct for updating corresponding visual image of the process type if step (b) is inconsistent with said semantics; and

transforming the association between the model and the high-level code emission for the process into computer-executable instructions.

2. The method of claim 1 , further comprising:

(d) executing the computer-executable instructions.

3. The method of claim 2 , wherein (d) is executed on a plurality of computers.

4. The method of claim 3 , wherein the computer-executable instructions are scalable.

5. The method of claim 2 , wherein (d) comprises:

(i) obtaining the high-level code emission;

(ii) retrieving information about an infrastructure on which the computer-executable instructions are executed; and

(iii) executing the computer-executable instructions in accordance with the high-level code emission and the information about the infrastructure.

6. The method of claim 5 , wherein the computer-executable instructions are transport agnostic.

7. The method of claim 1 , wherein the process is a business process.

8. The method of claim 1 , wherein (c) comprises:

(i) compiling the high-level code emission to form compiled code; and

(ii) assembling the compiled code to form the computer-executable instructions.

9. The method of claim 1 , further comprising: allowing the user to bypass any high-level error detection and leaving error detection until the high-level code compiles through a compiler.

10. The method of claim 1 , further comprising: user-selected customization for inserted graphical shape-constructs, wherein the user may separately add high-level command functions after selecting the user-selected inserted graphical shape-construct.

11. The method of claim 1 , further comprising: user-selected customization for inserted graphical shape-constructs, wherein the user may initially enter high-level command functions, wherein the association between the model and the high-level code emission for the process is automatically triggered and a shape-construct is activated according to the high-level code.

12. An apparatus for designing a process, comprising:

a visual designer that displays a visual image and that generates a high-level code emission, the visual image specifying the process and the high-level code emission specifying the process with an association between the process and the visual image designer that generates the high-level code emission, the process being associated with a process type;

a compiler that obtains the high-level code emission from the visual designer and that transforms the high-level code emission into compiled code; through,

a contextual evaluation determining whether selected input to the visual designer is consistent with semantics corresponding to visual language logic module querying high-level language semantics module which contains the semantics of the process corresponding to previously selected input to the visual designer,

a generator that generates an indicator in a proximity of the selected input for updating corresponding visual image of the process type if the contextual evaluation determines inconsistency with said semantics; and

a transformation is executed with the association between the process and the visual image designer to generate the high-level code emission into compiled code; and

an assembler that assembles the compiled code into computer-executable instructions.

13. The apparatus of claim 12 , further comprising:

an infrastructure knowledge base that contains information about an infrastructure of an underlying computer system and an execution environment; and

a process execution engine that queries the infrastructure knowledge base to obtain the information and executes the computer-executable instructions in accordance with the information, the information being indicative about a configuration of the computer system, the process being executed on the computer system.

14. The apparatus of claim 13 , wherein the process execution engine is remotely located from the visual designer.

15. The apparatus of claim 13 , wherein the process execution engine is co-located with the visual designer.

16. The apparatus of claim 12 , wherein the visual designer comprises: an input module that receives a command from a user, the command associated with at least one visual language logic module;

an association to the visual language logic module that determines whether the command is consistent with the semantics of the process type; and

a display module that displays a visual image to a user, that queries the visual language logic module about the command and updates the visual image in accordance with the command, the visual image specifying the process.

17. A computer-readable storage medium storing computer-executable modules, comprising:

(a) an input module that receives a command from a user, the command associated with at least one visual language logic module;

(b) a high-level language semantics module that contains semantics of a process type;

(c) an association to the visual language logic module that determines whether the command is consistent with the semantics of the process type corresponding to the visual language logic module querying high-level language semantics module corresponding to previously selected visual language logic;

(d) a generator module that generates an indicator in a proximity of the selected visual language logic if the association to the visual language logic module determines inconsistency with said semantics; and

(e) a display module that displays a visual image to a user, that queries the visual language logic module about the command and updates the visual image in accordance with the command, the visual image specifying a process, the process being associated with the process type.

18. A method for visually designing a business process, comprising:

(a) displaying a visual image to a user, the visual image specifying a business process;

(b) receiving a command from the user to modify the business process;

(c) determining whether the command is consistent with semantics of a process type, corresponding to visual language logic module querying high-level language semantics module which contains semantics for the process type corresponding to previously selected command,

(d) generating an indicator in a proximity of a relevant portion of the visual image, the business process being associated with the process type;

(e) in response to (d), updating the visual image;

(f) in response to (e) representing the process as a high-level code emission; and

(g) transforming the high-level code emission into computer-executable instructions; and

(h) executing the computer-executable instructions in accordance with the high-level code emission and the information about an infrastructure of a system, the business process being executed on the system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2003
From: SHUKLA, DHARMA; MEHTA, MAYANK; LU, YAO; BHANDARKAR, ADITYA; FUSARO, EDDIE; WAIN, MARK N.; FONG, DAVID; VALEGEREPURA, KUMARSWAMY; SAGAR, AKASH; CHILUVURI, MURALIDHARA V.; VEDULA, RAVI S.
To: MICROSOFT CORPORATION
Reel/Frame 014297/0179 →