首页 | 本学科首页   官方微博 | 高级检索  
     

基于FJ的多版本类动态更新演算
引用本文:张 仕,黄林鹏.基于FJ的多版本类动态更新演算[J].软件学报,2008,19(10):2562-2572.
作者姓名:张 仕  黄林鹏
作者单位:1. 上海交通大学,计算机科学与工程系,上海,200240;福建师范大学,数学与计算机科学学院,福建,福州,350007
2. 福建师范大学,数学与计算机科学学院,福建,福州,350007
基金项目:国家自然科学基金,国家高技术研究发展计划(863计划),福建省自然科学基金,福建省教育厅资助省属高校项目F5项目
摘    要:针对面向对象软件在动态更新中遇到类型安全问题,定义了一个多版本类的动态更新演算(MCUFJ演算(multi-version class dynamic updamble calculus based on FJ calculus))来描述类动态更新.MCUFJ演算以FJ(featherweight Java)演算为核心,通过增加update操作表示类的动态更新,运用多版本技术使动态更新可以在保持新旧对象共存的情况下完成,讨论了类的数据域和方法进行增加、删除、修改以及类型变化对程序类型安全性的影响,并且指出MCUFJ上类型安全的动态更新需要满足的约束.定义了类的可动态更新限制,并且证明了在该条件下多版本类的动态更新在类型上的安全性.该演算可以用于指导Java语言和面向对象程序语言的类动态更新.

关 键 词:动态软件更新  FJ(featherweight  Java)演算  Java  类型系统  程序设计语言
收稿时间:2006/10/8 0:00:00
修稿时间:2007/11/8 0:00:00

FJ Extended Calculus for Multi-Version Class Dynamic Update
ZHANG Shi and HUANG Lin-Peng.FJ Extended Calculus for Multi-Version Class Dynamic Update[J].Journal of Software,2008,19(10):2562-2572.
Authors:ZHANG Shi and 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.
Keywords:dynamic software update  FJ(featherweight Java)calculus  Java  type system  program language
本文献已被 CNKI 维普 万方数据 等数据库收录!
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号