Middleware Transparent Software Development


Sudipto Ghosh, Email: ghosh .At. cs.colostate.edu
Robert B. France Email: france .At. cs.colostate.edu

Current Students: Devon Simmonds (Ph.D.)

Past Students: Brahmila Kamalakar (MS), Gagan Tandon (MS), Peter Vile (MCS)

Visitors: Arnor Solberg


The rapid growth and evolution of middleware technology present significant challenges to software development organizations. A major contributing factor to the complexity of creating and evolving distributed systems is the tangling of pervasive middleware-specific functionality with core business functionality in system designs. Changing middleware functionality that is entangled with business functionality can lead to costly and risky rearchitecting of the system or extensive redesign of parts of the system.

This project will produce an innovative middleware-transparent development approach, in which designs and implementations of distributed systems are developed with no consideration of the middleware technology upon which it will be deployed. To obtain a deployable system the middleware-transparent design is composed with design artifacts that describe middleware-specific features. Middleware-specific features include abstractions for remote object connectivity as well as dependability features such as security and fault tolerance. The middleware-transparent approach thus supports separation of business-specific and middleware-specific concerns.

The hypothesis of the research is that development approaches that support separation of middleware and business-specific concerns enable decoupling of the evolution of a system's middleware from evolution of its business-specific functionality. We will use an aspect-oriented software development (AOSD) approach in which business-specific features are described by a primary design and middleware-specific features are described by aspects. The aspects can be obtained by instantiating independently developed design artifacts that provide generic descriptions of middleware features. These generic design artifacts can be provided by middleware technology suppliers. A full design of a distributed system is synthesized by composing a primary design with middleware aspects.

The research will produce techniques for:

  1. Expressing technology-specific middleware features generically in design artifacts called generic aspects
  2. Instantiating generic aspects in an application context to obtain aspects that describe middleware features that are specific to the application
  3. Synthesizing a design by composing primary designs and aspects
  4. Analyzing the composed model to identify conflicts, undesirable emergent behaviors and other design deficiencies.



  1. D. Simmonds, A. Solberg, R. Reddy, R. B. France, S. Ghosh, and J. ´┐Żyvind Aagedal. "Developing Service Oriented Systems Using an Aspect-Oriented Model Driven Framework," accepted to the International Journal of Cooperative Information Systems, Special issue on Enterprise Distributed Object Computing, 2006.
  2. S. Ghosh, R. B. France, A. Bare, B. Kamalakar, R. P. Shankar, D. M. Simmonds, G. Tandon, and S. Yin. "A Middleware Transparent Approach for Developing Distributed Applications", Software --- Practice and Experience, 35(12):1131-1154, Wiley, October 2005.
    Download preprint.


  1. D. Simmonds, A. Solberg, R. Reddy, R. B. France, and S. Ghosh. "An Aspect Oriented Model Driven Framework", Proceedings of the 9th International Enterprise Distributed Object Computing Conference (EDOC 2005), IEEE Computer Society Press, pp. 119-130, Enschede, The Netherlands, September 19-23, 2005.
    Download preprint.

  2. A. Solberg, D. Simmonds, R. Reddy, S. Ghosh, and R. France. "Using Aspect Oriented Techniques to Support Separation of Concerns in Model Driven Development", Proceedings of the 29th Annual International Computer Software and Applications Conference (COMPSAC 2005), Edinburgh, Scotland, July 25-28, 2005.
    Download preprint.

  3. B. Kamalakar, S. Ghosh and P. Vile. "Middleware Transparent Development of Dependable CORBA Applications", Proceedings of the 15th IEEE International Symposium on Software Reliability Engineering, IEEE Computer Society Press, pp. 352-364, St. Malo, France, November 2-5, 2004.
  4. G. Tandon and S. Ghosh. "Using Subject-Oriented Modeling to Develop Jini Applications", Proceedings of the 8th IEEE International Enterprise Distributed Object Computing Conference (EDOC), IEEE Computer Society Press, pp. 111-122, Monterey, California, September 20-24, 2004.
    Download preprint.


  1. S. Ghosh and B. Kamalakar. An Aspect-Oriented Approach to Developing Middleware-based Applications, accepted to the OOPSLA and GPCE Workshop on Best Practices for Model Driven Software Development, Vancouver, Canada, October 25, 2004.

  2. B. Kamalakar and S. Ghosh. A Middleware Transparent Approach for Developing CORBA-based Distributed Applications, accepted to the Workshop on Aspect-Oriented Modeling at the 7th International Conference on the Unified Modeling Language, Lisbon, Portugal, October 10-15, 2004.

  3. D. Simmonds, S. Ghosh and R. B. France. Middleware Transparent Software Development and the MDA, Workshop in Software Model Engineering (WisME), UML 2003, San Francisco, USA, October 20-24, 2003.

  4. D. Simmonds, S. Ghosh and R. B. France. Middleware Transparent Software Development and the MDA, Workshop in SIVOES-MDA, UML 2003, San Francisco, USA, October 20-24, 2003, extended version to appear in Proceedings SIVOES 2003, Electronic Notes in Theoretical Computer Science, Elsevier.
    Download extended version.

  5. D. Simmonds, S. Ghosh and R. B. France. An MDA Framework for Middleware Transparent Software Development and Quality of Service, Workshop on Qos in Component-Based Software Engineering, Toulouse, France, June 20, 2003 (invited).

  6. D. Simmonds, S. Ghosh and R. B. France. An MDA Framework for Middleware Transparent Software Development, IEEE RTAS 2003 Model-Driven Embedded Systems Workshop, Washington, DC, May 27, 2003.

  7. D. Simmonds, S. Ghosh, R. B. France. An Aspect Oriented Model Driven Architectural Framework for Middleware Transparency, Early Aspects 2003, Workshop on Aspect-Oriented Requirements Engineering and Architecture Design, AOSD 2003, Boston, MA, March 17, 2003.

  8. D. Simmonds and S. Ghosh. Middleware Transparency through Aspect-Oriented Programming using AspectJ and Jini, Proceedings of the SPIE ITCOM Conference on Java/Jini Technologies, SPIE press, Boston, August 1, 2002.