The last few days I had many opportunities to discuss role of events in experiential computing. My presentation at Where did result in interest from many people who came and talked to me next day. David Sonnen was one of them. David has been interested in experiential computing and role of events for the last 4 years or so. He started interacting with me when I was still at Praja. He is currently very interested in representing processes in terms of events and understanding and analyzing complex situations in this framework. During this discussion Anne, who is interested in exploring applications of WiFi services made a very important point. She mentioned that she wants to understand how people use WI Fi to understand how should it be deployed and what facilities should be given. To do this, if she uses any standard models, then she is not able to understand WiFi because the old models are coloring the model that she will fit. And without using any models, it is difficult to understand the new and emerging usage patterns.
In most scientific applications, while analyzing a set of data, it is almost always the case that people use one of the existing models. Usually the situation becomes to assume that a particular model is appropriate and then check its validity and find parameters for which the model can be justified. This is more common than one would think and is more or less a standard operational procedure. This is interesting because this is not really very objective approach.
Another variation of this that one finds is to try to fit everything under the current paradigm. Currently in computer science, everything is centered around ‘object oriented’ approaches. Everything ranging from programming approaches to data organization (even based on relational models are now object relational) is object oriented. But can dynamic processes be really represented using objects? All efforts to extend object oriented approaches to deal with real world dynamic processes are like trying to use statics to deal with dynamic processes. As Newton and others realized long time ago, for dealing with dynamic processes one needs different approaches than the processes to deal with static situations. In computer applications, when we deal with dynamic processes, it is essential to model the dynamism. Event-based thinking is basically dynamic thinking and seems to be the right approach to do this. Events capture spatio-temporal characteristics and allow modeling of processes in a natural way. It is easy to model spatial and temporal relationships, as well as causal sequences using events. This allows building compound event structures as well as allows capturing of sequences of events based on cause and effect relationships. Of course, one can represent them either deterministically or probabilistically.
One sees the entrenched paradigm of objects in computer applications dominantly. Thomas Kuhn argued that sciences progress in paradigms. It is easy to see the entrenched paradigm of objects in current computer science thinking. So it is not surprising that I repeatedly heard at Where that only my talk talked about events. Many people realize that space and time are intertwined and are closely related in many applications. But almost all, except my, presentation were only on space because space is easier to deal using objects. Once again one sees the situation expressed in the famous story of a drunk man looking for his keys under the lamp-post, while he lost them somewhere else because he can see near the lamp-post not where he really lost the keys.
Pingback: Steve Sanderson » Blog Archive » Inspiration on patterns and paradigms beyond OO