引用本文:张 仕,黄林鹏.基于FJ的多版本类动态更新演算.软件学报,2008,19(10):2562-2572
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 4940次   下载 6270 本文二维码信息
码上扫一扫!
分享到: 微信 更多
基于FJ的多版本类动态更新演算
张 仕1,2, 黄林鹏1
1.上海交通大学 计算机科学与工程系,上海 200240;2.福建师范大学 数学与计算机科学学院,福建 福州 350007
摘要:
针对面向对象软件在动态更新中遇到类型安全问题,定义了一个多版本类的动态更新演算(MCUFJ演算(multi-version class dynamic updatable calculus based on FJ calculus))来描述类动态更新.MCUFJ演算以FJ(featherweight Java)演算为核心,通过增加update操作表示类的动态更新,运用多版本技术使动态更新可以在保持新旧对象共存的情况下完成,讨论了类的数据域和方法进行增加、删除、修改以及类型变化对程序类型安全性的影响,并且指出MCUFJ上类型安全的动态更新需要满足的约束.定义了类的可动态更新限制,并且证明了在该条件下多版本类的动态更新在类型上的安全性.该演算可以用于指导Java语言和面向对象程序语言的类动态更新.
关键词:  动态软件更新  FJ(featherweight Java)演算  Java  类型系统  程序设计语言
DOI:
分类号:
基金项目:Supported by the National Natural Science Foundation of China under Grant No.60673116 (国家自然科学基金); the National High-Tech Research and Development Plan of China under Grant No.2006AA01Z166 (国家高技术研究发展计划(863)); the Natural Science Foundation of Fujian Province of China under Grant No.2007J0315 (福建省自然科学基金); the F5 Foundation of Fujian Province of China under Grant No.2007F5037 (福建省教育厅资助省属高校项目F5项目)
FJ Extended Calculus for Multi-Version Class Dynamic Update
ZHANG Shi,HUANG Lin-Peng
Abstract:
Aiming at resolving the problem of type-safety in dynamic updating O-O (object-oriented) software, a simple formal system, MCUFJ (multi-version class dynamic updatable calculus based on FJ (featherweight Java) calculus) calculus, is established with the goal of understanding the underlying foundations of updating classes dynamically. MCUFJ is formulated as an extension of a core calculus for Featherweight Java with an update operator. Multi-Version classes make objects with different versions coexisting. This study also discusses what kind of change is type-safe, such as adding, deleting, modifying methods/fields, or changing methods'/fields' type, and concludes some restrictions on type-safe updating. The paper also proves the results formally. This calculus can be used as a foundation of Java and O-O update.
Key words:  dynamic software update  FJ (featherweight Java) calculus  Java  type system  program language

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: