KERIS: evolving software with extensible modules: Research Articles

  • Authors:
  • Matthias Zenger

  • Affiliations:
  • Programming Methods Laboratory, Swiss Federal Institute of Technology Lausanne (EPFL), INR Ecublens, 1015 Lausanne, Switzerland

  • Venue:
  • Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the programming language KERIS, an extension of Java with explicit support for software evolution. KERIS introduces extensible modules as the basic building blocks for software. Modules are composed hierarchically, explicitly revealing the architecture of systems. A distinct feature of the module design is that modules do not get linked manually. Instead, the wiring of modules gets inferred. The module assembly and refinement mechanism of KERIS is not restricted to the unanticipated extensibility of atomic modules. It also allows extensions of already linked systems by replacing selected submodules with compatible versions without needing to re-link the full system. Extensibility is type-safe and non-invasive, i.e., the extension of a module preserves the original version and does not require access to source code. Copyright © 2005 John Wiley & Sons, Ltd.