Virtual machine and programming language for event processing
First Claim
Patent Images
1. A method for executing a virtual machine, comprising:
- obtaining instructions from a program, the instructions from the program having been generated in an intermediate language, by a compiler, to cause processing of an execution sequence according to a specification of a model, the model specification encoded using a model notation that is distinct from the intermediate language; and
executing the obtained instructions from the program using the virtual machine on a computer, wherein the instructions from the program are encoded in a markup language notation by the compiler and are selected by the compiler from allowable instructions of the intermediate language, the markup language notation being distinct from the intermediate language, the allowable instructions of the intermediate language comprising;
an event instruction for receiving an inbound event;
an assignment instruction for assigning a value;
a branch instruction for conditional transfer to a different one of the instructions;
an emit instruction for specifying that an outbound event is to be emitted;
a terminate instruction for specifying that a current execution context object is to be terminated; and
a fan-out instruction for at least one of specifying event correlation and enabling a context switch, the context switch causing a particular execution context object to be used as the current execution context object.
0 Assignments
0 Petitions
Accused Products
Abstract
A virtual machine supports execution of compiler-generated code and provides an execution environment for code that may correspond to any of several different event-driven or message-driven programming models (such as state machines, rules for complex event processing and event correlation, monitoring contexts, processes, and mediations). The programming models may be used in business monitoring and/or business integration environments. A programming language is defined for execution using the virtual machine, which contains a relatively small number of instructions and which is preferably generated by a compiler from a higher-level, event-driven or message-driven model.
-
Citations
14 Claims
-
1. A method for executing a virtual machine, comprising:
-
obtaining instructions from a program, the instructions from the program having been generated in an intermediate language, by a compiler, to cause processing of an execution sequence according to a specification of a model, the model specification encoded using a model notation that is distinct from the intermediate language; and executing the obtained instructions from the program using the virtual machine on a computer, wherein the instructions from the program are encoded in a markup language notation by the compiler and are selected by the compiler from allowable instructions of the intermediate language, the markup language notation being distinct from the intermediate language, the allowable instructions of the intermediate language comprising;
an event instruction for receiving an inbound event;
an assignment instruction for assigning a value;
a branch instruction for conditional transfer to a different one of the instructions;
an emit instruction for specifying that an outbound event is to be emitted;
a terminate instruction for specifying that a current execution context object is to be terminated; and
a fan-out instruction for at least one of specifying event correlation and enabling a context switch, the context switch causing a particular execution context object to be used as the current execution context object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
Specification