Supporting transparent evolution of component interfaces

Component-oriented programming facilitates the development of reusable application parts encapsulated by well-defined 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.

[1]  Yolande Berbers,et al.  Fresco: Flexible and Reliable Evolution System for Components , 2005, SETra@ICGT.

[2]  Dominic Duggan Type-based hot swapping of running modules (extended abstract) , 2001, ICFP '01.

[3]  Philip Wadler,et al.  Deforestation: Transforming Programs to Eliminate Trees , 1988, Theoretical Computer Science.

[4]  Dominic Duggan,et al.  Type-based hot swapping of running modules , 2005, Acta Informatica.

[5]  Eric Jul,et al.  A framework for evolutionary, dynamically updatable, component-based systems , 2004, 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings..

[6]  Yolande Berbers,et al.  Supporting Run-Time Evolution in Seescoa , 2004, Trans. SDPS.

[7]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[8]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .