WO2002093437A2 - Signaling events in workflow management systems - Google Patents

Signaling events in workflow management systems Download PDF

Info

Publication number
WO2002093437A2
WO2002093437A2 PCT/EP2002/004252 EP0204252W WO02093437A2 WO 2002093437 A2 WO2002093437 A2 WO 2002093437A2 EP 0204252 W EP0204252 W EP 0204252W WO 02093437 A2 WO02093437 A2 WO 02093437A2
Authority
WO
WIPO (PCT)
Prior art keywords
event
addressee
activity
signaling request
instance
Prior art date
Application number
PCT/EP2002/004252
Other languages
French (fr)
Other versions
WO2002093437A3 (en
Inventor
Frank Leymann
Dieter Roller
Original Assignee
International Business Machines Corporation
Ibm Deutschland Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation, Ibm Deutschland Gmbh filed Critical International Business Machines Corporation
Priority to AT02732630T priority Critical patent/ATE290240T1/en
Priority to DE60203117T priority patent/DE60203117T2/en
Priority to EP02732630A priority patent/EP1402436B1/en
Priority to US10/477,000 priority patent/US7174338B2/en
Publication of WO2002093437A2 publication Critical patent/WO2002093437A2/en
Publication of WO2002093437A3 publication Critical patent/WO2002093437A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Definitions

  • the present invention relates to means and a method for improving the robustness and ease-of-use of Workflow- Management-Systems or a computer system with comparable functionality (WFMS) related to the signaling of events.
  • WFMS comparable functionality
  • WFMS Workflow-Management-Systems
  • IBM MQSeries Workflow (previously called IBM FlowMark) represents such a typical modern, sophisticated, and powerful workflow management system. It supports the modeling of business processes as a network of activities. This network of activities, the process model, is constructed as a directed, acyclic, weighted, colored graph. The nodes of the graph represent the activities, which are performed. The edges of the graph, the control connectors, describe the potential sequence of execution of the activities. Definition of the process graph is via IBM MQSeries Workflow' s Flow Definition Language (FDL) or via the built-in graphical editor.
  • FDL IBM MQSeries Workflow' s Flow Definition Language
  • the runtime component of the Workflow-Management-System uses said process model as a template to create process instances.
  • Each process instance is associated with a set of values, typically called the context. Said values are either supplied by the requestor of the process instance via the appropriate request or retrieved by programs that implement the various activities or are the result of the execution history of a certain process instance.
  • the context is unique to a certain process instance. A particular important piece of information within said context is the process instance identifier that uniquely identifies a process instance. It should be noted that typically process instance identifiers are only unique within the set of process instances that are derived from a particular process model.
  • An event activity provides the capability to have a process instance waiting until signaled.
  • the signal or in other words the event, may be created within the WFMS but typically will have its source in the outside of the workflow management system.
  • the workflow management system Upon receiving said signal, the workflow management system stores the supplied information as context information (in this case into the output container of the event activity) and continues navigation.
  • Signaling the event is done via an appropriate signal request to the workflow management system.
  • Said signal request may be created by a program exploiting the application-programming interface offered by the workflow management system or by sending an appropriate workflow management system defined message to the workflow management system that can typically carry such a signal request.
  • the signaling request must contain the appropriate process instance identifier of the process instance in which the event is waiting as well as the identification of the event. This information is necessary so that the workflow management system can locate the correct process instance and the correct event within the process model. If the issuer of the signaling request does not know the event identification or even does not know the process instance identifier, the issuer must obtain this information.
  • the workflow management provides query capabilities that allow the issuer to query the input container of the "event activity. It is the responsibility of the process modeler to make sure that the input container of the event activity contains the appropriate values from which the process instance identification can be derived.
  • the signaler of the event must indicate to the workflow management system that the request is for signaling an event; that means the requester must follow the message structure defined by the workflow management system.
  • This structure typically mandates to have certain indicators, such as the command that the message represents, in certain places of the message; for example the text string signal as the first field of the message.
  • Another approach to overcome this situation is the usage of a translation program that translates the signaler's original message into the workflow management specific message; an approach that increases not only the complexity of the overall system (making maintenance and system management much more complicated) but also decreases performance for generating a signal.
  • the signaler must maintain the process instance identifier of the target process instance. If this is not possible, the signaler must obtain appropriate information
  • the signaler must know the name (according to the nomenclature of the WFMS) of the event even if it knows the process instance identifier. Knowing the name includes knowing to some extent the structure of the process model; for example the process model could use the same name multiple times within the same process model, a situation that can easily arise when one synthesizes more complex process models from simpler process models.
  • the invention is based on the objective to eliminate the need for event signalers to maintain information that is needed to locate the appropriate event in the appropriate process instance waiting for notification of said event.
  • the present invention provides a computerized method for determining an addressee of a signaling request within a Workflow Management System or a computer system with comparable functionality (WFMS) .
  • the current invention Upon receiving a signaling request, which is providing a set of signal data elements, the current invention avoids the requirement that the signal data elements comprise any explicit specification of an addressee of said signaling request.
  • This event- identification-specification involves a subset of the signal data elements. Evaluating the event-identification-specification allows to indirectly decide if the event-activity is the addressee of the signaling request.
  • the suggested teaching avoids all of above-mentioned deficiencies. Relieving the signaler of a signaling request from specifying a certain addressee based on the suggested approach offers the further advantage that multiple- addressees might exist for a single signaling messaging.
  • Figure 1 shows an example of a process model represented by a process graph.
  • Figure 2 illustrates the implementation of signatures of activities as input and out containers and the movement of data from one activity to another activity via data connectors
  • Figure 3 illustrates the structure of an event activity that when activated waits for a message to be processed.
  • Figure 4 illustrates the definition of a message signaling an event using an XML schema definition for describing the contents of the message.
  • Figure 5 visualizes the details of the necessary specifications using the Flow Definition Language of MQSeries Workflow.
  • Figure 6 illustrates an alternate method of determining the structure of a message that signals an event.
  • Figure 7 illustrates an alternate method of identifying the event that is the target of a signaling message.
  • the present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system - or other apparatus adapted for carrying out the methods described herein - is suited.
  • a typical combination of hardware and software could be a general- purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
  • the present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which - when being loaded in a computer system - is able to carry out these methods.
  • Computer program means or computer program in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form.
  • the current invention is illustrated based on IBM's "MQSeries Workflow" workflow management system. Of course any other WFMS could be used instead. Furthermore the current teaching applies also to any other type of system, which offers WFMS functionalities not as a separate WFMS but within some other type of system.
  • the WFMS engine is the processing entity to determine the addressee (s) of any signaling request based on the data elements provided by the signaler.
  • the current invention can be applied in other scenarios wherein the processing entity of the request for signaling an event is not the WFMS engine itself some other entity.
  • a WFMS may support both, the modeling of business processes and their execution.
  • Modeling of a business process as a syntactical unit in a way that is directly supported by a software system is extremely desirable.
  • the software system can also work as an interpreter basically getting as input such a model:
  • the model called a process model or workflow model, can then be instantiated and the individual sequence of work steps depending on the context of the instantiation of the model can be determined.
  • Such a model of a business process can be perceived as a template for a class of similar processes performed within an enterprise; it is a schema describing all possible execution variants of a particular kind of business process.
  • An instance of such a model and its interpretation represents an individual process, i.e. a concrete, context dependent execution of a variant prescribed by the model.
  • a WFMS facilitates the management of business processes.
  • a process model is a complete representation of a process, comprising a process diagram and the settings that define the logic behind the components of the diagram.
  • Important components of an MQSeries Workflow process model are:
  • Activities are the fundamental elements of the meta model.
  • An activity represents a business action that is from a certain perspective a semantic entity of its own.
  • An MQSeries Workflow process model consists of the following types of activities: Program activity: Has a program assigned to perform the activity. The program is invoked when the activity is started. In a fully automated workflow, the program performs the activity without human intervention. Otherwise, the user must start the activity by selecting it from a runtime work list. Output from the program can be used in the exit condition for the program activity and for the transition conditions to other activities.
  • Process activity Has a (sub-) process assigned to perform the activity. The process is invoked when the activity is started.
  • a process activity represents a way to reuse a set of activities that are common to different processes. Output from the process, can be used in the exit condition for the process activity and for the transition conditions to other activities .
  • the flow of control i.e. the control flow through a running process determines the sequence in which activities are executed.
  • the MQSeries Workflow workflow manager navigates a path through the process that is determined by the evaluation to TRUE of start conditions, exit conditions, and transition conditions .
  • Connectors link activities in a process model. Using connectors, one defines the sequence of activities and the transmission of data between activities. Since activities might not be executed arbitrarily they are bound together via control connectors. A control connector might be perceived as a directed edge between two activities; the activity at the connector's end point cannot start before the activity at the start point of the connector has finished (successfully) . Control connectors model thus the potential flow of control within a business process model. Default connectors specify where control should flow when the transition condition of no other control connector leaving an activity evaluates to TRUE. Default connectors enable the workflow model to cope with exceptional events. Data connectors specify the flow of data in a workflow model. A data connector originates from an activity or a block, and has an activity or a block as its target. One can specify that output data is to go to one target or to multiple targets. A target can have more than one incoming data connector.
  • Process definition includes modeling of activities, control connectors between the activities, input/output container, and data connectors.
  • a process is represented as a directed acyclic graph with the activities as nodes and the control/data connectors as the edges of the graph. The graph is manipulated via a built-in graphic editor.
  • the data containers are specified as named data structures. These data structures themselves are specified via the DataStructureDefinition facility.
  • Program activities are implemented through programs. The programs are registered via the Program Definition facility. Blocks contain the same constructs as processes, such as activities, control connectors etc. They are however not named and have their own exit condition. If the exit condition is not met, the block is started again. The block thus implements a Do Until construct. Process activities are implemented as processes.
  • Process activities offer great flexibility for process definition. It not only allows to construct a process through permanent refinement of activities into program and process activities (top-down) , but also to build a process out of a set of existing processes (bottom- up) .
  • All programs, which implement program activities, are defined via the Program Registration Facility. Registered for each program is the name of the program, its location, and the invocation string.
  • the invocation string consists of the program name and the command string passed to the program.
  • Fig. 1 shows schematically the structure of such a process graph.
  • Activities Al up to A5 are represented as named circles; the name typically describes the purpose of the activity. Activities come in various flavors to address the different tasks that may need to be performed. They may have different activity implementations to meet these diverse needs.
  • Program activities are performed by an assigned program, process activities like for instance 100 are performed by another process 101, and blocks like for instance 102 implement a macro 103 with a built-in do-until loop.
  • Control connectors pl2, pl3, p24, p35, p45 are represented as arrows; the head of the arrow describes the direction in which the flow of control is moving through the process.
  • the activity where the control connector starts is called the source activity; where it ends is called the target activity. When more than one control connector leaves an activity, this indicates potentially parallel work.
  • Figure 2 shows the two activities A 200 and B 210, which may be part of a more complex process model.
  • Both activities A 200 and B 210 have an input container 220, 240 associated with them; activity A 200 has also an output container 230 associated with.
  • the input and output container of an activity can be viewed conceptually as the signature of the activity.
  • the activity obtains data necessary for its execution from the input container and writes data that it produces and that is needed for other activities into the output container.
  • the containers of an activity are only available to the activity; that means they are only available locally.
  • the input container 220 and the output container 230 are only available to the associated activity A 200.
  • activity B 210 needs data, for example, from the output container 230 of the activity A 200, this data must be copied from the output container 230 of the activity A 200 to the input container 240 of the activity B 210.
  • a data connector 260 is provided which is depicted in Figure 2 as a dashed arrow.
  • the data connector 260 of Figure 2 indicates that all or parts of the output container 230 of the activity A 200 has to be copied to the input container 240 of the activity B 210.
  • a container map 250 is provided in Figure 2 which defines which data fields of the output container 230 of the activity A 200 are copied into which data fields of the input container 240 of the activity B 210.
  • the container map 250 also specifies if a transformation of the data has to be performed by the workflow management system before the data is copied e.g. into the input container 240 of the activity B 210 ,
  • Event activities are another type of activities that workflow management systems support. They provide the capability to have a process instance wait until the event is signaled for instance from outside the workflow management system upon. Upon receiving the signal, the workflow management system processes the request and continues navigation.
  • An event activity has most of the properties program and process activities. Is associated with an input and an output container. It can be source and the target of control connectors as well as the source and target of data connectors. It has a start condition, and a deadline can be specified for it.
  • Fig. 3 illustrates this schematically showing portion 301 of some more complex process model.
  • An event activity 300 goes into the waiting state as soon the control connector 360 enters the event activity. If in realization of a process model the event activity has no incoming control connector, the event activity goes into the waiting state as soon as the process instance is created. The event activity remains in this state until the event is signaled.
  • Some client 310 is issuing an appropriate request 350 to the workflow management system signaling the event the event activity 300 is waiting for. This request must (1) identify the appropriate event (2) in the appropriate process instance as addressee. Additionally the event signal may supply data that is stored in the output container 320, so that information provided by the event signaler can be made available to the process instance. When the event is signaled correctly, navigation continues. Further details on event activities can be found in Leymann/Roller, Production Workflow: Concepts and Techniques, Prentice Hall, New Jersey ISBN and in US Patent US 6,065,009 Events as Activities in Process Models of Workflow Management Systems.
  • Figure 4 shows the definition of a message via XML Schema Definition (see http://www.w3.org for details about XML and XML schema) .
  • the purpose of the message is to signal an event to the event activity defined in Figure 5.
  • the keyword complexType 400 starts the definition of a user-defined XML structure.
  • the name of the structure is SignalMessage 410.
  • the structure consists of a set of elements 420, with an element name 430 and a data type 440 of said element.
  • Fig. 5 illustrates how the present invention can be implemented/specified using the Flow Definition Language (FDL) of MQSeries Workflow, a state-of-the-art Workflow-Management- System sold by the applicant.
  • FDL Flow Definition Language
  • MQSeries Workflow a state-of-the-art Workflow-Management- System sold by the applicant.
  • FDL is used as an example only; any other way of specifying the signaling of events can be used.
  • the underlying meta model is also for illustration only; other meta models can be used instead.
  • the important teaching of the current invention is to provide a technology allowing an arbitrary signaler of an event to be completely unaware of the addressee of a signaling request; that means the concrete process instance waiting for said event. This releases the signaler from maintaining the process instance identifier of the awaiting concrete process instance and from maintaining the identifier of event activity within the corresponding process model.
  • the example illustrates the definition of an event activity that exploits the present invention.
  • the DATASTRUCTURE definition 500 identifies a data structure with the name SignalMessage 501.
  • the data structure references (via the XML keyword) 502 an XML schema SignalMessage 503 (this is the XML schema defined in Figure 4) .
  • This data structure defines the structure of the message that is accepted a signal that posts the event activity 520 ' .
  • the DATASTRUCTURE definition 510 identifies a data structure with the name EventOutput.
  • the data structure contains a field AmountOffered of type INTEGER 512. This data structure is used for the output container of the event activity 520; the field AmountOffered is intended as the target for the appropriate field supplied in the signaling message.
  • the event activity is defined via the EVENT_ACTIVITY keyword 520; the name of the event activity is ReceiveOffer 522.
  • the output container of the event activity is defined via the OUTPUT keyword, which identifies the data structure EventOutput 524 as the structure for the output container.
  • the keyword SIGNAL 540 identifies all properties associated with signaling the event; in specific the event identification specifications proposed by the current invention are comprised within this section. Within the current example it identifies that the data structure SignalMessage 526 represents the structure of the message signaling the event.
  • the keyword MESSAGE_IDENTIFICATION 536 is used to indicate to the workflow management system how the structure of the message should be determined; that is defining the layout of the message.
  • the parameter XML_SCHEMA 528 indicates that the message provided XML schema name should be used (this is typical for XML messages as it is desireable to be able to use an XML parser for parsing the message) .
  • Other possible parameter values of the MESSAGE_IDENTIFICATION parameter will be discussed below. If the signaling message is of the specified XML schema, the workflow management system takes this message as a potential signaling message for this ReceiveOffer activity.
  • the signaling ' message is of XML schema SignalMessage
  • the signaling message is a candidate for a signaling message for the event activity ReceiveOffer 522.
  • the keyword PROCESS_INSTANCE 542 identifies the field (s) in the signaling message that should be used to identify the process instance.
  • the field Contractld 530 from the XML message is used.
  • the process instance can be identified by any arbitrary complex Boolean expression involving values of data elements within the signaling message and data elements from the process instance's context.
  • the keyword TARGET_IDENTIFICATION 544 is used to define an expression 532 that when it evaluates to true, the signaling message is targeted towards the event activity.
  • This keyword allows identifying the concrete activity within the process model the event is to be signaled to by the WFMS.
  • the expression is constructed by using one or more fields in the signaling message. In the example, the signaling message is targeted for this activity, if the field Actionld in the signaling message contains the text string ReceiveOffer.
  • the MAP keyword 546 provides for the capability of mapping fields from the signaling message to the activity output container. In the example, it copies the field AmountOffered from the signaling message to the output container. Other possibilities are the copying of fields of the signaling message to a global/key container (see Leymann/Roller: Production Workflow: Concepts and Techniques, Prentice Hall, 2000 for details) .
  • FIG. 6 Another possibility to identify the structure of a signaling message is illustrated in Figure 6. It defines an expression, that when it evaluates to true, the signaling message has the structure specified as the signaling message structure. That means when the field messageld 610 contains the value 512, the signaling message has the structure defined for the signaling message and therefore is a candidate for a signaling message for the event activity ReceiveOffer.
  • Fig. 6 proposes a solution to a further problem.
  • potential addressees are unique only within said certain domains. Examples for such a situation are process instance identifiers, which are unique only within that set of process instances, which are derived from a common process model .
  • the event identification specification comprises specifications, which, when evaluated, allow to limit the scope of potential addressees to process instances of a common process model.
  • the specific embodiment 620 in Fig. 6 allows to construe from one or more data elements of the signaling message (in this example the parameter businessProcessID - refer to Fig. 4) an identifier of a process model.
  • process instances which are instantiated from process models with this construed identifier are viewed as potential addressees; of course the other specifications within event identification specifications will further narrow and identify the concrete addressee (s) .
  • An event within a process instance is uniquely identified via an activity instance identifier.
  • Said specification is an alternate specification for the combination of PROCESS_INSTANCE and TARGET_IDENTIFICATION specification.
  • Figure 7 illustrates how such a specification could look like.
  • the keyword ACTIVITY_IDENTIFICATION 710 identifies one or more fields within the signaling message to construe (even by a more complex expression) the identifier of an event activity being the addressee of the signaled event.
  • the field Eventld 720 which is part of the signaling message, is used directly to construe the event activity identifier representing said addressee.
  • the WFMS determines the structure of the signaling message. This requires inspecting all MESSAGE_DEFINITIONs for all event activities in all process models. If the structure of the signaling message cannot be determined, the WFMS assumes that the message is not an event-signaling message and takes other necessary actions.
  • the WFMS determines the process instance that is the target of the signaling message.
  • the WFMS determines the activity instance within said process instance that is the target of the signaling message.
  • the WFMS copies fields from the signaling message to the context of the process instance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

The present invention provides a computerized method for determining an addressee of a signaling request within a Workflow Management System or a computer system with comparable functionality (WFMS). Upon receiving a signaling request, which is providing a set of signal data elements, the current invention avoids the requirement that the signal data elements comprise any explicit specification of an addressee of said signaling request. To determine whether an event-activity of a process-instance being the instance of a process-model of a business-process is the potential addressee of the signaling request it is suggested to determine, whether the process-model comprises an event-identification-specification. This event-identification-specification according to the current invention is involving a subset of the signal data elements. Evaluating the event-identification-specification allows to indirectly decide if the event-activity is the addressee of the signaling request.

Description

Signaling Events in Workflow Management Systems
1. Background of the Invention
1.1 Field of the Invention
The present invention relates to means and a method for improving the robustness and ease-of-use of Workflow- Management-Systems or a computer system with comparable functionality (WFMS) related to the signaling of events.
1.2 Description and Disadvantages of Prior Art
A new area of technology with increasing importance is the domain of Workflow-Management-Systems (WFMS) . WEMS support the modeling and execution of business processes. Business processes executed within a WFMS environment control who will perform which piece of work of a network of pieces of work and which resources are exploited for this work. The individual pieces of work might be distributed across a multitude of different computer systems connected by some type of network.
The product "IBM MQSeries Workflow" (previously called IBM FlowMark) represents such a typical modern, sophisticated, and powerful workflow management system. It supports the modeling of business processes as a network of activities. This network of activities, the process model, is constructed as a directed, acyclic, weighted, colored graph. The nodes of the graph represent the activities, which are performed. The edges of the graph, the control connectors, describe the potential sequence of execution of the activities. Definition of the process graph is via IBM MQSeries Workflow' s Flow Definition Language (FDL) or via the built-in graphical editor.
The runtime component of the Workflow-Management-System uses said process model as a template to create process instances. Each process instance is associated with a set of values, typically called the context. Said values are either supplied by the requestor of the process instance via the appropriate request or retrieved by programs that implement the various activities or are the result of the execution history of a certain process instance. The context is unique to a certain process instance. A particular important piece of information within said context is the process instance identifier that uniquely identifies a process instance. It should be noted that typically process instance identifiers are only unique within the set of process instances that are derived from a particular process model.
Particular important types of activities are event activities. An event activity provides the capability to have a process instance waiting until signaled. The signal, or in other words the event, may be created within the WFMS but typically will have its source in the outside of the workflow management system. Upon receiving said signal, the workflow management system stores the supplied information as context information (in this case into the output container of the event activity) and continues navigation.
Signaling the event is done via an appropriate signal request to the workflow management system. Said signal request may be created by a program exploiting the application-programming interface offered by the workflow management system or by sending an appropriate workflow management system defined message to the workflow management system that can typically carry such a signal request. Independently of how signaling is done, the signaling request must contain the appropriate process instance identifier of the process instance in which the event is waiting as well as the identification of the event. This information is necessary so that the workflow management system can locate the correct process instance and the correct event within the process model. If the issuer of the signaling request does not know the event identification or even does not know the process instance identifier, the issuer must obtain this information. To facilitate this the workflow management provides query capabilities that allow the issuer to query the input container of the "event activity. It is the responsibility of the process modeler to make sure that the input container of the event activity contains the appropriate values from which the process instance identification can be derived.
This state-of-the-art approach has several deficiencies, in particular when an event is signaled by sending a message to the workflow management system:
■ The signaler of the event must indicate to the workflow management system that the request is for signaling an event; that means the requester must follow the message structure defined by the workflow management system. This structure typically mandates to have certain indicators, such as the command that the message represents, in certain places of the message; for example the text string signal as the first field of the message. This mandates that an existing message-oriented signaler program must be adapted when the signal should now be processed by a workflow management system; an approach that is not always possible to implement. Another approach to overcome this situation is the usage of a translation program that translates the signaler's original message into the workflow management specific message; an approach that increases not only the complexity of the overall system (making maintenance and system management much more complicated) but also decreases performance for generating a signal.
■ The signaler must maintain the process instance identifier of the target process instance. If this is not possible, the signaler must obtain appropriate information
(data in the input container of the event) from the workflow management system. This requires that the signaler already knows the name of the event so that it can set up the appropriate query to the workflow management system. This has the disadvantage that every change made to the process model such as changing the name of the event requires re-programming on the signaler's part (such as adapting the new name of the event) .
■ The signaler must know the name (according to the nomenclature of the WFMS) of the event even if it knows the process instance identifier. Knowing the name includes knowing to some extent the structure of the process model; for example the process model could use the same name multiple times within the same process model, a situation that can easily arise when one synthesizes more complex process models from simpler process models.
The above listed deficiencies make it obvious that the current state of the art enforces a tight coupling between the signaler of an event and the workflow management system manifested by the information that the signaler must maintain about information that the workflow management system maintains. This situation is quite undesirable for the reasons outlined above. It should be possible to specify in the workflow management system all information necessary to process an almost arbitrary message for signaling an event. Further it should be possible for an arbitrary signaling of events to send signaling events to a WFMS without said signal being adapted to WFMS requirements. The arbitrary signaler should allowed to be unaware of the concrete nature of the consumer (that is the addressee) of the signaling requests. Then it is possible that the signaler can be developed independently from the consumer of the signaling request.
The weakness of the state-of-the-art approaches with respect to this problem area becomes even more distinct if one thinks of typical Internet scenarios commonly summarized by terms like C2B (Consumer-to-Business) or B2B (Business-to-Consumer) business processes. In these scenarios, it is obvious that the tight coupling of signaler to the workflow management system is not desirable at all.
1.2 Objective of the Invention
The invention is based on the objective to eliminate the need for event signalers to maintain information that is needed to locate the appropriate event in the appropriate process instance waiting for notification of said event.
2. Summary and Advantages of the Invention The objectives of the invention are solved by the independent claims. Further advantageous arrangements and embodiments of the invention are set forth in the respective subclaims.
The present invention provides a computerized method for determining an addressee of a signaling request within a Workflow Management System or a computer system with comparable functionality (WFMS) .
Upon receiving a signaling request, which is providing a set of signal data elements, the current invention avoids the requirement that the signal data elements comprise any explicit specification of an addressee of said signaling request.
To determine whether a particular event-activity of a process- instance being the instance of a process-model of a business- process is the potential addressee of the signaling request it is suggested to determine, whether the process-model comprises an event-identification-specification. This event- identification-specification according to the current invention involves a subset of the signal data elements. Evaluating the event-identification-specification allows to indirectly decide if the event-activity is the addressee of the signaling request.
The suggested teaching avoids all of above-mentioned deficiencies. Relieving the signaler of a signaling request from specifying a certain addressee based on the suggested approach offers the further advantage that multiple- addressees might exist for a single signaling messaging.
3. Brief Description of the Drawings Figure 1 shows an example of a process model represented by a process graph.
Figure 2 illustrates the implementation of signatures of activities as input and out containers and the movement of data from one activity to another activity via data connectors
Figure 3 illustrates the structure of an event activity that when activated waits for a message to be processed.
Figure 4 illustrates the definition of a message signaling an event using an XML schema definition for describing the contents of the message.
Figure 5 visualizes the details of the necessary specifications using the Flow Definition Language of MQSeries Workflow.
Figure 6 illustrates an alternate method of determining the structure of a message that signals an event.
Figure 7 illustrates an alternate method of identifying the event that is the target of a signaling message.
. Description of the Pref rred Embodiment
In the drawings and specification there has been set forth a preferred embodiment of the invention and, although specific terms are used, the description thus given uses terminology in a generic and descriptive sense only and not for purposes of limitation. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims .
The present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system - or other apparatus adapted for carrying out the methods described herein - is suited. A typical combination of hardware and software could be a general- purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which - when being loaded in a computer system - is able to carry out these methods.
Computer program means or computer program in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form.
The current invention is illustrated based on IBM's "MQSeries Workflow" workflow management system. Of course any other WFMS could be used instead. Furthermore the current teaching applies also to any other type of system, which offers WFMS functionalities not as a separate WFMS but within some other type of system.
According to the current teaching it is advantageous if the WFMS engine is the processing entity to determine the addressee (s) of any signaling request based on the data elements provided by the signaler. But of course, the current invention can be applied in other scenarios wherein the processing entity of the request for signaling an event is not the WFMS engine itself some other entity.
4.1 Introduction
The following is a short outline on the basic concepts of a workflow management system based on IBM's "MQSeries Workflow" WFMS:
From an enterprise point of view the management of business processes is becoming increasingly important: business processes or process for short control which piece of work will be performed by whom and which resources are exploited for this work, i.e. a business process describes how an enterprise will achieve its business goals. A WFMS may support both, the modeling of business processes and their execution.
Modeling of a business process as a syntactical unit in a way that is directly supported by a software system is extremely desirable. Moreover, the software system can also work as an interpreter basically getting as input such a model: The model, called a process model or workflow model, can then be instantiated and the individual sequence of work steps depending on the context of the instantiation of the model can be determined. Such a model of a business process can be perceived as a template for a class of similar processes performed within an enterprise; it is a schema describing all possible execution variants of a particular kind of business process. An instance of such a model and its interpretation represents an individual process, i.e. a concrete, context dependent execution of a variant prescribed by the model. A WFMS facilitates the management of business processes. It provides a means to describe models of business processes (buildtime) and it drives business processes based on an associated model (runtime) . The meta model of IBM's WFMS MQSeries Workflow, i.e. the syntactical elements provided for describing business process models, and the meaning and interpretation of these syntactical elements, is described next.
A process model is a complete representation of a process, comprising a process diagram and the settings that define the logic behind the components of the diagram. Important components of an MQSeries Workflow process model are:
■ Processes
■ Activities
■ Blocks
■ Control Flows
■ Connectors
■ Data Containers
■ Data Structures
■ Conditions
■ Programs
■ Staff
Not all of these elements will be described below.
Activities are the fundamental elements of the meta model. An activity represents a business action that is from a certain perspective a semantic entity of its own.
An MQSeries Workflow process model consists of the following types of activities: Program activity: Has a program assigned to perform the activity. The program is invoked when the activity is started. In a fully automated workflow, the program performs the activity without human intervention. Otherwise, the user must start the activity by selecting it from a runtime work list. Output from the program can be used in the exit condition for the program activity and for the transition conditions to other activities.
Process activity: Has a (sub-) process assigned to perform the activity. The process is invoked when the activity is started. A process activity represents a way to reuse a set of activities that are common to different processes. Output from the process, can be used in the exit condition for the process activity and for the transition conditions to other activities .
The flow of control, i.e. the control flow through a running process determines the sequence in which activities are executed. The MQSeries Workflow workflow manager navigates a path through the process that is determined by the evaluation to TRUE of start conditions, exit conditions, and transition conditions .
Connectors link activities in a process model. Using connectors, one defines the sequence of activities and the transmission of data between activities. Since activities might not be executed arbitrarily they are bound together via control connectors. A control connector might be perceived as a directed edge between two activities; the activity at the connector's end point cannot start before the activity at the start point of the connector has finished (successfully) . Control connectors model thus the potential flow of control within a business process model. Default connectors specify where control should flow when the transition condition of no other control connector leaving an activity evaluates to TRUE. Default connectors enable the workflow model to cope with exceptional events. Data connectors specify the flow of data in a workflow model. A data connector originates from an activity or a block, and has an activity or a block as its target. One can specify that output data is to go to one target or to multiple targets. A target can have more than one incoming data connector.
Process definition includes modeling of activities, control connectors between the activities, input/output container, and data connectors. A process is represented as a directed acyclic graph with the activities as nodes and the control/data connectors as the edges of the graph. The graph is manipulated via a built-in graphic editor. The data containers are specified as named data structures. These data structures themselves are specified via the DataStructureDefinition facility. Program activities are implemented through programs. The programs are registered via the Program Definition facility. Blocks contain the same constructs as processes, such as activities, control connectors etc. They are however not named and have their own exit condition. If the exit condition is not met, the block is started again. The block thus implements a Do Until construct. Process activities are implemented as processes. These subprocesses are defined separately as regular, named processes with all its usual properties. Process activities offer great flexibility for process definition. It not only allows to construct a process through permanent refinement of activities into program and process activities (top-down) , but also to build a process out of a set of existing processes (bottom- up) .
All programs, which implement program activities, are defined via the Program Registration Facility. Registered for each program is the name of the program, its location, and the invocation string. The invocation string consists of the program name and the command string passed to the program.
As an example of such a process model Fig. 1 shows schematically the structure of such a process graph. Activities (Al up to A5) are represented as named circles; the name typically describes the purpose of the activity. Activities come in various flavors to address the different tasks that may need to be performed. They may have different activity implementations to meet these diverse needs. Program activities are performed by an assigned program, process activities like for instance 100 are performed by another process 101, and blocks like for instance 102 implement a macro 103 with a built-in do-until loop. Control connectors pl2, pl3, p24, p35, p45 are represented as arrows; the head of the arrow describes the direction in which the flow of control is moving through the process. The activity where the control connector starts is called the source activity; where it ends is called the target activity. When more than one control connector leaves an activity, this indicates potentially parallel work.
.2 Containers and Data Connectors
Figure 2 shows the two activities A 200 and B 210, which may be part of a more complex process model. Both activities A 200 and B 210 have an input container 220, 240 associated with them; activity A 200 has also an output container 230 associated with. In a fundamental alteration according to the current invention the input and output container of an activity can be viewed conceptually as the signature of the activity. The activity obtains data necessary for its execution from the input container and writes data that it produces and that is needed for other activities into the output container. As with signatures, the containers of an activity are only available to the activity; that means they are only available locally. For example, the input container 220 and the output container 230 are only available to the associated activity A 200. Thus, if activity B 210 needs data, for example, from the output container 230 of the activity A 200, this data must be copied from the output container 230 of the activity A 200 to the input container 240 of the activity B 210.
For the purpose of copying data from one of the activities to another activity, a data connector 260 is provided which is depicted in Figure 2 as a dashed arrow. The data connector 260 of Figure 2 indicates that all or parts of the output container 230 of the activity A 200 has to be copied to the input container 240 of the activity B 210.
The output container of one activity and the input container of another activity, however, generally have different data structures, for example containing different data fields. Therefore, a container map 250 is provided in Figure 2 which defines which data fields of the output container 230 of the activity A 200 are copied into which data fields of the input container 240 of the activity B 210. The container map 250 also specifies if a transformation of the data has to be performed by the workflow management system before the data is copied e.g. into the input container 240 of the activity B 210 ,
4.3 Event Activities
Event activities are another type of activities that workflow management systems support. They provide the capability to have a process instance wait until the event is signaled for instance from outside the workflow management system upon. Upon receiving the signal, the workflow management system processes the request and continues navigation. An event activity has most of the properties program and process activities. Is associated with an input and an output container. It can be source and the target of control connectors as well as the source and target of data connectors. It has a start condition, and a deadline can be specified for it.
Fig. 3 illustrates this schematically showing portion 301 of some more complex process model. An event activity 300 goes into the waiting state as soon the control connector 360 enters the event activity. If in realization of a process model the event activity has no incoming control connector, the event activity goes into the waiting state as soon as the process instance is created. The event activity remains in this state until the event is signaled. Some client 310 is issuing an appropriate request 350 to the workflow management system signaling the event the event activity 300 is waiting for. This request must (1) identify the appropriate event (2) in the appropriate process instance as addressee. Additionally the event signal may supply data that is stored in the output container 320, so that information provided by the event signaler can be made available to the process instance. When the event is signaled correctly, navigation continues. Further details on event activities can be found in Leymann/Roller, Production Workflow: Concepts and Techniques, Prentice Hall, New Jersey ISBN and in US Patent US 6,065,009 Events as Activities in Process Models of Workflow Management Systems.
4.4 Defining Messages via XML
Figure 4 shows the definition of a message via XML Schema Definition (see http://www.w3.org for details about XML and XML schema) . The purpose of the message is to signal an event to the event activity defined in Figure 5. The keyword complexType 400 starts the definition of a user-defined XML structure. The name of the structure is SignalMessage 410. The structure consists of a set of elements 420, with an element name 430 and a data type 440 of said element.
4.5 Processing the Signaling of an Event
Fig. 5 illustrates how the present invention can be implemented/specified using the Flow Definition Language (FDL) of MQSeries Workflow, a state-of-the-art Workflow-Management- System sold by the applicant. FDL is used as an example only; any other way of specifying the signaling of events can be used. The underlying meta model is also for illustration only; other meta models can be used instead.
The important teaching of the current invention is to provide a technology allowing an arbitrary signaler of an event to be completely unaware of the addressee of a signaling request; that means the concrete process instance waiting for said event. This releases the signaler from maintaining the process instance identifier of the awaiting concrete process instance and from maintaining the identifier of event activity within the corresponding process model.
Is a fundamental observation of the current invention that the data elements or a subset of the data elements provided by the signaler within the signaling request can be exploited by the WFMS itself to uniquely identify the concrete process instance (or process instances) and/or the concrete event activity (or event activities) being the addressee (s) of the event.
To enable the WFMS to perform this identification task it is suggested to enhance the process model comprising an event activity with specifications defining that set of (one or multiple) data elements provided by the signaling request to be used to identify a certain process instance of said process model and said event activity as addressee. Once the signaling request is received by the WFMS, the WFMS knowing the process model would exploit these predefined event identification specifications and the concrete data elements provided with the signaling request to determine the concrete addressee of the event .
The example illustrates the definition of an event activity that exploits the present invention.
The DATASTRUCTURE definition 500 identifies a data structure with the name SignalMessage 501. The data structure references (via the XML keyword) 502 an XML schema SignalMessage 503 (this is the XML schema defined in Figure 4) . This data structure defines the structure of the message that is accepted a signal that posts the event activity 520'.
The DATASTRUCTURE definition 510 identifies a data structure with the name EventOutput. The data structure contains a field AmountOffered of type INTEGER 512. This data structure is used for the output container of the event activity 520; the field AmountOffered is intended as the target for the appropriate field supplied in the signaling message.
The event activity is defined via the EVENT_ACTIVITY keyword 520; the name of the event activity is ReceiveOffer 522. The output container of the event activity is defined via the OUTPUT keyword, which identifies the data structure EventOutput 524 as the structure for the output container.
The keyword SIGNAL 540 identifies all properties associated with signaling the event; in specific the event identification specifications proposed by the current invention are comprised within this section. Within the current example it identifies that the data structure SignalMessage 526 represents the structure of the message signaling the event.
The keyword MESSAGE_IDENTIFICATION 536 is used to indicate to the workflow management system how the structure of the message should be determined; that is defining the layout of the message. The parameter XML_SCHEMA 528 indicates that the message provided XML schema name should be used (this is typical for XML messages as it is desireable to be able to use an XML parser for parsing the message) . Other possible parameter values of the MESSAGE_IDENTIFICATION parameter will be discussed below. If the signaling message is of the specified XML schema, the workflow management system takes this message as a potential signaling message for this ReceiveOffer activity. That means, if the signaling' message is of XML schema SignalMessage, the signaling message is a candidate for a signaling message for the event activity ReceiveOffer 522. The keyword PROCESS_INSTANCE 542 identifies the field (s) in the signaling message that should be used to identify the process instance. In the example, the field Contractld 530 from the XML message is used. In general the process instance can be identified by any arbitrary complex Boolean expression involving values of data elements within the signaling message and data elements from the process instance's context.
The keyword TARGET_IDENTIFICATION 544 is used to define an expression 532 that when it evaluates to true, the signaling message is targeted towards the event activity. Thus this keyword allows identifying the concrete activity within the process model the event is to be signaled to by the WFMS. The expression is constructed by using one or more fields in the signaling message. In the example, the signaling message is targeted for this activity, if the field Actionld in the signaling message contains the text string ReceiveOffer.
The MAP keyword 546 provides for the capability of mapping fields from the signaling message to the activity output container. In the example, it copies the field AmountOffered from the signaling message to the output container. Other possibilities are the copying of fields of the signaling message to a global/key container (see Leymann/Roller: Production Workflow: Concepts and Techniques, Prentice Hall, 2000 for details) .
Another possibility to identify the structure of a signaling message is illustrated in Figure 6. It defines an expression, that when it evaluates to true, the signaling message has the structure specified as the signaling message structure. That means when the field messageld 610 contains the value 512, the signaling message has the structure defined for the signaling message and therefore is a candidate for a signaling message for the event activity ReceiveOffer.
Fig. 6 proposes a solution to a further problem. In certain environments potential addressees are unique only within said certain domains. Examples for such a situation are process instance identifiers, which are unique only within that set of process instances, which are derived from a common process model .
To cope with such situations it is suggested that the event identification specification comprises specifications, which, when evaluated, allow to limit the scope of potential addressees to process instances of a common process model. The specific embodiment 620 in Fig. 6 allows to construe from one or more data elements of the signaling message (in this example the parameter businessProcessID - refer to Fig. 4) an identifier of a process model. As a consequence only process instances which are instantiated from process models with this construed identifier are viewed as potential addressees; of course the other specifications within event identification specifications will further narrow and identify the concrete addressee (s) .
An event within a process instance is uniquely identified via an activity instance identifier. Thus an alternate approach exists for the specification of the target of a signaling message. Said specification is an alternate specification for the combination of PROCESS_INSTANCE and TARGET_IDENTIFICATION specification. Figure 7 illustrates how such a specification could look like. The keyword ACTIVITY_IDENTIFICATION 710 identifies one or more fields within the signaling message to construe (even by a more complex expression) the identifier of an event activity being the addressee of the signaled event. In the current example, the field Eventld 720, which is part of the signaling message, is used directly to construe the event activity identifier representing said addressee.
At runtime the above specifications are used by the WFMS in the following manner:
First the WFMS determines the structure of the signaling message. This requires inspecting all MESSAGE_DEFINITIONs for all event activities in all process models. If the structure of the signaling message cannot be determined, the WFMS assumes that the message is not an event-signaling message and takes other necessary actions.
Second, the WFMS determines the process instance that is the target of the signaling message.
Third, the WFMS determines the activity instance within said process instance that is the target of the signaling message.
Fourth, the WFMS copies fields from the signaling message to the context of the process instance.

Claims

C L A I M S
1. A computerized method for determining an addressee of a signaling request within a Workflow Management System or a computer system with comparable functionality (WFMS) ,
said WFMS administrating a process-instance being the instance of a process-model (301) of a business-process and said process-model comprising at least one event-activity (300) , and
in a first-step said method receiving (350) a signaling request,
said signaling request providing a set of signal data elements (430) ; and
said signal data elements not comprising any explicit specification of an addressee of said signaling request; and
in a second-step said method
determining whether said process-model is comprising an event-identification-specification (540) involving a subset of said signal data elements; and, in the affirmative case,
evaluating said event-identification-specification to indirectly decide if said event-activity is an addressee of said signaling request; and, in a third-step said method providing said signaling request to said event-activity as addressee.
2. A computerized method for determining an addressee of a signaling request according to claim 1,
wherein said event-identification-specification comprising a first-specification (542) , which by evaluating is deciding if said process-instance is said addressee of said signaling request.
3. A computerized method for determining an addressee of a signaling request according to claim 2,
wherein said event-identification-specification comprising a second-specification (544, 720) , which by evaluating is deciding if said event-activity of said process-instance is said addressee of said signaling request.
4. A computerized method for determining an addressee of a signaling request according to claim 3,
wherein said first-and/or said second-specification comprising a Boolean-predicate further involving data elements of a context of said process-instance.
5. A computerized method for determining an addressee of a signaling request according to claim 3,
wherein said second-specification (720) is construing from said subset of said signal data elements a first identifier to be compared to a second identifier identifying said event- activity for deciding if said event-activity of said process- instance is said addressee of said signaling request.
6. A computerized method for determining an addressee of a signaling request according to claim 2,
wherein said event-identification-specification comprising a fourth-specification (620), which by evaluating is limiting the scope of potential addressees to process instances of said process model.
7. A computerized method for determining an addressee of a signaling request according to claim 1,
wherein said event-identification-specification comprising a third-specification (536) to decide based on the type of said signaling request if said process-instance is said addressee of said signaling request.
8. A system comprising means adapted for carrying out the steps of the method according to anyone of the preceding claims 1 to 7.
9. A data processing program for execution in a data processing system comprising software code portions for performing a method according to anyone of the preceding claims 1 to 7 when said program is run on said computer.
10. A computer program product stored on a computer usable medium, comprising computer readable program means for causing a computer to perform a method according to anyone of the preceding claims 1 to 7 when said program is run on said computer.
PCT/EP2002/004252 2001-05-12 2002-04-17 Signaling events in workflow management systems WO2002093437A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AT02732630T ATE290240T1 (en) 2001-05-12 2002-04-17 SIGNALING OF EVENTS IN WORKFLOW MANAGEMENT SYSTEMS
DE60203117T DE60203117T2 (en) 2001-05-12 2002-04-17 SIGNALING EVENTS IN WORKFLOW MANAGEMENT SYSTEMS
EP02732630A EP1402436B1 (en) 2001-05-12 2002-04-17 Signaling events in workflow management systems
US10/477,000 US7174338B2 (en) 2001-05-12 2002-04-17 Signaling events in workflow management systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01111629.0 2001-05-12
EP01111629 2001-05-12

Publications (2)

Publication Number Publication Date
WO2002093437A2 true WO2002093437A2 (en) 2002-11-21
WO2002093437A3 WO2002093437A3 (en) 2003-08-21

Family

ID=8177408

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2002/004252 WO2002093437A2 (en) 2001-05-12 2002-04-17 Signaling events in workflow management systems

Country Status (6)

Country Link
US (1) US7174338B2 (en)
EP (1) EP1402436B1 (en)
CN (1) CN1316408C (en)
AT (1) ATE290240T1 (en)
DE (1) DE60203117T2 (en)
WO (1) WO2002093437A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305412B2 (en) 2003-09-30 2007-12-04 International Business Machines Corporation System and method for conversion from graphical business process representations to structural text-based business process representations
US7500144B2 (en) 2003-06-20 2009-03-03 International Business Machines Corporation Resolving problems in a business process utilizing a situational representation of component status

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370333B2 (en) * 2003-06-02 2008-05-06 Microsoft Corporation Efficient processing of a convoy workflow scenario in a message driven process
US7877757B2 (en) * 2006-05-05 2011-01-25 Microsoft Corporation Work item event monitor for procession of queued events
US8140591B2 (en) * 2010-01-19 2012-03-20 International Business Machines Corporation Enabling workflow awareness within a business process management (BPM) system
US20160070596A1 (en) * 2013-04-15 2016-03-10 P. Ashok Anand Workflow Execution System and Method for Cloud Environment
FR3026884B1 (en) * 2014-10-02 2018-01-12 Immersion ATTENTION ATTRACTOR DISPLAY METHOD AND DEVICE

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0854431A2 (en) * 1997-01-20 1998-07-22 International Business Machines Corporation Events as activities in process models of workflow management systems
WO1999063463A1 (en) * 1998-06-05 1999-12-09 I2 Technologies, Inc. Workflow communication
US6115646A (en) * 1997-12-18 2000-09-05 Nortel Networks Limited Dynamic and generic process automation system
US6122633A (en) * 1997-05-27 2000-09-19 International Business Machines Corporation Subscription within workflow management systems
WO2001011509A2 (en) * 1999-08-04 2001-02-15 Portspring Limited A work flow processing method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11154189A (en) * 1997-11-21 1999-06-08 Hitachi Ltd Method and system for controlling state monitor type work flow
US6976257B2 (en) * 1999-12-30 2005-12-13 International Business Machines Corporation Context based execution prioritization in Workflow-Management-Systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0854431A2 (en) * 1997-01-20 1998-07-22 International Business Machines Corporation Events as activities in process models of workflow management systems
US6122633A (en) * 1997-05-27 2000-09-19 International Business Machines Corporation Subscription within workflow management systems
US6115646A (en) * 1997-12-18 2000-09-05 Nortel Networks Limited Dynamic and generic process automation system
WO1999063463A1 (en) * 1998-06-05 1999-12-09 I2 Technologies, Inc. Workflow communication
WO2001011509A2 (en) * 1999-08-04 2001-02-15 Portspring Limited A work flow processing method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CUGOLA G ET AL: "Exploiting an event-based infrastructure to develop complex distributed systems" SOFTWARE ENGINEERING, 1998. PROCEEDINGS OF THE 1998 INTERNATIONAL CONFERENCE ON KYOTO, JAPAN 19-25 APRIL 1998, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 19 April 1998 (1998-04-19), pages 261-270, XP010276009 ISBN: 0-8186-8368-6 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500144B2 (en) 2003-06-20 2009-03-03 International Business Machines Corporation Resolving problems in a business process utilizing a situational representation of component status
US7305412B2 (en) 2003-09-30 2007-12-04 International Business Machines Corporation System and method for conversion from graphical business process representations to structural text-based business process representations

Also Published As

Publication number Publication date
CN1531701A (en) 2004-09-22
EP1402436A2 (en) 2004-03-31
CN1316408C (en) 2007-05-16
US20040177074A1 (en) 2004-09-09
US7174338B2 (en) 2007-02-06
DE60203117T2 (en) 2006-05-24
EP1402436B1 (en) 2005-03-02
DE60203117D1 (en) 2005-04-07
WO2002093437A3 (en) 2003-08-21
ATE290240T1 (en) 2005-03-15

Similar Documents

Publication Publication Date Title
US6065009A (en) Events as activities in process models of workflow management systems
US6976257B2 (en) Context based execution prioritization in Workflow-Management-Systems
Appel et al. Modeling and execution of event stream processing in business processes
US7222302B2 (en) Method and apparatus for generating it level executable solution artifacts from the operational specification of a business
US8914770B2 (en) Generating compatible partner processes in BPEL
EP1475700A2 (en) Automated business software application integration
US20020111841A1 (en) Controlling commands in workflow management systems
US7640538B2 (en) Virtual threads in business process programs
JP2011129150A (en) Business process automation
US20050108022A1 (en) System and mechanism to create autonomic business process solutions
US7174338B2 (en) Signaling events in workflow management systems
US8719215B2 (en) Controlling the creation of process instances in workflow management systems
US7403878B2 (en) Using nodes for representing hyper-edges in process models
US20020077945A1 (en) Multiple audit trails in workflow-management-systems
Verbeek et al. XRL/Woflan: Verification and extensibility of an XML/Petri-net-based language for inter-organizational workflows
Aberer et al. A language for information commerce processes
JP2008040620A (en) Process management device, business process management system, and process management method
Alagar et al. Intensional programming for agent communication
EP0831406A2 (en) Implementing a workflow engine in a database management system
Du Semantic service description framework for efficient service discovery and composition
Krogstie et al. Modelling languages: Perspectives and abstraction mechanisms
Grossmann et al. Modelling and enforcement of inter-process dependencies with business process modelling languages
Katranuschkov et al. Supporting model-based cooperation in distributed web spaces
Chafi Genetic object-oriented implementation design
AU2005247025B2 (en) Just-in-time Workflow

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2002732630

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 028094255

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 10477000

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2002732630

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2002732630

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP