Component-oriented programming facilitates the development of reusable application parts encapsulated by welldefined interfaces. There is however a tension between compatibility and evolution, since the interface of a component may constrain refactoring or require manual development of multiple, ad-hoc adaptation layers when an interface is evolved. We here present the declarative language VIDL for specifying component interface evolution. VIDL allows evolution of components with automatic generation of efficient adapter code that statically guarantees interface compatibility with other components that rely on anterior versions of the interface.
Emanuela P. Lins, Ulrik Pagh Schultz