Photo
Advanced Enterprise Middleware

 

Separation of Concerns in Middleware

Multidimensional separation of concerns (MDSOC) is based on the premise that much of the blame for the continuing software crisis can be attributed to an inability to adequately manage the multiple, simultaneous, overlapping concerns to which software is subject. One root cause of this problem is the inability of programming languages (and other development formalisms) to support the decomposition of software systems according to more than a small number of concerns--even though multiple concerns apply: functions, behaviors, features, aspects, objects, state, variants, work product types, life-cycle stages, stakeholder viewpoints, and more.

The limitations of the prevalent mechanisms for software decomposition (and composition) mean that many important elements in any software system will lack a first class representation. Instead, these elements will be scattered across elements of the dominant decomposition and will become entangled with unrelated elements from which they should ideally be separate. This scattering and tangling leads to software that is overly complicated, brittle, and inflexible. The overall effect is that over time software becomes increasingly difficult and costly to extend, evolve, customize, integrate, and reuse.

Separation of concerns is especially relevant for middleware since middleware commonly serves to separate and manage concerns in software systems and since middleware itself is subject to multiple concerns. We define middleware-mediated systems (MMS) as software systems in which middleware plays an essential integrating role. Virtually all enterprise-scale software systems are middleware mediated as middleware is needed to link diverse applications, incorporate legacy systems, and achieve distribution and platform independence. In such a context both middleware and MMS are subject to wide ranging and frequently changing concerns for which a multidimensional perspective may be crucial.

Through a number of projects (past and current), we are exploring how to integrate separation of concerns concepts and technologies in middleware.

Papers

More

Questions and/or comments about this page can be directed to Isabelle Rouvellou