After lunch at EBRC I attended Paul Vincent's session on Business Rules in Complex Event Processing. Paul discussed CEP as involving real-time events, using patterns from historical data, relating these events and patterns to refine the situation and then detecting and predicting a specific situation. David Luckham, the originator of much of CEP's definition, wrote a book, The Power of Events, that outlines the area and includes many examples such as fraud detection (Fair Isaac's Falcon Fraud Manager could be considered a Complex Event Processing solution for instance) and complex contract compliance. Luckham has got a group together to define a CEP Reference Architecture (he has a site but I don't see the reference architecture yet) with layers to accept events, filter them to find the ones relevant to you, situation identification to pattern match and then impact analysis to derive information. The end result triggers processes or decisions. These processes and decisions cause more events to flow in and so on. At the lower level these rules are pretty technical but they become more business-centric as you move up. Analytics of various kinds, such as adaptive neutral networks, are used as well as business rules.
- Level 0 - Event pre-processing
- Level 1 - Event track and trace
- Level 2 - Situation Detection
- Level 3 - Assessment and Predictive Analytics
- Level 4 - Adaptive Process
Paul walked through many examples in transportation, Telecom, financial services (algorithmic trading), banking (personalized customer management) and so on. He also pointed out that in many ways the Kiwok solution was a complex event processing one and that the classic Harrah's analytic/rules case study, as discussed in Competing on Analytics, is also. He walked through a railroad case study in some detail and showed how CEP, rules and data integration come together to drive results. I blog around this often ( CEP and rules/EDM and SOA, BPM and CEP for example) and it ties into intelligent process automation. Level 4 involves what I would call adaptive control. CEP adds history and event awareness to rule applications and uses event-driven, stateful rules rather than decisions services. CEP is also related to event stream processing and there is more on event processing on the blog and I wrote an interesting post on Event-Driven Architecture/SOA over on my other blog.