Composition of self-adapting components for customizable systems
Software systems grow each day in size and complexity. In an effort to manage increasing complexity and to maximize the reuse of code, the software engineering community has, in recent years, put considerable effort into the design and development of component-based software methodologies and tools. Inspired by the notion of connector (Allen and Garlan (1994) Formal connectors. Technical report CMU-CS-94-115, Carnegie Mellon University, PA, USA) in software architecture and the 'Design by Contract' metaphor proposed by Meyer ((2000) Object-Oriented Software Construction. Prentice Hall, USA), this paper presents a methodology for component composition, coordination and dynamic adaptation. Our proposal is based on connectors enriched with contracts, making software architecture more explicit at the implementation level. Those connectors will be components in our system. Therefore, we can use subtyping techniques for connectors development and we could offer a set of generic connectors implementing standard behavior patterns. In addition, the connectors will use semantic web techniques and a Prolog machine to solve functional adaptation problems, such us name or parameters mismatching of a service, at run-time.
reusable software interoperability distribution maintenance and enhancement software component composition