发明名称 一种对嵌入式软件架构进行重构的方法
摘要 一种对嵌入式软件架构进行重构的方法。该方法从现有的软件架构中查检出软件架构的子构件,并在软件系统的源程序中找到对应的代码模块,向代码模块中植入侦测软件运行情况的程序语句,形成可实时侦测的软件系统。将可实时侦测的软件系统在PC主机的Tornado平台下生成新的系统镜像,将镜像下载到PC目标机的Vxworks系统环境下运行,侦测子构件的运行状况,运行结果返回主机端,与运行前的结果相比较,确定出软件架构的重构方案,实现对软件架构的重构。
申请公布号 CN101853159A 申请公布日期 2010.10.06
申请号 CN201010178818.4 申请日期 2010.05.20
申请人 西北工业大学 发明人 董云卫;覃杨森;张凡;周兴社;李龙
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 一种对嵌入式软件架构进行重构的方法,其特征在于步骤如下:步骤1:从描述软件架构的AADL文本中第一个字符开始查检,当查检到out event port字符组,保存out event port字符组前面的一个字符;当查检到in event port字符组,保存in event port字符组前面的一个字符;当查检到out data port字符组,保存out data port字符组前面的一个字符;当查检到in data port字符组,保存in data port字符组前面的一个字符;当查检到initial mode字符组,保存initial mode字符组前面的一个字符;当查检到mode字符,保存mode字符前面的一个字符;当查检到形如“字符1-[字符2]->字符3”的字符组,保存字符组中的字符1、字符2和字符3;当查检到形如“字符1:process字符2 in modes  (字符3,字符4)”的字符组,保存字符组中的字符2、字符3和字符4;当查检到形如“port字符1->字符2 in modes(字符3,字符4)”的字符组,保存字符组中的字符1、字符2、字符3和字符4;步骤2:在软件系统的程序中查找出调用步骤1中保存下来的字符程序模块,然后在模块中加入监测字符值变化情况的语句,所述的语句能够把字符的值输出到指定的文件中;步骤3:把经过步骤2处理后的软件系统加载到装有Tornado平台的PC主机上,并在该PC主机上运行软件系统的程序,生成一个可以在VxWorks系统下运行的镜像文件;步骤4:把步骤3中的镜像文件通过网线下载到PC目标机上;所述的PC目标机为装有VxWorks系统的PC目标机,且通过RJ-45接头网线与PC主机连接;步骤5:在目标机的VxWorks系统环境下运行镜像文件,将输出值返回PC主机;步骤6:PC主机将从PC目标机返回的值与步骤2需要监测的字符值的值进行比较,当字符的值有变化,使得引起调用该字符的功能模块失效,并且该功能模块没有冗余模块时,将停止运行失效的功能模块,启动能完成同样功能的备用功能模块替代失效的功能模块完成系统的运行任务;同时将步骤1中形如“字符1-[字符2]->字符3”字符组中的字符1修改为备用功能模块的名称,将字符3修改为失效的功能模块名称,将形如“字符1:process字符2 in modes  (字符3,字符4)”字符组中的字符2修改为备用功能模块的名称;当字符的值有变化,使得引起调用该字符的功能模块失效,并且该功能模块有冗余模块时,系统将停止运行失效的模块,启动冗余模块;同时将步骤1中形如“字符1-[字符2]->字符3”字符组中的字符1修改为冗余模块的名称,将字符3修改为失效模块的名称,将步骤1中形如“字符1:process字符2 in modes(字符3,字符4)”字符组中的字符2修改为冗余模块的名称,将步骤1中形如“port字符1->字符2 inmodes(字符3,字符4)”字符组中的字符1修改为冗余模块的输出端口名称,将字符2修改为从冗余模块输出端口输出的变量名称;当字符的值有变化,但没有引起调用该字符的功能模块失效,则不需要修改步骤1中的软件架构;当字符的值没有变化维持原有软件架构。
地址 710072 陕西省西安市友谊西路127号