论文部分内容阅读
传统的软件系统维护和调整都是通过停机升级的方式进行的。然而对于航空通讯系统、工业控制系统、医疗生命系统等关键性系统而言,停机升级将威胁人们的生命安全或者带来巨大的经济损失。另一方面,普适计算和商务智能等新的计算方式的出现导致大量自适应软件系统的出现,这些系统要求具有环境感知以及相应的动态适应能力。因此,运行时的动态演化和动态升级能力成为这些高可用性(highly available)或适应性(adaptive)系统的根本需求。
现有的一些系统动态演化方法的研究大多从单个对象或构件的角度出发,而且缺少相应的形式化手段来保证动态演化的正确性和一致性。且由于软件系统是由许多构件(或对象)组成,相互之间存在着复杂的静态依赖和动态交互关系,具体的动态演化实现方式因系统体系结构风格、交互方式等因素的差异而存在很大的不同。针对这些问题,本文从基于构件的软件体系结构动态演化的角度出发,提出了一种基于交互模式的软件体系结构动态演化方式。该方法以多个构件之间各种不同的交互模式作为动态演化实现决策的基础,针对不同的构件交互模式提出相应的动态演化实现策略。在面对具体的软件体系结构演化问题时,就可以对需要进行演化的系统部分的交互模式进行分解,然后在每个基本交互模式动态演化策略的基础上进行整合,并考虑构件运行环境的支持性。为了保证动态演化的一致性,还提出了一种基于通信顺序进程(communicating sequential professes,简称CSP)的构件交互行为一致性验证方法。最后,本文还将通过一个实例来验证本文的方法。