{"title":"KERIS: evolving software with extensible modules","authors":"Matthias Zenger","doi":"10.1002/smr.320","DOIUrl":null,"url":null,"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.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"22","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"J. Softw. Maintenance Res. Pract.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1002/smr.320","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 22
KERIS:具有可扩展模块的不断发展的软件
我们介绍了编程语言KERIS,它是Java的扩展,明确支持软件进化。KERIS引入了可扩展模块作为软件的基本构建块。模块按层次结构组成,显式地揭示了系统的体系结构。模块设计的一个显著特点是模块不需要手动链接。相反,模块的连接被推断出来。KERIS的模块组装和细化机制并不局限于原子模块的意外可扩展性。它还允许通过用兼容版本替换选定的子模块来扩展已经连接的系统,而不需要重新连接整个系统。可扩展性是类型安全和非侵入性的,也就是说,模块的扩展保留了原始版本,不需要访问源代码。版权所有©2005 John Wiley & Sons, Ltd
本文章由计算机程序翻译,如有差异,请以英文原文为准。