论文部分内容阅读
本文针对基于构件的软件系统动态演化问题,以形式化的角度提出了软件系统动态演化方法。该方法是一种粗颗粒度、高层次、结构化的形式化方法。它允许从系统的角度考虑广泛的演化需求,使用在线的方式(Online)对软件系统持续地施加演化算法,使软件系统获得完整的新的计算能力。从这个意义上来说基于构件的软件系统动态演化方法提升了系统的动态演化能力,延长了软件的生命周期,为其它分支的研究提供了有益的理论支持,有较高的科学意义和现实意义。
本论文的具体内容如下:
1.在多值逻辑、时序逻辑的基础上,建立多值时序逻辑。多值时序逻辑是一种元语言,该元语言能够精确地刻画演化的对象是什么、演化的粒度大小以及演化的结果是什么等问题。多值时序逻辑是描述系统属性、识别待演化构件、刻画演化需求的理论基础
2.建立识别待演化构件的形式化方法——基于多值时序逻辑的模型检测。该方法通过扩展多值时序逻辑的语义解释模型E-Kripke结构,得到SAM模型,作为对待演化系统进抽象、建模的行形式化工具。使用模型检测算法检索SAM模型的状态空间,验证该模型是否存在一个状态或状态的集合满足使用多值时序逻辑所刻画的系统属性。最后,将检测算法输出的状态集合映射成为构件集合。该构件集合称之为待演化构件集合。基于多值时序逻辑的模型检测方法本质上实现了从演化需求规约或系统属性刻画到待演化构件之间的映射。
3.给出行为相关性分析方法。由于软件系统往往处于一个复杂的、协同工作的计算平台,例如网格计算、普适计算或云计算。对该系统中的待演化构件集合实施的演化算法,势必影响与待演化构件集合行为相关联的构件或构件集合的行为一致性、完整性。因此必须提出一种分析方法来判定与待演化构件集合行为相关的元素集合是什么。这个元素集合我们称为行为相关集合。行为相关集合的确定,为实施软件系统动态演化算法奠定了基础。任意一个软件动态演化算法的输入元素并不是单一的待演化构件集合,而是待演化构件集合与行为相关集合的并集。
4.给出构件可演化性分析。可演化性包括了构件可删除性、可添加性、可替换性和可迁移性。所谓构件的可演化性是指围绕系统活性、公平性对各种基本演化意图的实现过程进行分析,判定构件集合在实施演化意图后软件系统是否是活的、公平的。只有待演化构件及其行为相关集合满足了可演化性,才能针对待演化构件及其行为相关集合实施动态演化算法。
5.围绕基本动态演化意图给出基于构件的软件系统动态演化算法。其中基本的动态演化意图包括:构件删除、构件添加、构件替换、构件迁移、连接删除、连接建立、连接重定向和构件属性重配置。
6.建立动态演化度量机制。系统在实施了一系列演化算法后,需要建立相应的度量机制,对以下问题进行度量:演化后系统行为是否和原系统行为一致或是否满足用户的预期;系统性能是否能够满足应用需求等。只有经过定量的分析才能回答施加在软件系统上的“演化”是否是成功的。