2006, 17(6):1257-1275.
摘要:作为控制软件复杂性、提高软件系统质量、支持软件开发和复用的重要手段之一,软件体系结构自提出以来,日益受到软件研究者和实践者的关注,并发展成为软件工程的一个重要的研究领域.如今,软件体系结构的研究也开始超出传统的对软件设计阶段的支持,逐步扩展到整个软件生命周期.基于软件体系结构近十年来的研究进展,综述了在软件生命周期的不同阶段软件体系结构的研究与应用,并探讨了软件体系结构领域的发展与研究方向.
2006, 17(6):1276-1286.
摘要:软件体系结构(SA)为基于构件的软件开发提供了一种高层次的抽象.如何有效描述体系结构中构件的对外交互行为、验证组装构件间的行为相容及保证整个体系结构行为无死锁是其中较为重要的研究内容.在基于面向对象范型这类重要的软件体系结构中,构件组装通常是通过接口方法调用加以实现.针对这样一类基于软件体系结构的构件组装问题,形式描述与定义了构件及其对外交互协议,分析了服务请求构件与服务提供构件所能展示的不同行为,给出了组装交互的构件在请求/提供接口上协议级行为相容的一组验证规则及相关定理.最后,通过一个电子商务应用实例来说明所提出途径的可用性和针对性.
2006, 17(6):1287-1297.
摘要:目前的软件开发方法采用非结构化和非形式化方式建立构件模型,构件之间的关系是隐含的,并且缺乏严格的语义,不能有效地支持自顶向下的构件重用.利用范畴论定义构件之间的关系,使得构件之间的关系以及关系组合具有严格的语义.态射合成被用来跟踪不同抽象层次的构件之间的关系,利用体系结构设计模式精确地定义构件的组合关系和应满足的条件.范畴论支持图形化建模,可以使模型中的构件关系以及结构特征可视化,有利于模型的理解、跟踪和重用.形式化的构件建模方法适用于以重用为目标的软件开发.
2006, 17(6):1298-1306.
摘要:连接器的建模与分析是复杂软件体系结构设计的一个重要问题.基于反射机制,提出了一种连接器的组合重用方法.为了支持这一想法,借用CSP进程间的运算,提出了连接器组合的一组元操作,并给出了组合连接器的CSP语义.该方法能为连接器提供一种增量式的开发方式,并且由于其严格的形式化基础,适合进行形式化分析和自动检查.
2006, 17(6):1307-1317.
摘要:特定领域软件体系结构(domain-specific software architecture,简称DSSA)是特定领域开发中的重要资产,而基于特征的领域模型使得从领域需求到DSSA的映射成为可能.引入本体作为特征模型的描述基础,通过该方法得到的领域特征本体将同时作为领域内业务构件的语义描述基础存在.在此基础上,提出了基于特征模型和构件语义的概念体系结构设计方法.该方法综合考虑了特征模型中的共性、可变性、绑定时间以及结构关系、依赖关系等对DSSA设计的影响,同时以构件语义作为特征到概念构件设计的过渡.相关方法已经实现为基于本体的特征建模工具和基于特征模型的体系结构设计工具,为特征驱动的领域开发提供了有力的支持.
2006, 17(6):1318-1327.
摘要:软件体系结构设计是软件过程中最为重要的环节之一.在设计阶段完成对软件体系结构非功能属性的评估,对于高质量软件产品的开发非常重要.通过对统一建模语言(UML)的扩展,提出了"建模样式"用于在软件设计阶段对软件体系结构非功能属性进行评估,并结合"可用性链"建模样式在分析软件体系结构"单消息分发-多消息处理"可用性中的应用,给出了建模样式的使用示例.同时,针对建模样式的应用,还提出了"建模知识库"用于管理和维护建模样式,提供各建模样式中标签的参考值.基于UML的建模样式以及建模知识库的使用,可以简化对软件体系结构非功能属性评估的复杂度和工作量,使其可以为软件开发人员所用,并融入到高质量软件开发过程中.
2006, 17(6):1328-1337.
摘要:对组件系统性能建模时,需要考虑中间件平台的影响.基于体系结构模式,分析了容器风格中间件对组件系统结构和性能的影响,并提出了一种在组件系统UML描述中集成中间件组件及交互关系的方法.从该集成UML模型导出的性能模型,能够有效地反映中间件的影响.这样,在对组件系统性能建模时,无须了解中间件内部细节.这种基于体系结构模式的方法可以方便扩展以处理不同风格的中间件,且易于实现自动化.以EJB容器中间件为例说明并验证了所提出方法的有效性.
2006, 17(6):1338-1348.
摘要:研究并提出一类通用的适应性软件体系结构风格.通过对适应性软件体系结构的基本特性分析,抽取适应性软件体系结构的通用框架,建立基于多视图建模理论的集成化适应性软件体系结构参考模型,给出多视图模型的演化与映射规律.基于元建模和图转换理论,提出模型映射一致性算法.最后,建立了适应性软件体系结构支撑环境.适应性软件体系结构适用于复杂软件系统,特别是网络环境下大型、开放式软件系统的开发和实施.
2006, 17(6):1349-1359.
摘要:描述动态体系结构的关键在于如何刻画软件的动态行为.基于高阶多型π演算理论,提出了动态体系结构描述语言D-ADL(dynamic architecture description language).在D-ADL中,构件、连接件和体系结构风格被模型化为高阶多型π演算中的抽象(abstraction)类型,系统行为被模型化为进程(process),构件和连接件的交互点则被模型化为通道(channel).为方便系统变更逻辑的编写、修改和理解,D-ADL将动态行为从计算行为中分离出来,显式、集中地表达.由于动态行为可形式化为高阶π演算进程,其结果因此能够被预先推导.在D-ADL规约框架下,给出了将π演算的行为模拟和等价理论用于系统联机演化和体系结构模型求精的规则.实际案例说明了D-ADL的应用.
2006, 17(6):1360-1371.
摘要:为适应计算环境和用户需求在系统运行期间的变化,满足软件系统进行动态演化的需求,提出面向动态软件体系结构的在线演化方法,设计并实现了一种运行时刻的软件体系结构元模型,将原先运行时刻不可见的体系结构设计信息具体化为显式的体系结构实体,并与系统实现及系统规约之间保持因果关联.元模型的演化可通过反射实现对运行系统的修改和对规约的更新,所有演化行为都在良定义的体系结构元模型的指导下规范地进行,保证了演化前后系统的一致性、完整性和演化的可追溯性.基于该方法开发了可视化支撑平台Artemis-ARC系统,支持构件和服务的设计、开发、集成及动态演化,并通过简单的应用实例展示了在线演化的效果.
2006, 17(6):1372-1380.
摘要:在企业及电子政务应用中,由资源分布异构及需求动态变化而产生的问题越来越严重,如何让应用快速适应这些变化一直是人们关注的一个研究难题.首先给出了一个面向服务的支持业务端编程的适应性软件结构框架CAFISE(convergent approach for information system evolution)Framework,然后给出了基于该框架的面向服务的适应性软件开发方法.CAFISE Framework对异构资源的服务化、业务化及开放动态的面向服务软件体系结构提供了较好的支持.基于该结构框架的开发方法,从对影响软件的环境要素分析入手,通过质量属性驱动的体系结构分析,重点针对应用要适应的变化进行结构设计,最终通过以体系结构为基础的业务端编程,实现面向服务应用的即时开发与演化.在实际项目中的使用及实验证明:用该框架和方法开发的面向服务应用,能够较好地适应异构资源的动态变化及用户业务变更,能以较低的代价实现企业及电子政务面向服务应用的持续演化.
2006, 17(6):1381-1390.
摘要:Web应用服务器目前普遍采用的先到先得式(FCFS)的调度框架在过载时难以保障应用的服务质量(QoS)需求.QoS获益驱动(QBD)的调度框架是一种针对这些不足而提出的请求调度解决方案.QoS获益根据应用的QoS需求得到,用于评价QoS保障对应用需求的满足情况.QBD调度框架包含了多个用于保障应用QoS需求的组件,实现了基于QoS获益的资源规划算法,能够提高服务器对应用QoS需求的保障能力.在OnceAS平台上的实验结果验证了QBD调度框架的有效性.
2006, 17(6):1391-1400.
摘要:在软件体系结构(software architecture,简称SA)设计中,复合构件是具有内部结构的构件,它可以对复杂的SA模型进行层次化的组织.尽管大多数体系结构描述语言都支持复合构件,但常见的SA模型分析与验证工具仅支持单层的SA模型作为输入,且目前的主流构件运行平台都不支持带有内部结构的复合构件模型.因此,有必要将多层的SA模型转化为单层的SA模型(即"单层化")."单层化"的关键在于如何保证"单层化"前后SA模型的一致性.对该问题及其解决方案进行了系统而深入的研究,给出了SA模型一致性的形式化定义.在此基础上,提出了SA模型"单层化"的基本原则以及过程指南,并以一个构件化的邮件客户端为例,验证了该方法的可行性.
2006, 17(6):1401-1410.
摘要:近年来,软件体系结构(SA)、基于构件的软件开发技术(CBSD)等开始在软件开发中发挥出重要的作用.CBSD应用的成功主要体现在自底向上构造系统的方法上.目前,对SA的研究还缺乏一种自顶向下的构件动态组装方法,尤其是过程构件的组装.以工作流技术为基础,以基于Web应用为背景,研究了基于工作流引擎的构件组装方法.从业务过程的基本要素一一业务对象、控制流和数据流入手,详细分析了这些要素在构件环境下的特点和交互模式,并以此为基础提出了一种基于工作流的引擎的过程构件组装体系结构.该体系结构中除了考虑常规的控制流驱动的构件组装外,还深入研究了文档型的数据流驱动的构件组装机制,能够为其他研究者将文档型工作流技术应用于软件构件组装提供借鉴和参考.
2006, 17(6):1411-1422.
摘要:模型驱动式开发是以模型构造、模型转换和精化为核心的.对象管理组织OMG选择将统一建模语言UML作为标准建模语言,并将其作为模型驱动架构MDA的支持平台.但UML模型缺乏严格的语义,不同视角和不同开发阶段的模型很难集成,所以目前MDA中各种模型之间是脱节的.基于统一程序设计理论UTP,将对象精化演算系统rCOS与UML结合起来,提高了UML模型的精确性与模型转换能力.建立模型驱动式开发中不同层次、不同视角的相关模型并将它们集成起来,建立了一个统一的模型系统.
2006, 17(6):1423-1435.
摘要:模型转换是MDA(model driven architecture)的核心技术之一,也是目前MDA研究的热点.目前,MDA范畴内存在多种模型转换方法和工具,它们之间的异构性造成了模型转换代码重用的困难,并使学习和使用模型转换方法的成本增加.受到模型编织技术的启发,提出了一种基于QVT(model query/view/transformation)规范的模型转换编织框架QMTW(QVT-based model transformation weaving framework)来解决以上缺点.展示了模型转换编织的概念、语义、元模型和语法,以及到目标语言的转换定义,并以一个具体实例说明了本框架的使用方法和优点.QMTW提高了模型转换的抽象层次,统一了多种模型转换语言,并支持OMG最新的模型转换规范,在一定程度上消除了模型转换技术的异构性,同时具有简单、规范、扩展性强3个优点.
2006, 17(6):1436-1447.
摘要:单一策略的复本管理不能适应网格系统复杂、多变的环境.提出了软件体系结构驱动的动态自适应数据复本管理架构DSA-RM.在该架构中,软件体系结构描述作为核心元素被整个数据网格运行环境共享,适用于不同应用环境和虚拟组织的数据复本管理策略则可以按照描述规则封装为构件.DSA-RM以该描述作为系统调度依据,运行各数据复本管理构件.通过对DSA-RM的抽象,形式化地描述了框架下的复本管理构件,讨论了动态环境下构件演化、复制过程的动态自适应规则,并按这些定义和规则设计了DSA-RM的实现框架和构件复制算法.通过性能分析以及对框架下多策略执行模拟验证表明,DSA-RM可以有效提升网格系统的整体性能.最后,介绍了下一步在上海医学数据网格上的应用计划.
2006, 17(6):1448-1458.
摘要:随着网格技术研究和应用的不断深入,缺乏服务质量保证已成为制约网格应用的瓶颈之一.如何建立一个开放的、可扩展的体系结构,是当前支持端到端服务质量的服务网格体系结构研究的重要问题.提出了支持服务质量的服务网格层次体系结构(QESA),并通过对网格服务容器、信息服务与调度服务的服务质量扩展实现了该体系结构,设计了基于资源能力管理与服务预留的服务质量保证方法,讨论了服务质量感知的服务发现和服务调度的实现机制.通过中尺度天气系统降水量预报的网格应用(AREM)对其进行了性能评价,结果表明,基于QESA的服务网格中间件可为网格作业提供确定的服务质量保证能力.
2006, 17(6):1459-1469.
摘要:服务接口描述是面向服务软件体系结构描述的关键问题之一,形式化描述方法是保证服务接口描述准确性的重要手段.目前的接口模型并不支持事务信息的描述.通过对已有Web服务接口模型进行扩展,提出了通过错误处理和补偿支持事务信息描述的接口模型,能够分别在特征层、会话层和协议层3个层面对服务的接口进行描述,然后提出了服务接口在3个层面的相容性和可替换性条件,并针对会话接口和协议接口提出了接口规约及其验证方法.该接口模型不仅能够支持准确的事务信息描述,而且还支持灵活、有效的接口规约验证.