论文部分内容阅读
随着网络技术的发展,软件运行平台逐步由传统的单机、封闭、静态的运行环境转变为开放、动态、多变的网络运行环境。在这种网络运行环境下,网构软件具有自主性、演化性、协同性、多态性和反应性等有别于传统软件的特性。网构软件运行环境的真分布性、以及其上丰富的软件资产决定了组装是网构软件开发的一种自然、可行的方式,但是开放、动态、多变的网构软件运行环境也为基于可复用构件的网构软件组装带来了诸多挑战:网构构件的真分布性使得网构软件开发人员只能用动态装配的方式来构造网构软件;由于网构软件开发人员无法对网构构件进行集中管理和控制,他们往往只能通过黑盒的方式来组装相对独立、自主的网构构件;在组装过程中,网构软件开发人员还必须全面考虑网构软件可能面对的来自需求、环境等方面的变化性,并设计相应的处理措施,以使网构软件具备足够的反应性。在网构软件的生命周期内,可能需要进行多次迭代组装,这就要求网构软件开发人员能快速高效的组装网构构件以保证网构软件长期有效的服务。本文将基于软件体系结构的构件组装方法应用于网构软件组装,深入研究基于软件体系结构的网构软件组装的相关技术,提出了一种面向组装的网构软件体系结构描述语言,制定了一套独立平台的网构软件体系结构模型到特定平台的网构软件体系结构模型的映射规则,并实现了一个可视化的基于软件体系结构的网构软件组装工具原型。面向组装的网构软件体系结构描述语言为基于可复用构件的网构软件组装提供了精确的描述。该描述表现为基于XML的网构软件体系结构描述语言。具体而言,网构软件体系结构描述语言遵循体系结构描述语言的分类和比较框架;它用构件对网构软件的计算单元进行建模,用连接子对网构构件之间的交互进行建模;并且通过体系结构配置建立网构软件组装的拓扑结构。此外,针对网构软件运行环境动态多变的特点,网构软件体系结构模型对复合构件进行必要的扩展,使之以自然的方式支持变化性应对策略的建模。网构软件体系结构模型是网构软件组装的依据,以之为基础的分析和验证有效的保证了网构软件组装的质量。基于软件体系结构的网构软件组装的最终目的是获得特定平台的网构软件。不同运行平台往往提供不同的构件运行支撑机制。为了保证网构软件的易移植性,基于体系结构的网构软件组装区分独立平台的网构软件体系结构和特定平台的网构软件体系结构。前者从业务层面上描述网构软件的高层组织结构,后者则立足于特定平台的支撑机制描述了网构软件在特定平台上的实现。本文深入研究了如何通过预先设计的模型转换规则,将独立平台的网构软件体系结构模型转换为特定平台的网构软件体系结构模型。具体而言,首先在独立平台的网构软件体系结构模型与特定平台的网构软件体系结构模型之间建立概念的映射;其次,如果特定平台的网构软件体系结构模型不具有层次化结构,则通过质量属性驱动的单层化过程将层次化的网构软件体系结构模型转换为平坦的体系结构模型;最后,利用特定平台的支撑机制,将独立平台的软件体系结构模型中的变化性应对策略转换为具体的实施方案。在模型转换规则的作用下,独立平台的网构软件体系结构模型以特定平台的可复用构件为基础,逐步增加特定平台的信息,最终转换为特定平台的软件体系结构模型。这种模型驱动的组装方式不仅有助于保证网构软件的易移植性,还有助于提高网构软件组装的质量和开发效率。为了提高网构软件组装人员的开发效率,保证网构软件组装的实用性,本文以开放、流行的Eclipse框架为基础,开发了可视化的基于软件体系结构的网构软件组装工具。该工具不仅支持可视化的网构软件体系结构建模,还支持网构软件体系结构模型到特定平台的自动转换。具体而言,网构软件组装工具采用多视图的方式对网构软件体系结构模型进行编辑和展现;它支持用可视化的方式对复合构件进行精化设计和建立映射。辅之以可复用资产库,网构软件组装工具能帮助网构软件组装人员快速高效的将网构软件体系结构模型转换为特定平台的体系结构模型,并允许开发人员以可视化的方式对特定平台的体系结构模型进行修改和精化。综上,基于软件体系结构的网构软件组装采用模型驱动的方式,将自顶向下的软件体系结构设计和自底向上的构件组装技术有机结合,有效的支持开放、动态、多变的网构软件运行环境下的网构软件开发。本文最后以比较购物商场为例演示了基于体系结构的网构软件组装方法的实施过程和网构软件组装工具的使用,以此证明该方法的可行性和有效性。