摘要:
A method, system and computer program product for achieving a balance between pre-filter efficiency and pre-filter throughput. Event subscriptions are obtained for a given event consumer. The event subscriptions define the events to be routed to this event consumer. Pre-filters of varying complexity and filtering power are constructed based on these event subscriptions. A balance between pre-filter efficiency and pre-filter throughput may be achieved by selecting the best pre-filter out of these constructed pre-filters to filter events to its associated event consumer. The best pre-filter is selected by comparing a complexity threshold (e.g., a limit for the number of atomic Boolean expressions in a pre-filter) with the actual complexity (e.g., the actual number of atomic Boolean expressions) for each constructed pre-filter and selecting the most complex pre-filter without exceeding the threshold.
摘要:
Embodiments of the present invention address deficiencies of the art in respect to process modeling of a process flow interruption and provide a novel and non-obvious method, system and computer program product for modeling interrupts in a business process. In one embodiment of the invention, a method for modeling interrupts in a business process can be provided. The method can include executing a task in a business process flow, detecting an interrupt that occurs while the task is executing, determining timing requirements for the interrupt, which may either call for an immediate response or for a response after the task has finished execution and launching an interrupt flow for the interrupt which may either displace, or complement, the task's regular output.
摘要:
A virtual machine supports execution of compiler-generated code and provides an execution environment for code that may correspond to any of several different event-driven or message-driven programming models (such as state machines, rules for complex event processing and event correlation, monitoring contexts, processes, and mediations). The programming models may be used in business monitoring and/or business integration environments. A programming language is defined for execution using the virtual machine, which contains a relatively small number of instructions and which is preferably generated by a compiler from a higher-level, event-driven or message-driven model.
摘要:
A method, system and computer program product for achieving a balance between pre-filter efficiency and pre-filter throughput. Event subscriptions are obtained for a given event consumer. The event subscriptions define the events to be routed to this event consumer. Pre-filters of varying complexity and filtering power are constructed based on these event subscriptions. A balance between pre-filter efficiency and pre-filter throughput may be achieved by selecting the best pre-filter out of these constructed pre-filters to filter events to its associated event consumer. The best pre-filter is selected by comparing a complexity threshold (e.g., a limit for the number of atomic Boolean expressions in a pre-filter) with the actual complexity (e.g., the actual number of atomic Boolean expressions) for each constructed pre-filter and selecting the most complex pre-filter without exceeding the threshold.
摘要:
A virtual machine supports execution of compiler-generated code and provides an execution environment for code that may correspond to any of several different event-driven or message-driven programming models (such as state machines, rules for complex event processing and event correlation, monitoring contexts, processes, and mediations). The programming models may be used in business monitoring and/or business integration environments. A programming language is defined for execution using the virtual machine, which contains a relatively small number of instructions and which is preferably generated by a compiler from a higher-level, event-driven or message-driven model.
摘要:
Mechanisms are provided for monitoring a process of a data processing system. With these mechanisms, a notification of an event comprising information regarding the event, and a process running in the data processing system that generated the event, is generated. It is determined whether one or more key performance indicators (KPIs) have been defined for an element corresponding to the process, in a model of the data processing system. In response to one or more KPIs not having been defined for an element in the model corresponding to the process, new KPI definitions are generated for the element in the model corresponding to the process based on specified default KPIs. The new KPI definitions constitute an extension of the model of the data processing system to thereby generate an extended model of the data processing system. The extended model is then used to monitor an operation of the data processing system.
摘要:
A system is provided for constructing an implementation protocol given (a) a partner interaction protocol describing possible sequences of messages between two interacting parties, (b) one or more protocols of message exchange patterns of operations of a service interface, and (c) an implementation mapping that maps the input and output messages of the service interface to messages between the two interacting parties. The system includes at least one processor, and an implementation-protocol generating module that executes on the at least one processor. The implementation-protocol generating module is configured to generate a state-machine graph representing the partner interaction protocol, to generate at least one state-machine graph representing message exchange patterns corresponding to operations of the service interface, and to construct from the state-machine graphs an implementation protocol that defines which operations of the service interface are used for any sequence of message flows of the process role.
摘要:
A compiler generates code providing an execution sequence, from a declarative event-driven model, for execution by a computer. To assist in debugging the declarative event-driven model, the compiler also generates cross-references that relate steps in the generated code to elements of the declarative source code. The cross-references may be used as input to a debugger, along with the declarative source and the generated code, to assist a user who is stepping through the generated code (for example) in understanding which portion of the declarative source gave rise to the current step in the generated execution sequence.
摘要:
A compiler generates code providing an execution sequence, from a declarative event-driven model, for execution by a computer. To assist in debugging the declarative event-driven model, the compiler also generates cross-references that relate steps in the generated code to elements of the declarative source code. The cross-references may be used as input to a debugger, along with the declarative source and the generated code, to assist a user who is stepping through the generated code (for example) in understanding which portion of the declarative source gave rise to the current step in the generated execution sequence.
摘要:
A model of a process is created using novel “fan-out” and “fan-in” symbols. A fan-out symbol represents a point in the process flow where a variable number of homogeneous parallel outgoing threads are being split out from a single incoming thread. The fan-in symbol represents a point in the process flow where a variable number of parallel incoming threads with homogeneous output are combined into one or more outgoing threads.