IP Library Granted Patent US 8,656,350
Granted Patent B2
US 8,656,350 · App. 12/025,578 · Granted Feb 18, 2014

Event-based process configuration

Inventors: John Bates (Nashua, NH); Gareth Smith (Cambridge, GB); Richard M. Bentley (Essex, GB)
Assignee: Software AG
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,656,350
App. No.
12/025,578
Granted
Feb 18, 2014
Kind
B2
Abstract

A system and method for configuring an event-based process are disclosed. A configuration module receives input describing an event-based process or modifications to an event-based process. For example, the configuration module receives as input a graphical depiction of one or more states and state transitions that comprise at least a portion of the event-based process. Using the received input description, the configuration module generates executable data, such as data formatted as an event processing language, corresponding to the input. The executable data is then communicated to an event engine which executes the executable data to implement the event-based process or modifications to an event-based process corresponding to the received input. One or more aspects of the execution of the event-based process may also be visualized, and graphically modified, though an event monitoring module.

Claims (59)

1. A system for configuring an event-based process by a user, the system comprising:

a user interface system running on one or more microprocessors for generating a user interface for a user, the user interface being configured to allow the user to build a graphical representation of the event-based process using graphical representations of states and state transitions, wherein the user can select a previously-defined state and add it to the graphical representation of the event-based process and use the graphical representation of the event-based process to specify a relationship between the added state and existing states;

a configuration system running on the one or more microprocessors for receiving the graphical representation of the event-based process and for generating executable data describing the event-based process from the graphical representation;

wherein generating includes converting at least a portion of the graphical representation of the event-based process into an event programming language;

an event engine running on the one or more microprocessors, adapted to communicate with the configuration system, for receiving the executable data describing the event-based process and for executing the event-based process from the received executable data; and

an event monitoring system running on the one or more microprocessors, adapted to communicate with the event engine, for displaying a visual representation of the event-based process during execution.

2. The system of claim 1 , wherein the event monitoring system is remote from the event engine.

3. The system of claim 1 comprising an event integration layer running on the one or more microprocessors, adapted to communicate with the event engine, for transmitting data between the event engine and a computing device.

4. The system of claim 1 wherein the user interface system is configured to display data describing the event-based process in a graphical modeling interface environment.

5. The system of claim 1 , wherein the executable data comprises an event programming language representing the received input.

6. The system of claim 1 , wherein the visual representation comprises a graphical dashboard.

7. An apparatus for configuring an event-based process, the apparatus comprising:

a processor-based editing system for receiving input from a user comprising a graphical description of the event-based process, the graphical description including graphical representations of states and state transitions of the event-based process, wherein the user can select a previously-defined state and add it to the graphical description of the event-based process and use the graphical description of the event-based process to specify a relationship between the added state and existing states;

a processor-based generation system, adapted to communicate with the editing system, for generating executable data describing the event-based process described by the received input;

wherein generating includes converting at least a portion of the received input into an event programming language; and

a storage system, adapted to communicate with the generation system, for storing the generated executable data describing the event-based process.

8. The apparatus of claim 7 comprising: a user interface system for displaying data describing the event-based process in a graphical modeling interface environment, the user interface system coupled for communication with the editing system.

9. The apparatus of claim 7 , wherein the editing system comprises: a state system for modifying at least one of the states of the event-based process.

10. The apparatus of claim 7 , wherein the editing system comprises: a rules system for generating one or more rules describing at least one of the state transitions of the event-based process.

11. The apparatus of claim 7 , wherein the editing system comprises: a variable system for storing and modifying a variable used by the event-based process.

12. The apparatus of claim 7 , wherein the editing system comprises: a catalog system for storing a previously defined event-based process.

13. The apparatus of claim 7 , wherein the executable data describing the event-based process comprises an event programming language representing the received input.

14. A method for configuring an event-based process, the method comprising:

receiving user input comprising a graphical description of the event-based process, wherein the graphical description includes graphical representations of states and state transitions of the event-based process, wherein the user can select a previously-defined state and add it to the graphical description of the event-based process and use the graphical description of the event-based process to specify a relationship between the added state and existing states;

generating executable data representing the event-based process using the received user input;

wherein generating includes converting at least a portion of the received input into an event programming language; and

generating the event-based process by executing the generated executable data.

15. The method of claim 14 comprising: displaying, at a remote location, monitoring data describing execution of the event-based process.

16. The method of claim 15 , wherein the monitoring data describing execution of the event-based process comprises a graphical dashboard.

17. The method of claim 14 , wherein generating the event-based process comprises:

transmitting the executable data to an event processing engine;

generating the event-based process by implementing the executable data; and

processing a received event using the event-based process.

18. The method of claim 14 , wherein generating executable data representing the event-based process comprises: generating data formatted in an event processing language, the generated data corresponding to the received input.

19. The method of claim 14 , wherein generating executable data representing the event-based process comprises: associating the received input with a previously generated event-based process.

20. The method of claim 14 , wherein the received input includes a modification to the event-based process.

21. A method for remote configuration of an event-based process, the method comprising:

receiving input from a user describing the event-based process, the user input including graphical representations of states and state transitions of the event-based process, wherein the user can select a previously-defined state and add it to the graphical representations of the states and the state transitions of the event-based process and use the graphical representations of the states and the state transitions of the event-based process to specify a relationship between the added state and existing states;

responsive to receiving user input, generating executable data associated with the event-based process;

wherein generating includes converting at least a portion of the received user input into an event programming language;

generating a data packet including the generated executable data and an event-based process identifier; and

transmitting the data packet.

22. The method of claim 21 , wherein generating the data packet comprises:

identifying an event-based process state from the received input; and

generating state data in a structured format describing the event-based process state.

23. The method of claim 22 , wherein generating the data packet comprises:

identifying an event processing rule describing a transition between event-based process states from the received input; and

generating rule data in a structured format describing the identified event processing rule, wherein the rule data in the structured format is associated with the state data in the structured format.

24. The method of claim 22 , wherein generating the data packet comprises:

identifying a variable used in the event-based process state from the received input; and

generating variable data in a structured format describing the identified variable, wherein the variable data in the structured format is associated with the state data in a structured format.

25. The method of claim 21 , wherein generating the data packet comprises:

identifying an input variable describing an event received by the event-based process;

identifying an output variable describing an action generated by the event-based process; and

generating an interface module including the event-based process identifier, the input variable and the output variable.

26. The method of claim 21 , wherein generating the data packet comprises:

generating an interface module including the event-based process identifier and a variable;

generating a description module including at least one of the states of the event-based process, and a rule; and

combining the interface module and the description module.

Assignments (4)
CHANGE OF NAME Recorded Dec 17, 2024
From: MOSEL BIDCO AG
To: SOFTWARE GMBH
Reel/Frame 069715/0415 →
MERGER Recorded Dec 17, 2024
From: SOFTWARE AG
To: MOSEL BIDCO AG
Reel/Frame 070095/0634 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2013
From: PROGRESS SOFTWARE CORPORATION
To: SOFTWARE AG
Reel/Frame 031048/0300 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2008
From: BATES, JOHN; SMITH, GARETH; BENTLEY, RICHARD M.
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 020461/0337 →
Continuity (3)
Provisional Application 60888495 · Feb 6, 2007
Provisional Application 60896266 · Mar 21, 2007
Related Publication 20080196006A1 · Aug 14, 2008