The Grammar of Complex and Intelligent Events

Folks defining CEP, and now this new term IEP, have been very passionate over the past few years that “Complex Event Processing” means the Processing of “Complex Events” not the “Complex Processing” of Events.   

Grammatically speaking, it follows that Complex is an adjective describing a noun, Event; and Processing is a verb. 

Complex events are defined by the same community as composite events, or events that are composed of two or more “contributing” events.

To be consistent, I think we should follow the same logic and grammar in the discussion of “Intelligent Event Processing”. 

It follows that Intelligent should be an adjective describing a noun, Event; and Processing is a verb.  It also follows that “Intelligent Event Processing” means the Processing of “Intelligent Events” not the “Intelligent Processing” of Events.   

This is precisely the problem that folks are creating a new CEP term, “Intelligent Event Processing” to describe processing capabilitities that are missing from the current suite of self-described CEP software products.   What people really mean to describe is the Intelligent Processing of Complex Events.   However, based on the same grammer used in defining CEP, they have created the Processing of Intelligent Events.

The use of inconsistent grammar and logic is not good for the CEP community, in my opinion.   Just because the current generation of self-described CEP vendors do not rise to the capability required by the vast majority of business event applications, we should not create new terms just to make marketing folks happy.

I think I am in a good position to speak about this, because some of my best friends work for software companies selling self-described CEP software and they have seemingly lost patience  because I refuse to support inconsistent illogical positioning and repositioning of the CEP market.

Why is the grammar between the terms “Complex Event Processing” and “Intelligent Event Processing” inconsistent?.   Folks can only spin and reposition CEP so much before all the spin, hype, and repositioning begins to catch up with the community.   

Dr. David Luckham’s original papers and single book on CEP was clear enough about CEP; and CEP covers the entire space that Opher Etzion would like to reposition as IEP.    The Grammar of Complex and Intelligent Events are, at best, misleading and inconsistent.

I think the main problem is that what Opher has been describing is the Intelligent Processing of Complex Events – however, to say this would affirm what I have been evangelizing for over two years.


4 Responses to The Grammar of Complex and Intelligent Events

  1. Opher Etzion says:

    Hi Tim. I don’t have any sentiments towards TLAs, as stated before, my preference is to say that there is a discipline called “event processing” and all other terms are invcluded inside – I am also not the copyrighter of any… I mentioned several times that the term “complex event processing” can be understood in (at least) two ways – and I am following the definition that was set by the glossary editors (processing of complex events). It is better to have a conistent official term here. As for “intelligent event processing” – I am not the copyrighter of this term either, and this term may still evolve – however, the content is using intelligent processes in various places of the EP life-cycle.



  2. Tim Bass says:

    Hi Opher,

    You have consistently advocated the use of the term”Intelligent Event Processing” congruent to my consistent position that CEP, as implemented by the self-described CEP community, uses very limited analytics, and is therefore, not effective in the vast majority of operational event processing problems outside of the limited applications in stream processing we see today,

    In addition, by advocating “Intelligent Event Processing” (you may not have “copyrighted” IEP, but you are advocating the TLA) instead of using “Complex Event Processing” for the same problem space; you are basically saying that CEP software is “Unintelligent” because if the software is “Intelligent” is it IEP.

    This market positioning, which has been your consistent position, is inconsistent with the grammar of the CEP definition and also runs the risk of marginalizing CEP as “Unintelligent”. As I mentioned, this is a slippery slope that you are creating as you position CEP as “less intelligent” because the current software is “less intelligent”. I continue to advise against this positioning.

    The current generation of self-described CEP software is “Unintelligent”, by your own positioning, and does not solve the vast majority of CEP classes of detection-oriented problems outlined in David’s original work on CEP.

    There is little technical reason, only marketing and positioning, to advocate and create an inconsistent new technology called “IEP” to fill-the-gap in current generation capabilities of self-described CEP software vendors.

    Better ot be correct, and say:

    “Intelligent Processing of Complex Events” ……… which is both grammatically and technically correct.

    Yours faithfully, Tim

  3. Tim,

    I’ve read the blog for some time and have been meaning to contribute some thoughts on vocabulary. By way of introduction, I look after the Securities Technology Analysis Center (STAC), an independent test lab that analyzes technology used in the capital markets. STAC facilitates the STAC Benchmark Council, a group of trading firms and technology vendors who have come together to define standard ways of measuring the performance of technologies used in securities trading (see

    So-called “CEP” is a category of technology that seems to be picking up real momentum on Wall Street (not as a panacea for credit crises, by the way) and there is a working group within the Council focused specifically on event processing. The Council includes many of the vendors who often identify themselves as supplying “CEP” solutions, including (in alphabetical order) Aleri, BEA/Oracle, Coral8, Encirq, KX Systems, Progress Apama, and Streambase. The event-processing working group is currently working on specifications for benchmarking these products in an apples-to-apples way that replaces hype with insight.

    Throughout this process, STAC has resisted using the CEP moniker for these products because we don’t believe it captures the essence of their value proposition. Neither the events nor the processing are complex in many (most?) of the real-world deployments. Nor do we like “Event Stream Processing” (ESP). Systems that process event streams (both packaged application software and custom-built solutions) have been around as long as the streams themselves, so “ESP” doesn’t capture what’s new. STAC believes that what distinguishes these new products from their predecessors is that they are open containers in which customers can plug their own business logic to process event-driven data. That is, they are platforms. We therefore prefer the term “Event Processing Platform” (EPP). This term applies irrespective of the complexity or simplicity of the use to which a given product is put.

    This doesn’t directly address your desire to have an un-hijacked term for a particular class of use cases. However, I do think it handles half the problem, which is naming this new product category. For what it’s worth, the vendors on the working group seem to have readily taken to the term. Perhaps if they start using “EPP” instead of “CEP”, it will free up the latter term for your intended use? Or perhaps “CEP” is so damaged that we do indeed need a new term for the processing of complex events. Either way, “EPP” seems to be clarifying things, at least in our experience.


    Peter Lankford
    Founder & Director, STAC

  4. Tim Bass says:

    Hi Peter,

    Thanks for posting.

    Which event processing use case are you referring to?

    Algorithmic trading based on processing streaming market data?

    What specific algorithm will you benchmark?

    Please elaborate on what you are doing in this space and what is “new”, thanks!

    Yours sincerely, Tim

    PS: I can easily answer your questions if I understand exactly what you are doing and what is “new”.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: