Saturday, September 15, 2007

Meta-language as a standard for EPL (event processing language)

I have started my welcome address to the participants of the Dagstuhl seminar on event processing by saying "Bonan Matenon" - nobody in the audience knew what is it, well, it is "good morning" in Esperanto. This was indicative that the fine idea of Zamenhof has not been very successful (although we do have in Haifa a Zamenhof Street).

In previous post about "event processing and the Babylon tower" I have discussed the multiple languages, and stated that it does not seem feasible, in the near future, to get agreement about single programming style for event processing. However, this does not say that we cannot advance in this area, and the topic I am raising for discussion in the coming EPTS event processing symposium is about working on a "standard meta-language" as a starting point.
Such meta-language should include the following:

  • Semantics of the meta-language primitives
  • Definition of event flow between the primitives (the event processing network)
  • Definition of non-functional properties for this certain application

The meta-language will serve as the standard basis, and vendors will be able to provide translators to their own languages and implementations, and one of the descendants of this meta-language may one day become THE EPL language... But -- we have still have to get there. As said, in the coming EPTS meeting I intend to provide a call for a community effort to work on this topic. Stay tuned.


harvey said...

Hello Opher,

I am on your email list and appreciate all your efforts to bring the event community together. I agree language is essential for societies to form and prosper, and so it will be for us.

I will suggest that we leverage and extent existing languages to the extent possible in order to accelerate adoption. This will be especially true for the vendor and standards community, let alone the user community.

For example some candidates could include XQuery, XPath, SQL, and BPEL. The primary purpose of event processing is to recognize that "something has happened", then "process" the event to mitigate it's existence. The languages mentioned (and Others I am sure) operate in this space.

Take care,

c43ng said...

That's a very old post, so I'd like to know, in your opinion, if something moved from the "babel tower".

I just add that, in my opinion, we'll never get rid of this: people will always argue for their language, no matter what. Still, I feel like (and indeed, I am moving my phd research toward this direction) this community needs a standard formal meta-language.

Consider this: such a language, provided that is semantically equivalent to the existing ones, might enable interoperability between different systems, it also could be equipped with a compiler for different host languages. When we'll have the chance to express a complex event structure and have this structure compiled into different host languages, this could enable greater flexibility and at least ease the vendor lock-in of event-driven applications.

Anyway, keep up the good work :)

Opher Etzion said...

It has not moved yet - but there is a chance that it will move now; with OMG RFP on meta-model. I'll write about it soon.

Yes - people will always argue about their language, but other communities adopted standards, e.g. SQL cannibalized a lot of languages.