论文部分内容阅读
网构软件是Internet上来自不同厂商的各种软件实体(构件、服务或Agent等,统称为构件)以开放、自主的方式存在于各个节点,在开放的环境下以各种协同方式实现跨网络的互连、互通和协作的软件联盟。网构软件要求在开放、动态、难控的环境下,为用户提供7*24、不断演化更新、智能化的服务,需要相应的演化技术和机制支撑。网构软件的演化技术分为静态演化和动态演化。静态演化研究要求从网构软件的体系结构(software architecture,SA)层面出发,确定发生变化的构件(演化源)对体系结构的影响范围;而动态演化则需要确定网构软件实体的运行实例是否可以从当前的流程模式(源模式)迁移到新的流程模式下(目标模式)继续执行。当前在静态演化研究中,发生变化的构件(演化源)对体系结构的影响范围缺乏一个定量的分析方法;而动态演化研究是将数据流依附在控制流上,不能满足网构软件核心理论之一:软件协同分离化的一个方面——数据流与控制流分离的要求。针对上述要求与问题,本文主要做了以下几个方面的研究:(1)分析网构软件静态演化特征。首先研究网构软件体系结构中构件本身及构件之间的语义关系及其特征。基于语义协议关系,分析构件内部和构件之间语义的时序逻辑性,提出采用语义协议关系项来表示构件内部和构件之间语义关系的时序逻辑性,构造网构软件体系结构的语义关系矩阵和语义关系链矩阵,并对它们的性质进行了分析。在此基础上,研究网构软件中构件增加、修改、删除、合并和拆分等演化操作特性,给出了体系结构演化操作及其影响范围的定量衡量指标,为量化评价静态演化波及效应提供技术基础。(2)研究基于语义关系的网构软件静态演化波及效应。首先根据网构软件体系结构语义关系特征以及静态演化操作特性,构建能够描述构件端口语义和端口之间通过方法调用组合而形成的网构软件语义的形式化描述,提出面向网构软件静态演化特性的体系结构形式化模型。然后基于网构软件体系结构的语义关系矩阵及其相关性质,提出用于量化分析衡量静态演化操作影响范围的语义关系链波及效应指数和语义关系构件波及效应指数。在此基础上,根据构件之间语义协议关系的强弱程度,研究构件增加、修改、删除、合并和拆分等演化操作对体系结构的影响关系和程度,提出确定不同演化操作的语义关系链波及效应和语义关系构件波及效应的算法。(3)分析网构软件关于数据流和控制流分离的动态演化错误。首先基于着色Petri网提出一种面向数据流和控制流的网构软件模型,目的是将数据流显式地引入网构软件建模过程中。其次,从静态关系和动态运行两个方面研究网构软件服务实施过程中数据依赖关系及其特性,体现数据流和控制流在网构软件动态适应性和演化性中并重的特点。在此基础上,重点分析了网构软件模型数据依赖关系的性质,强调在动态演化过程中必须保持的数据依赖关系。然后,以面向数据流和控制流的网构软件模型为手段,分析了网构软件动态演化操作方式和特征,研究网构软件动态演化过程中数据流约束关系、数据流和控制流交叉依赖关系的变化,导致数据流和控制流方面可能出现的动态演化错误特征。(4)提出网构软件运行实例动态可迁移准则。首先以面向数据流和控制流的网构软件模型为基础,针对实现数据流和控制流分离以后的网构软件模型中数据依赖关系特性以及动态演化可能产生的错误,提出面向数据流的网构软件运行实例的动态可迁移性准则。不但考虑了源模式和目标模式之间的数据依赖关系,还考虑了源模式和目标模式之间参数非重复性复现的情况,同时根据可迁移性准则要求设计关于数据依赖关系的生成算法。然后,根据网构软件数据流和控制流分离后,它们之间的交叉作用特性,提出网构软件运行实例关于数据流/控制流交叉依赖关系的动态可迁移性准则,并证明该迁移性准则确保发生演化的实例的目标状态是有效的,从而刻画出完整的网构软件运行实例的动态迁移约束特性。