US2011296419A1PendingUtilityA1

Event-based coordination of process-oriented composite applications

50
Assignee: DUMAS MARLON GPriority: Sep 2, 2005Filed: Nov 22, 2010Published: Dec 1, 2011
Est. expirySep 2, 2025(expired)· nominal 20-yr term from priority
G06Q 10/06G06F 9/542G06F 8/10G06F 8/35
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A process model specified using, for example, UML activity diagrams can be translated into an event-based model that can be executed on top of a coordination middleware. For example, a process model may be encoded as a collection of coordinating objects that interact with each other through a coordination middleware including a shared memory space. This approach is suitable for undertaking post-deployment adaptation of process-oriented composite applications. In particular, new control dependencies can be encoded by dropping new (or enabling existing) coordinating objects into the space and/or disabling existing ones.

Claims

exact text as granted — not AI-modified
1 . A computer program product tangibly embodied on a computer-readable medium and including executable code that, when executed, is configured to cause a data processing apparatus to
 read a first task completion event from a memory space using a router object, the first task completion event indicating completion of a first task of an executing instance of a process model;   write a first task-enabling event to the memory space using the router object;   read the first task-enabling event at a connector object and coordinate performance of a second task of the process model based thereon and using the connector object; and   write a second task completion event to the memory space using the connector object and signifying completion of the second task.   
     
     
         2 . The computer program product of  claim 1  wherein the executable code, when executed, causes the data processing apparatus to:
 read a plurality of task-completion events from the memory space, including the first task completion event; and 
 evaluate conditions associated with the plurality of task-completion events to determine whether the task-completion events match an input set of the router object that is defined with respect to a path through the instance of the process model. 
 
     
     
         3 . The computer program product of  claim 1  wherein the executable code, when executed, causes the data processing apparatus to:
 read the first task completion event from the memory space at the router object and within the instance of the process model; and 
 write a modified first task-enabling event to the memory space, in response to the reading of the first task completion event, in order to execute the instance of the process model. 
 
     
     
         4 . The computer program product of  claim 1  wherein the instance of the process model includes a plurality of tasks, including the first task and the second task, and wherein each task is associated with a connector object configured to read task-enabling events from the memory space and determine whether any of the task-enabling events enable execution of its corresponding task, and, if so, to thereafter write task completion events to the memory space to thereby trigger execution of a subsequent task within the instance of the process model. 
     
     
         5 . The computer program product of  claim 1  wherein at least two of the connector objects are associated with corresponding external software applications, and are configured to complete their corresponding tasks including executing the corresponding external software applications. 
     
     
         6 . The computer program product of  claim 5  wherein the instance of the process model executes a packaged composite application that is defined by the process model and that includes functionality of the external applications to perform their corresponding tasks. 
     
     
         7 . The computer program product of  claim 6  wherein the executable code, when executed, causes the data processing apparatus to:
 modify the instance of the process model by adding and/or changing an aspect of one or more of the router object and/or the connector object, based on a context of the packaged composite application. 
 
     
     
         8 . The computer program product of  claim 6  wherein the instance of the process model is created in response to receipt of a user stimulus from a user of the packaged composite application. 
     
     
         9 . The computer program product of  claim 1  wherein the executing instance of the process model represents an event-based version of an underlying initial version of the process model in which the process model is represented as a directed graph in which a plurality of tasks are connected by a plurality of directed edges. 
     
     
         10 . The computer program product of  claim 9 , wherein connector objects of the event-based version, including the connector object, represent the plurality of tasks and router objects of the event-based version, including the router object, implement the directed edges. 
     
     
         11 . An apparatus comprising:
 means for reading a first task completion event from a memory space using a router object, the first task completion event indicating completion of a first task of an executing instance of a process model;   means for writing a first task-enabling event to the memory space using the router object;   means for reading the first task-enabling event at a connector object and coordinate performance of a second task of the process model based thereon and using the connector object; and   means for writing a second task completion event to the memory space using the connector object and signifying completion of the second task.   
     
     
         12 . The apparatus of  claim 11  wherein the executable code, when executed, causes the data processing apparatus to:
 read a plurality of task-completion events from the memory space, including the first task completion event; and 
 evaluate conditions associated with the plurality of task-completion events to determine whether the task-completion events match an input set of the router object that is defined with respect to a path through the instance of the process model. 
 
     
     
         13 . The apparatus of  claim 11  wherein the executable code, when executed, causes the data processing apparatus to:
 read the first task completion event from the memory space at the router object and within the instance of the process model; and 
 write a modified first task-enabling event to the memory space, in response to the reading of the first task completion event, in order to execute the instance of the process model. 
 
     
     
         14 . The apparatus of  claim 11  wherein the instance of the process model includes a plurality of tasks, including the first task and the second task, and wherein each task is associated with a connector object configured to read task-enabling events from the memory space and determine whether any of the task-enabling events enable execution of its corresponding task, and, if so, to thereafter write task completion events to the memory space to thereby trigger execution of a subsequent task within the instance of the process model. 
     
     
         15 . The apparatus of  claim 11  wherein the executing instance of the process model represents an event-based version of an underlying initial version of the process model in which the process model is represented as a directed graph in which a plurality of tasks are connected by a plurality of directed edges. 
     
     
         16 . The apparatus of  claim 15 , wherein connector objects of the event-based version, including the connector object, represent the plurality of tasks and router objects of the event-based version, including the router object, implement the directed edges. 
     
     
         17 . A method comprising:
 reading a first task completion event from a memory space using a router object, the first task completion event indicating completion of a first task of an executing instance of a process model;   writing a first task-enabling event to the memory space using the router object;   reading the first task-enabling event at a connector object and coordinating performance of a second task of the process model based thereon and using the connector object; and   writing a second task completion event to the memory space using the connector object and signifying completion of the second task.   
     
     
         18 . The method of  claim 17  wherein the instance of the process model includes a plurality of tasks, including the first task and the second task, and wherein each task is associated with a connector object configured to read task-enabling events from the memory space and determine whether any of the task-enabling events enable execution of its corresponding task, and, if so, to thereafter write task completion events to the memory space to thereby trigger execution of a subsequent task within the instance of the process model. 
     
     
         19 . The method of  claim 17  wherein the executing instance of the process model represents an event-based version of an underlying initial version of the process model in which the process model is represented as a directed graph in which a plurality of tasks are connected by a plurality of directed edges. 
     
     
         20 . The method of  claim 19 , wherein connector objects of the event-based version, including the connector object, represent the plurality of tasks and router objects of the event-based version, including the router object, implement the directed edges.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.