1st International ICST Conference on Communication System Software and MiddleWare

Research Article

Towards a Programming Model and Middleware Architecture for Self-configuring systems

  • @INPROCEEDINGS{10.1109/COMSWA.2006.1665173,
        author={Umesh   Bellur and N.C.  Narendra},
        title={Towards a Programming Model and Middleware Architecture for Self-configuring systems},
        proceedings={1st International ICST Conference on Communication System Software and MiddleWare},
        publisher={IEEE},
        proceedings_a={COMSWARE},
        year={2006},
        month={8},
        keywords={Self-Configuring Systems Service- Oriented Computing Reconfigurable Programming},
        doi={10.1109/COMSWA.2006.1665173}
    }
    
  • Umesh Bellur
    N.C. Narendra
    Year: 2006
    Towards a Programming Model and Middleware Architecture for Self-configuring systems
    COMSWARE
    IEEE
    DOI: 10.1109/COMSWA.2006.1665173
Umesh Bellur1,*, N.C. Narendra2,3,*
  • 1: KReSIT, IIT Bombay, Mumbai, India
  • 2: IBM Software Labs India, Airport Road,
  • 3: Bangalore, India
*Contact email: umesh@it.iitb.ac.in, narendra@in.ibm.com

Abstract

Today's distributed computing solutions are mostly static in nature and variations in system behavior have to be compiled into the system in advance, because today's technology does not permit self-configuring through dynamic rebinding of components. Self-configuring systems need a design approach based on behavioral specification as well as a middleware layer that can use these specifications to dynamically bind system components at run-time. In this paper, we present a service-oriented programming model and middleware for self-configuring systems. Our approach is based on semantic descriptions of components augmented with contextually dependent non-functional requirements for accomplishing the dynamic binding. For this purpose, we model service inter-dependencies as variability points. The middleware dynamically re-configures system behavior by mapping the variability points to components providing the needed functionality. Along with the middleware design needed for such an approach, we also present our programming model-called reconfigurable programming-and show how it can be used to put together self-configuring systems