Monday, February 16, 2009

On Model Driven Engineering and Event Processing

In my previous posting about the "quantum leap" question I have mentioned that one of the major areas in which innovation is needed to advance the state of the art is the usability area.
In current products the user interfaces are going from the "implementation up" which mean that the primitives presented to the developer are closely related to the implementation, there are some user interfaces that are going towards the concept of the business user as developer , however, it is still trying to make it easy to work with the existing primitives that are based on the implementation. The contrary approach is to start from a model that is closely related to the business user concepts and map it down to the implementation. The agility requirement is to give the business user the ability to author, modify and control the behavior of and event processing system, or even more generally, a multi technology decision system. The engineering part here enables to translate it into an implementation that will maintain the desired quality of service. The modeling should start from the goal of what the system wishes to achieve -- decision, monitoring, prediction and some others (see my posting about type of event processing applications)
James Taylor is often writing about the MDE idea in the context of decisions however decisions is just one type of application and this principle apply for other types of functionality. This is a major challenge, and I'll say more about this direction in subsequent postings.


Eran said...

This is a very crucial thing for event-driven system development, in my opinion. Somehow, event-driven systems are harder to model, again in my opinion, than more conventional sequence-based system. There is less of a flow here. Some interesting challenges are in finding methods and languages for modeling events in a usable way.

Opher Etzion said...

Hi Eran.

Event-driven systems do have an event flow; in many of the products it is implicit, one of the principles of modeling is to make it explicit, I'll write some posting around it soon.

stay well,