Monday, July 16, 2012

DEBS 2012 tutorial on event processing design patterns


In the morning I had to attend the tutorial that I have co-presented,  but in the afternoon I was free to chose among three tutorials.  Out of sheer laziness I stayed in the same room and listened to the tutorial given on behalf of the EPTS reference architecture workgroup.   The gang of four that presented this tutorial were:
  • Paul Vincent (who gave his performance wearing a papillon  tie - I hope that somebody took a picture of him, I have put a picture of some papillon tie as a place holder)

      Paul was the main presenter, and also presented the TIBCO interpretation and the Oracle one (covering  
      for Alex Alves who couldn't arrive).
  • Adrian Paschke - who presented the Prova interpretation (Prova is an open source that he co-developed)
  • Catherine Moxey - who presented the IBM Websphere Operational Decision Management (WODM) intepretation 
  • Martin Hirzel - who represented IBM Infosphere Streams



I need to review this tutorial carefully in order to comments,  but several comments off-hand;

First - I think that the team has done a very thorough work of trying to classify functions, map them to various implementations, they also attempted to map them to the EPIA book that Peter Niblett and myself have composed.   

I need to think more carefully about some terminology issues --- first, I am not sure that what they presented are really design patterns as defined in software engineering by the original gang of four.  I think that what was done is more classification of functions not really design practices.  Their classification is to four major classes: event reaction, complex event detection, event analysis and event preparation. 

The complex event detection contain three functions:  consolidation, composition and aggregation.  I am not really sure that the definitions are intuitive, but I am taking as an action item to look at the definition and right a detailed review of them.   There are some other stuff that worth reading and reviewing, including validating the relationships that they made with the EPIA patterns (again in EPIA these are functions and not patterns).

The mapping to the different languages is also very interesting.  Work on real best practice of patterns and anti-patterns will be a good next step.

More -later


7 comments:

Rainer von Ammon said...

I agree with you, Opher.
Some years ago (the Working Group Reference Architecture exists since 2006 (around 7 years for the same subject!) as one of the first) I reviewed a paper of this group for a former DEBS and said:

First define
- what is a Reference Architecture at all and what is the SotA in the literature
- what is a Reference Model and what a Reference Architecture and when we need what
- what is a RA of CEP-applications or edBPM-applications (what is not the same) and what is special
- what is a Design Pattern at all and what is the SotA (there are different gangs, not only the gang of 4:-))
- what is a DP for CEP-applications or for edBPM-applications (what is not the same)
- what has a DP to do with a RA?!
- what is a meta-pattern and what is a template and what is the SotA for what?
- what actually should be this term "Logic Programming Semantic CEP Rule Engine"?? what does this mean, my goodness?!
etc. etc.
Means: first define terms, then use them; otherwise is not readable or usable in science.

Which program committee has accepted this tutorial? We must discuss the role of a PC wrt. quality assurance in EPTS as well. A PC has a responsibility (even DEBS is an ACM event, you risk this status), is not only thought as a fancy item in a CV. Sorry, but must say it finally:-( Otherwise EPTS would not regain any momentum... http://epthinking.blogspot.de/2012/07/more-on-epts-and-online-magazine.html

But you can or sometimes must do so, if you work for the marketing department of an enterprise, which is often not interested in scientific definitions, because they invent new great terms every week for the press and the market, scientifically not usable.

Different worlds - as we are typically discussing this in connection with our current EPTS restart and why it is such a problem to cooperate between both worlds from science and industry in one single society.

I hope you agree with me in connection with your new hat http://epthinking.blogspot.de/2012/07/professors-hat.html and your resposnibitlity for good science;-)

Opher Etzion said...

Hi Rainer.

Tutorials are not being accepted by a program committee, but there is a tutorial chair which decides based on an abstract, so content is not being reviewed, and a tutorial is not recognized as a scientific publication.

While there are some details that I have different opinion then the authors, I think that the acceptance of this tutorial was well deserved, it was relevant, and interesting to the audience, and a lot of work was invested to gather all the material. I am going to give this tutorial as reference to my students, to learn and review.

Opher

Rainer von Ammon said...

You are a great diplomat;-) Let us know what your students judge...

Anonymous said...

Rainer, you should probably carefully look through the tutorial material before going on a rant like this and making claims about "good research".

Rainer von Ammon said...

I did, some others too...
BTW: What means "advanced" in the title of the agenda? :-)

Rainer von Ammon said...

BTW: your original post does not fully work with IE and firefox, perhaps only with your chrome

Rainer von Ammon said...

Thanks, Opher, for sharing this on facebook http://www.sigmod.org/publications/sigmod-record/0809/p36.korth.pdf and http://wp.sigmod.org/?p=488 what Tamer Öszu is saying