Components, Scripts, and Glue

SCHNEIDER, Jean-Guy, 2010. Components, Scripts, and Glue: A conceptual framework for software composition. . 11 August 2010.

> The last decade has shown that object-oriented technology alone is not enough to cope with the rapidly changing requirements of present-day applications. Typically, objectoriented methods do not lead to designs that make a clear separation between computational and compositional aspects. Component-based systems, on the other hand, achieve flexibility by clearly separating the stable parts of systems (i.e. the components) from the specification of their composition. Components are black-box entities that encapsulate services behind well-defined interfaces. The essential point is that components are not used in isolation, but according to a software architecture which determines the interfaces that components may have and the rules governing their composition. A component, therefore, cannot be separated from a component framework. Naturally, it is not enough to have components and frameworks, but one needs a way to plug components together. However, one of the main problems with existing languages and systems is that there is no generally accepted definition of **how components can be composed**. In this thesis, we argue that the flexibility and adaptability needed for component-based applications to cope with changing requirements can be substantially