论文部分内容阅读
目前,软件体系结构的研究主要集中在静态体系结构上。对于一些需要长期运行并具有特殊使命的系统(例如金融系统、航空航天系统等),如果系统需求或环境了发生变化需要更新,此时停止系统运行进行更新或维护,将会引起高额的费用和巨大的风险。静态体系结构缺乏表示动态更新的机制,很难用它来描述分析这样的系统。因此,动态体系结构的研究应运而生,它主要研究软件系统由于特殊需要必须在连续运营情况下的体系结构变化与支撑平台。 本文针对运行系统的动态更新问题,展开了相关的研究工作。首先介绍了动态体系结构的基本概念、特点以及研究中所涉及的基本问题,指出动态体系结构研究中存在的难点:缺乏通用的结构模型、有效的形式化描述机制和分析工具。 在上述工作的基础之上,本文提出了一种基于构件的动态体系结构模型CBDA(Component Based Dynamic Architecture),该模型分为三层,每层各司其职,各自执行相应的更新请求。本文分析了两类典型的更新请求实例,结果表明CBDA模型能够很好地支持运行系统的动态更新。同时,它具有良好的开放性,能够通过控制和更新管理机制进行扩展。 形式化描述动态体系结构的关键在于动态更新时系统行为之间的交互的描述。本文在CBDA模型的基础上,结合Wright和CSP,给出一种对运行系统的动态更新进行形式化描述和分析方法。Wright是一种通用的体系结构描述语言,CSP基于进程代数,二者的结合使得这种描述和分析方法具备了通用性和严格的数学基础。本文以一个实际系统为例,按照CBDA模型对其进行动态更新,并对其更新进行形式化描述和语义分析,最后根据其分析结论对动态更新时系统的一致性进行检测。结果表明这种形式化描述和分析方法能够很好地支持CBDA模型提出的动态更新方法。