vincent
Thu, 03 Jul 2008 17:09:31 +0000
Continuing our posts from the
Distributed Event Based Systems conference: the next tutorial was
Opher Etzion from IBM Labs on CEP Patterns [*1]. Or more accurately, a notation for event processing components, which seemed more generic than the Snoop notation from the
previous session, and possibly a good fit for matching to a process framework like
OMG BPDM [*2] [*3].
Opher, I noticed, used the term “Event Processing Agent” to describe a logical event processing task, perhaps made up of several EP operations. Hmmm, I’ve seen the term “Agent” in CEP context before…* such as last week when
Jim Odell presented at the OMG meeting on the
OMG Agent Metamodel and Profile for
agent-based programming (listing CEP amongst its uses). We at TIBCO talk about (large granularity) Event Processing Agents (which collaborate as multiple distributed processes, possibly using differing techniques such as rules, rules + states, queries, etc), but otherwise our agents have similarities to Jim’s definition. Oracle, in the following tutorial, seemed to share the same usage as TIBCO. So perhaps the taxonomy / terminology should look something like:
- Event Processing (EP) Operator is-used-in EP Element
where Element is a logical CEP task consisting of 1 or more CEP operations
for example, Operators might be* a query part, a rule condition, a SNOOP operator
for example, Elements might be a rule, ruleset, query, set of queries</p>- EP Element is-used-in EP Agent
where Agent is an autonomous or semi-autonomous process containing EP Elements
for example, an Agent might be a set of EP Elements together with event interfaces (and any necessary controls) to define a processing unit</p>- (and maybe EP Agent is-executed-in EP Engine)
where Engine is an executable deployment container for EP Agents
for example, the appropriate CEP executable used to execute 1 (or more) EP Agents
and where a System may include a set of distributed Engines and their associated Event infrastructure
Although “EP Agents” were defined by Opher, I don’t recall “distributed EP agents” being discussed (although “distributed EP” is somewhat orthogonal to “event processing element”, with the caveat that latency modeling might be needed for highly distributed CEP systems). Distributed CEP requirements are already a subject of discussion (for example, see rule engine advocate James Owen’s recent
comment on the need for distributed processing for Homeland Security problems). Such requirements are also, of course, already being addressed, such as by some
high-scalability rule-driven CEP vendors…
Notes
[1] Opher had to use someone else’s laptop, with the effect that his PPT displayed logical operators using some very pretty Microsoft symbol font symbols. The effect made his notation look much more interesting though!
[2] … although it may well be the case that BPDM will need “tuning” to accomodate continuous event processing and “non-traditional BPM” concepts. In addition, this may or may not be an ultimately useful exercise (except for those who need holistic views of their enterprise process models).
[3] I was searching for a suitable link for
OMG BPDM that would make sense to the CEP community, but didn’t fiind any that expressed my view (/hope) of what BPDM represents, or suffered inaccuracies like
equivalence to XPDL,
that SBVR business notation equates to process rules, or that BPDM is
used (implication: directly) by business users. Of course, existing BPDM descriptions are focused on selling the idea to the BPM community (although the
RFP implies a wider audience including the EP community).
Source...