Saturday, June 30, 2012

James Taylor on top 10 excuses to avoid business rules

James Taylor has recently written series of posts in his Blog on 10 top excuses to avoid business rules.    These excuses are brought mainly from the IT people point of view, among them are: business users don't want it,  you want business user to program?, we're doing fine, we tried before and failed and more...
I wonder if these blogs are motivated by the author's observation that the business rules area doesn't get enough traction?   for each of the 10 excuses, James has a counter-argument.   I guess that the question here is more general about the ability of business users (= non programmers) to develop any type of  applications - in sense of expressing and customizing business logic.   Business rules is an instance of this.
I am looking for any research work about the success factors, approaches and limitations for this general questions -- will share insights when I'll have them.  More - later. 

Friday, June 22, 2012

On concurrency and fairness in event processing

Uri Cohen from Gigaspaces (an Israeli company) published a presentation on slideshare entitled: 
"event processing at massive scale - approaches to concurrency".  This presentation is motivated by the massive scalability of capital markets trading.  It deals with different methods for concurrency, based on queues and segmentation.   One of the properties it aims to address is fairness. The claim is that single threaded queue is always fair, and when concurrency is used, the fairness issue arises since there the order of execution becomes non deterministic.  The proposed solution is segmentation, and exclusivity within a segment.     The issue of fairness is actually more complex, event in single threaded, the order have to be determined carefully since fairness should be determined according to the occurrence time of the event in the real world, and not the time the event is detected by the system's API,  furthermore, the issue of fairness when derived events are involved becomes even more complex.    I'll write about fairness in length in another post.  In any event - work on concurrency methods, and optimization among the trade-offs related to optimization is important for massive event processing solutions.    More - later.

Saturday, June 16, 2012

On the world wide event processing network


In a recent post on the complexevents site, David Luckham and Roy Schulte write about "complex event processing and the future of business decisions".   There are some examples, and some analysis of the current market, but I would like to write about a single sentence in this article: " In the early days of the Internet, some communication experts remarked that there was theoretically only one network in the world, although some segments (subnets) hadn’t be connected into the whole yet. A similar thing can now be said about EPNs: there is theoretically only one EPN in the world, although some stove-pipes are not yet tied in – and some never will be".    

This draws similarity between the WWW and the world of events.   In the WWW we view the sites as the nodes in the graphs and links as edges.  Typically we draw EPN as event processing agents in the nodes, and event streams as edges, but maybe to draw the analogy with the WWW, we need to switch the role, make events as the nodes, and agents as links that create other events, we also can add other types of causality relations among events as edges in the graph.    The idea that all events (raw or derived) in the universe are conceptually linked within a single network has been mentioned in David Luckham's idea on "holistic event processing" .   This can be thought as active addition to the WWW,  and will make the world situation aware.       This will require standardization in several levels - both the semantic and interoperability aspects.    

Monday, June 11, 2012

Adding voice to event processing



Richard Seroter reports on a demo he constructed using the cloud version of Microsoft Streaminsight and Twillio services to get situation detected by event processing and then send a voice message as a notification,  he also outlines the code behind this demo (a video clip with the demo itself would be cool addition). 

In this case the voice is being used as event consumer to send notifications,  it will also be interesting, but of course more challenging to have voice as producer for events,  actually there are some works done on this area and I'll try to get more details and report on it. 

Sunday, June 10, 2012

DEBS 2012 program is available

The organizers of DEBS 2012  (this year I had nothing to do with the organization of this conference) have published the full program and the tutorial program.  This year the conference will take place in Berlin, and the conference logo contains this Berlin photo.  

Looking at the program I see familiar names as well as some new ones. It seems that the organizers kept the new sessions we introduced in 2011 - gong show and DEBS challenge,  it will be interesting to see how these will evolve.    As for keynote speakers - the industrial keynote speaker this year will be  Raman from Microsoft (the topic has not been published yet),  the academic keynote speakers will be Dave Maier on using frames in data streams, and Martin Odersky on actors (seems that AI based concepts are in).     The tutorial program will include variety of tutorials,  the tutorial that our team has prepared this year together with Alex Artikis from NCSR, Athens, deals with various aspects of uncertainty in event processing (well - we still need to work on the slides!).   There are other interesting tutorials as well, so picking one will be tough choice.

We also presenting a paper in the scientific track on the basic proactive model.  I'll write more about these two topics later. 

Hope to meet a lot of old friends in Berlin. 

Thursday, May 31, 2012

More on doing what one is inspected to do instead of what one is expected to do


I have already written last year about the seminal phrase of Lou Gerstner cited in the title of this post,  about the negative side of addiction to metrics as behavior controllers.      Today I found a blog posting by one of my IBM research colleagues, Matthias Kaiserwerth, the director of the Zurich Research Lab, entitled: Big data analytics - why delayed flight makes for more satisfied customers.    In this posting  Matthias quotes a talk by Andy Neely that indicates some of the phenomena associated with metrics.   

One example is that when a measure in a call center is to resolve a client's issue within 2 minutes, the agent starts to close the call after 1:45 minutes, regardless if the client' issue is resolved, since the agent is measured on length of the call and not on results.   Actually I saw such cases in which some administrators who are measured on time of handling requests preferred to find some reason to close the request and not handle it since the time exceeded their metrics.  

Another example that landed its name to the cited posting 


One of the major  metrics for airlines is "friendly staff",  using analytics techniques the results show that their is a positive correlation between flights being delayed and the friendliness of the staff, since the staff is very nice in trying to calm down angry passengers that become nervous about missing flights (and sometimes promise things that their colleagues in the destinations don't really accomplish),   taking this ad absurdum - the flight company should deliberately delay flight to enable the staff to maximize their friendliness metrics.

Neely has his own version of Gerstner's phrase:  doing the right things rather then doing things right.  

As I noted in my original post --  the metrics oriented culture is in many cases damaging and we should go back to the basics --- understand what are the right things.

More - later

Sunday, May 27, 2012

Event processing and mobile devices

The current big buzzwords in the IT world are: analytics,big data, cloud and mobile.   These are believed to be the most influential trends on the IT directions.  I have already written about analytics and big data in some previous post, today I'll write on the mobile universe from the point of view of event processing.  


Putting the mobile devise symbol on a drawing of an event driven architecture, we can view multiple roles:
  1. Mobile device can be a producer of events -- this may be both implicit events, using the mobile devise as a sensor and tracking the location of the mobile device over time  or explicit events, where a human use mobile devise to report events (such as:  traffic jams, completion of tasks, start of the work day)
  2. Mobile device can also serve as consumer of events -- subscription to either raw or derived events can be manifested within notification in form of Email, SMS, or mobile application.   It seems that most uses of mobile devises are the consumer and producer roles.    There are also some more sophisticated possible uses, discussed next.
  3. One can build event processing agent logic using mobile devise, but it is more likely that the use in this case will be to use predefined templates in order to define specific instances of EPA. For example, if the application is subscription to events in my bank account, I might get a template giving me an opportunity to subscribe when my accounts reached a balance of more than X or less than Y, I received a deposit of more than Z, or that the total withdrawals for a single days are more than W.   Using the mobile device I can chose any of them and give value to the X, Y, Z, W variables.
  4. A dashboard showing the real-time state considering the streaming events can be also displayed as a mobile application
  5. Last but not least -- An EPA can reside on the mobile device itself,  collection data and doing some filtering or aggregation.
In a follow-up post I'll try to switch direction and look at event processing from the mobile point of view.
More - later.