Showing posts with label science fiction. Show all posts
Showing posts with label science fiction. Show all posts

Monday, November 30, 2009

More on the EPIA upocming book


I have written before that I am a science fiction fan, and out of the (relative) young generation of the science fiction writer, there are some writers I find as very creative in ideas. One I've written before about was Rob Sawyer, this time I am reading in my spare time Brandon Sanderson's book: Warbreaker. I have read some of the other books of Brandon Sanderson, and this one find this with many creative ideas. All his books are highly recommended if you like this genre. Anyway, I did not write in this Blog last week, actually took a few day off to work on the EPIA book.


We now have all chapters of the book ready in a draft form !!!, several of them are still in cleaning phase, we will send them to another set of reviewers (Manning is champions of reviews, it did a review on the outline, and three reviews during the book), and will hand out the final copy sometimes in January, so the target is to have the book out around the end of April.

The new stuff in the book -- some of it are revisions: adding a section about the relationships of event processing to other stuff, and adding code samples from various products in different chapters, some of it is new, a new chapter about implementation issues: programming styles (based on the DEBS languages tutorial), non functional requirements, performance metrics and optimization kinds. We are also advancing with the book's Website. I'll write more about selected parts of the book later.

Saturday, November 14, 2009

When does a derived event actually happen? - (posting I)



Just finished reading the book "Flash Forward" by Robert Sawyer. Science fiction was always my favorite type of literature, and my favorite writers are Asimov and Hienlein. There are science fictions writers among the following generation that stand out, and the Canadian writer Sawyer, who does not forget to give Canada a role in each of his books, is one of those. I have read several (not yet all) of his books. The best of these I read so far is the Neanderthal Parallax trilogy, which is also very though provoking besides being fascinating. "Flash Forward" book, which is now also becoming a TV series deals with an experiment that get everybody in the universe to jump forward 21 years in time for 2 minutes, this is a combination of science fiction, a book that raises some philosophical issues, and a suspender, highly recommended.

The question of time and deep temporal issues also was one of my favorite research topics, since time has physical, philosophical, and also computer science implication. Back to event processing, recently I have written the "warnings" chapter in the EPIA book, and one of the interesting question is: when does a derived update occur?
As discussed before, there are two dimensions for answering the question: occurrence time which stand for the time in which an event occurs in reality, and detection time which stands for the time in which an event is detected by the event processing system. Both of these are not obvious in the case that the event is derived. If we take the naive approach that a derived data occurs when the system computes it then we can have several anomalies. Consider the following simple example: there is an auction system, each auction has some auction context time interval, in which this auction is valid, and people are doing bids. The auction works on fairness criterion, which gives preference to people who did the bid earlier, in case of multiple bidders that made the maximal bid. The raw event is bid request, but the entry to the bid process is a derived event, since the event has to be enriched, validated, and some details added from the previous bid of the same bidders (if exists). If we take the time that the derived event actually happened as its occurrence time then we can have some semantic anomalies, as shown in the following figure:


Anomaly 1 (on the right hand side) is realized by the fact that though the bid request is done within the auction validity interval, the bid entry occurs after the auction interval ends and will not get into the auction processing.
Anomaly 2 (on the left hand side) is realized by the fact that orders of the bid requests can be reversed by their corresponding derived events and thus the outcome of this auction may not be consistent with the auctions' rules.

This is just one example that create a bias into a particular solution, however, the reality is even more complicated, since in different cases the answer to the question poses in the title of the postings may not be the same, thus policies should be used to disambiguate the semantics here.

I'll have a follow-up posting with discussion about the proposed policies for this case.