论文部分内容阅读
基于体系架构以构件或服务为构成要素的软件开发方法是当前复杂分布式系统的主要构造方法。然而,随着分布式系统面对的环境和需求变化越来越快,分布式系统对适应性的要求也越来越高,要求可以及时的更改系统状态,满足变更后的用户需求。目前的研究不能满足体系架构在适应性方面的要求。当前通过编程语言特征如异常机制、容错算法与协议等解决自适应问题的方式,在代码级存在与业务逻辑高度耦合的问题;而且仅提供局部适应性,需要较高的代价,适应能力很难更改和演化。
针对分布式系统在适应性方面的需求,本文提出了基于XML技术和构件技术的以插头式构件模型和独立连接件模型为特征的适应性总线式软件体系架构模型(Component- Based self-Adaptive Software Architecture, CBASA),为分布式计算环境中自适应软件系统的构造从分析、设计、实现到维护提供了一种新的方法,从以下几个方面支持分布式计算环境中自适应软件系统的构造:
首先,CBASA在领域模型方面对自适应性的支持。在领域模型描述方面,针对特定领域建模的不足,CBASA提出了基于XML的适应性模型描述方法。
其次,基于CBASA的适应性领域分析对适应性的支持。在面向特征领域分析基础上,通过加入适应性特征,从而构建领域分析特征树。达到在业务功能特征之外分析系统适应性特征的目的。
最后,CBASA架构对适应性的支持。CBASA架构由适应层和应用层组成,将软件系统的两个关注点业务逻辑处理和动态适应维护置于不同层次,使自适应决策、管理和执行与业务逻辑分离。CBASA从构件、构件连接和构件装配三个角度提供了对分布式系统适应性支持:构件模型加入基于XML的语义模块,增强构件自身适应性;连接件模型借鉴了企业服务总线(ESB)思想,根据适应层的决策,与应用层的应用程序代理协作完成系统自适应过程;可视化装配过程实现构件可视化表示、配置、组装和部署,简化应用系统搭建过程。
为验证CBASA自适应特性,选取信息采集领域为背景,基于CBASA开发方法构建虚拟商务空间应用并进行适应性测试。测试结果表明基于CBASA的虚拟商务空间应用可以在运行时完成动态适应需求,如构件工作策略适应性和构件协同策略适应性,具有良好的自适应特性。