Wednesday, November 4, 2009

On logic programming and event processing

Alex Alves wrote in his Blog about logic programming extensions for CEP. Logic programming is like Phoenix, it goes and comes again in different contexts. First time I heard about it, in the early 1980-ies, in the context of the fifth generation computing, that was promised to be the real computer revolution -- old guys like me may still remember the hype around it, this was based around logic programming, actually its metrics was: LIPS (logical inferences per second). Then Prolog appeared as a competitor of LISP as AI language, some of the language wars were documented in the famous paper by Bobrow, entitled: If Prolog is the answer then what is the questions? Anyway, both LISP (my own favorite language) and Prolog has stayed in AI courses, but AI oriented programming is now being written in general purpose languages. Next we saw logic programming appearing in databases, in the form of deductive databases, Datalog and its siblings; when I was a graduate student in the late 1980-ies, deductive databases were the most visible topic in database conferences, and it was also somehow vanished a few years later. Now we are observing that among the many languages styles for event processing there is also event processing based on logic programming. Alex's Blog talks about Drools, there are also some other of this type. One of the languages that will participate in the EPIA book languages experience is an open source language based on logic programming called ETALIS. I'll report about this languages experience as we advance.

No comments: