论文部分内容阅读
近年来,软件的运行阶段在整个生命周期中的地位越来越重要,软件的运行环境也越来越复杂多变,如何在运行时对软件系统进行有效的管理成为了软件工程领域的重要问题。运行时体系结构是系统运行时管理的重要支撑。通过将隐藏在系统内部的结构、状态、配置等运行时信息显示化地描述为标准的、面向管理者视角的结构化视图.运行时体系结构能够有效地提高运行时管理的抽象层次和自动化程度。运行时体系结构已经在学术界和工业界获得了广泛的关注,大量的研究工作证明了其在不同系统与管理方式下的重要作用。但由于在真实的系统和管理方式下构造运行时体系结构仍过于繁琐,相应的研究成果尚难以得到实际的应用和推广。 针对这一问题,本文提出了一个通用的、自动化的运行时体系结构构造框架。对于给定的运行时系统和管理方式,开发者以高层建模的方式规约系统提供的管理能力,以及管理方式所需的体系结构视图。相应的支撑工具自动生成符合开发者要求的运行时体系结构基础设施。这一基础设施在运行时将系统信息组织为符合开发者要求的体系结构视图,并维护二者之间动态的因果关联。从这一目标出发,本文从运行时体系结构元模型、系统管理能力适配、体系结构视图与系统间的同步三个方面对运行时体系结构构造所涉及到的关键技术进行研究,并在此基础上实现了通用的运行时体系结构构造框架及其支撑工具。 在运行时体系结构元模型方面,本文在总结现有工作共性的基础上,为运行时体系结构的核心概念给出形式化的定义。基于这一共性定义。本文提出一个基于脚标准的运行时体系结构元模型.供开发者以高层建模的方式规约不同的目标系统与体系结构,建模的内容包括运行时信息以及体系结构视图各自的内容和形式,系统底层管理能的访问方式、以及系统和体系结构视图间的静态关系,相应的建模结果是自动构造运行时体系结构的输入。 在系统适配方面,现有系统所提供的用于获取和调整其运行时信息的底层管理能力,在内容和使用方式上存在较大的差异。为了屏蔽这一异构性,本文提出一种基于代码生成的自动化的系统适配技术。根据开发者提供的系统运行时信息以及管理能力规约,自动生成针对给定系统的适配器,这一适配器将系统运行时信息映射为与之同构但符合标准读写方式的基础运行时体系结构。同时,针对系统底层管理能力难以被开发者理解和建模的问题,本文进一步提出一种针对系统管理能力的自动推理机制,通过对已有系统管理程序进行静态代码分析。推理并建模出初始的系统信息与管理能力描述。 在视图同步方面,为了适应不同的管理方式,同一个系统上需要提供不同内容和形式的运行时体系结构作为高层的管理视图,而这些体系结构视图与系统之间的关系并不是简单的一一映射。本文基于模型转换技术解决基础运行时体系结构与其视图之间的同步问题,并针对系统和视图上变化频繁程度的不同实现了两种不同的同步技术。其中,基于状态的同步将一段时间内系统和体系结构视图上发生的变化进行一次性的同步,由一个基于双向模型转换和模型比较的同步算法实现。基于变化的同步对每一个系统或视图变化进行即时的同步。根据因果关联的定义和性质,本文为标准的声明式模型转换语言QVT-R重新定义了一套从变化到变化的即时、增量式模型转换语义。并实现了符合该语义的转换执行机制。 基于以上技术,本文实现了一个通用的运行时体系结构构造框架及其支撑工具原型。并进行了一系列的运行时体系结构构造实验,包括:1)将经典的面向特定管理方式的运行时体系结构实现在真实系统上:2)为已有系统重新构造适合于管理需求的运行时体系结构;3)为现有工作中未涉及到的系统与管理方式提供运行时体系结构支持。这些实验证明该框架比已有的运行时体系结构构造方式具有更高的自动化程度和更广泛的适用性。