Towards a programming model and middleware architecture for self-configuring systems
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 reminding 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. © 2006 IEEE.