Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models
First Claim
1. A method for executing a business process from a business process model recorded in a non-executable business process modeling language, the method comprising:
- providing a set of microinstructions wherein each microinstruction defines an atomic operation that can be executed as part of a running business process in accordance with semantics defined by the non-executable business process modeling language;
compiling, via a compiler operating on one or more microprocessors, a business process model for a business process recorded in the non-executable business process modeling language into a compiled business process model comprising a plurality of microprograms,wherein each microprogram comprises a minimal set of microinstructions selected from the set of microinstructions that together execute at least one of an activity, an event or a gateway of the business process model,wherein the microinstructions constitute an intermediate code portable to different runtime environments,wherein the compiler is configured tostatically analyze the business process model to determine a process flow of the business process model representing a sequence of process steps and configurations for activities, events and gateways of the business process model that comprise the process steps,select, subsequent to and based on statically analyzing the business process model, the minimal set of microinstructions for each of the plurality of microprograms, andgenerate the plurality of microprograms using the selected microinstructions to achieve execution of the business process model,wherein the microinstructions that comprise the minimal set of microinstructions are selected for each microprogram according to semantic execution of that microprogram within the process flow, and according totarget runtime performance of the business process,ability to reuse a microinstruction in other microprograms within the compiled business process model, andcompliance with the underlying state machine implementation, andwherein said compiling resolves conditional code in said business process model recorded in said non-executable business process modeling language, andwherein at runtime said compiled business process model is executable on an execution platform.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with embodiments of the invention, a set of Microinstructions define a set of primitives or instructions to execute a business process modeling language in accordance with the semantics defined by the language. The Microinstructions define atomic operations that can be executed as part of a running process. The Microinstructions can be combined into Microprograms which map to business processes of the business process modeling language, for example BPMN. The Microprograms can be compiled using a suitable compiler into any execution language. The Microinstructions thereby provide flexibility for executing business process modeling languages in any business process execution language.
118 Citations
20 Claims
-
1. A method for executing a business process from a business process model recorded in a non-executable business process modeling language, the method comprising:
-
providing a set of microinstructions wherein each microinstruction defines an atomic operation that can be executed as part of a running business process in accordance with semantics defined by the non-executable business process modeling language; compiling, via a compiler operating on one or more microprocessors, a business process model for a business process recorded in the non-executable business process modeling language into a compiled business process model comprising a plurality of microprograms, wherein each microprogram comprises a minimal set of microinstructions selected from the set of microinstructions that together execute at least one of an activity, an event or a gateway of the business process model, wherein the microinstructions constitute an intermediate code portable to different runtime environments, wherein the compiler is configured to statically analyze the business process model to determine a process flow of the business process model representing a sequence of process steps and configurations for activities, events and gateways of the business process model that comprise the process steps, select, subsequent to and based on statically analyzing the business process model, the minimal set of microinstructions for each of the plurality of microprograms, and generate the plurality of microprograms using the selected microinstructions to achieve execution of the business process model, wherein the microinstructions that comprise the minimal set of microinstructions are selected for each microprogram according to semantic execution of that microprogram within the process flow, and according to target runtime performance of the business process, ability to reuse a microinstruction in other microprograms within the compiled business process model, and compliance with the underlying state machine implementation, and wherein said compiling resolves conditional code in said business process model recorded in said non-executable business process modeling language, and wherein at runtime said compiled business process model is executable on an execution platform. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium including instructions stored thereon for supporting execution of a business process from a business process model recorded in a non-executable business process modeling language, which instructions, when executed by a computer, cause the computer to perform steps comprising:
-
providing a set of microinstructions wherein each microinstruction defines an atomic operation that can be executed as part of a running business process in accordance with semantics defined by the non-executable business process modeling language; compiling, via a compiler operating on one or more microprocessors, a business process model for a business process recorded in the non-executable business process modeling language into a compiled business process model comprising a plurality of microprograms, wherein each microprogram comprises a minimal set of microinstructions selected from the set of microinstructions that together execute at least one of an activity, an event or a gateway of the business process model, wherein the microinstructions constitute an intermediate code portable to different runtime environments, wherein the compiler is configured to statically analyze the business process model to determine a process flow of the business process model representing a sequence of process steps and configurations for activities, events and gateways of the business process model that comprise the process steps, select, subsequent to and based on statically analyzing the business process model, the minimal set of microinstructions for each of the plurality of microprograms, and generate the plurality of microprograms using the selected microinstructions to achieve execution of the business process model, wherein the microinstructions that comprise the minimal set of microinstructions are selected for each microprogram according to semantic execution of that microprogram within the process flow, and according to target runtime performance of the business process, ability to reuse a microinstruction in other microprograms within the compiled business process model, and compliance with the underlying state machine implementation, and wherein said compiling resolves conditional code in said business process model recorded in said non-executable business process modeling language, and wherein at runtime said compiled business process model is executable on an execution platform. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for executing a business process from a business process model recorded in a non-executable business process modeling language, the system comprising:
-
one or more microprocessors and a memory; a set of microinstructions wherein each microinstruction defines an atomic operation that can be executed as part of a running business process in accordance with semantics defined by the non-executable business process modeling language; a compiler operating on said one or more microprocessors and memory; and wherein the compiler is adapted to compile a business process model for a business process recorded in the non-executable business process modeling language into a compiled business process model comprising a plurality of microprograms, wherein each microprogram comprises a minimal set of microinstructions selected from the set of microinstructions that together execute at least one of an activity, an event or a gateway of the business process model, wherein the microinstructions constitute an intermediate code portable to different runtime environments, wherein the compiler is configured to statically analyze the business process model to determine a process flow of the business process model representing a sequence of process steps and configurations for activities, events and gateways of the business process model that comprise the process steps, select, subsequent to and based on statically analyzing the business process model, the minimal set of microinstructions for each of the plurality of microprograms, and generate the plurality of microprograms using the selected microinstructions to achieve execution of the business process model, wherein the microinstructions that comprise the minimal set of microinstructions are selected for each microprogram according to semantic execution of that microprogram within the process flow, and according to target runtime performance of the business process, ability to reuse a microinstruction in other microprograms within the compiled business process model, and compliance with the underlying state machine implementation, and wherein said compiling resolves conditional code in said business process model recorded in said non-executable business process modeling language, and wherein at runtime said compiled business process model is executable on an execution platform. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification