Friday, December 10, 2010
On the 4Ds -- past version and the proactive version
The climate in Israel this year is quite strange, it is December, and today I still saw people going in the street with short dress, the summer just did not go away. However, the forecast for the next three days, starting tonight is of a major winter storm (which here means a lot of rain, not snow) and much colder weather, so getting the winter clothes ready.
Today I've read a blog posting by Jeff Adkins, one of the people with most practical knowledge about event processing, who relatively recently joined IBM GBS (Global Business Services). Jeff blogged about the 4Ds-- detect, derive, decide, do. These four are part of smart systems that sense and respond, what is known as reactive system. I knew that this looked familiar, so went back to my archive and found that seven years ago we were engaged with a project called "active integration" (the actual application was in the insurance area, but we have generalized the concept), roughly what was known by Gartner as "real-time enterprise". Here is the original flow from that project:
I don't think it has been original invention, it was a variation of concepts from control theory, but it looks very similar to the 4Ds, with a more detailed granularity.
The first D: Detect spread into two phases on our model: sense and detect, where the sense dealt with instrumentation and sensing of raw events, and detect with a detection of the meaningful situations by pattern detection.
The second D: Derive is the same: created a derived event (and sometimes also derived data) as a result of this detection
The third D: Decide is partitioned to three phases: Analyze - determine the possible alternatives and recommend, Collaborate - in case of "human in the loop" within the decision, and Decide -- apply some decision procedure to select among the alternatives (simulation, analytic methods, predetermined rules).
The fourth D: Do we called "effect", since it had to effect a running system.
The loop indicates that the after effecting the system, it feedbacks through its instrumentation mechanism and the sense phase is looking again for things that needs reaction.
I agree that the 4D is much more catchy then our more detailed drawing.
And one comment: when we did this work, we worked on REACTIVE system - something has occurred, we detect it, and then do something to repair. This drawing is also a good description of our current project that deal with PROACTIVE systems, but the semantics is somewhat different: the detection is of predicted undesired states instead of situations that require reaction since something already happened.