发明名称 软件动态演化中构件运行时状态的获取和转换方法
摘要 一种软件维护技术领域的软件动态演化中构件运行时状态的获取和转换方法,包括如下步骤:解析构件新旧版本的实现源代码、构件规约和内部业务逻辑,分别建立构件内部结构逻辑表示模型;比较两个逻辑表示模型,识别相对应的成员变量和语法结构,返回版本间的相关性详细描述,确定应被获取并转换到新版本的构件状态信息;修改构件新版本的逻辑表示模型,增加接口方法从旧版本中导出并保存其运行时状态信息,并增加接口方法导入并转换状态信息;基于已修改的构件新版本逻辑表示模型,重新生成构件新版本的源代码。本发明方法能够有效获取并转换构件运行时的状态信息,实现动态演化支持系统中的状态转换功能。
申请公布号 CN101162428A 申请公布日期 2008.04.16
申请号 CN200710170768.3 申请日期 2007.11.22
申请人 上海交通大学 发明人 徐小辉;黄林鹏;伍建焜;王德俊;张仕
分类号 G06F9/44(2006.01) 主分类号 G06F9/44(2006.01)
代理机构 上海交达专利事务所 代理人 王锡麟;王桂忠
主权项 1.一种软件动态演化中构件运行时状态的获取和转换方法,其特征在于,包括以下步骤:步骤一,通过代码构造解析器解析构件新版本和旧版本的实现源代码、构件规约以及成员类之间的业务逻辑,分别建立构件内部结构的逻辑表示模型,并解析构件外部接口的定义和实现方法信息;步骤二,通过状态管理器中的比较函数比较新版本和旧版本的逻辑表示模型,识别两个版本中相对应的成员变量和语法结构,返回版本间的相关性详细描述,结合构件间交互与通信信息,确定当前待演化的构件旧版本中应被获取并转换到新版本的待转换构件状态信息;步骤三,依据步骤二中分析和确定所得到的结果,结合步骤一中所得到的构件外部接口的定义和实现方法信息,修改构件新版本的逻辑表示模型,增加接口方法,从旧版本中导出并保存构件旧版本的运行时状态信息;步骤四,修改构件新版本的逻辑表示模型,结合步骤一中所得到的构件外部接口的定义和实现方法信息,以及步骤二中得到的待转换构件状态信息,增加接口方法,由构件新版本导入并转换所获取的状态信息;步骤五,基于已修改的构件新版本逻辑表示模型,重新生成构件新版本的源代码,具体实现从旧构件版本导出、导入并转换状态信息到新构件版本的功能。
地址 200240上海市闵行区东川路800号