Next: References
Up: Towards A Model For
Previous: 4 Open questions
This paper has presented the sketch of a new model for extensible software, software cocktail mixers. If a software description language adheres to its criteria, and a software component is extended, the compiler can adapt use-contexts of this component automatically, and old software need not be modified manually.
Apparently software cocktail mixers are a generalization of mixin-based inheritance [Bra92], such that arbitrary operators to compose components are allowed. Additionally they allow to derive important features of the composed software. Also, the model of software cocktail mixers demonstrates in a formal way why object-oriented languages - which access object attributes by access functions - are better extensible than e.g. functional languages which rely on positional pattern matching and argument passing. It is clear that the latter ones will have problems in larger and evolving projects.
Once the model of software cocktail mixers is completed and well-defined, future languages for software systems should be designed so that they fulfil the criteria of the model. Then components (both of specifications and programs) can be composed and extended very flexibly.