搜索
您的当前位置:首页基于模式的软件体系结构建模

基于模式的软件体系结构建模

来源:乌哈旅游
基于模式的软件体系结构建模

邹林达

左西尧

(广州金融高等专科学校计算机科学与技术系,广州510521)

文中给出了一种应用程序组件的领域建模方法,将组件静态方面的面向对象建模(类图)、组件行为或功能等动

态方面的基于模式的建模(模式实例模型)与代码生成实现技术结合起来。并试图用模式描述组件体系结构风格,指导如何构造和组织一个系统。基于模式的软件体系结构设计方法可在很短的时间内创建各种组件,并通过改变模型中的抽象体系结构特性来满足应用程序中的体系结构要求,因而该方法是切实可行的。关键词

软件体系结构

设计模式

领域建模

文献标识码A

中图分类号TP311

(2003)文章编号1002-8331-10-0137-02

ModelingSoftwareArchitectureBasedonPatterns

ZouLindaZuoXiyao

(GuangzhouCoiiegeofFinance,Guangzhou510521)

Abstract:Thispaperpresentsadomainmodeiingapproachforappiicationcomponent.Theauthorsuseciassdiagrams

anddesignpatternsasmajormodeiingnotationsandutiiizecodegenerationtechniguestocreateanappiication.mean-whiie,theytrytocapturethearchitecturaistyiesofcomponentusingpatterns,whichguideshowtoconstructandorga-nizeasystem.sincevariantsofcomponentscanbecreatedwithinshorttime,andacomponentcanmatchthearchitec-turaidemandsofanappiicationbychangingabstractarchitecturaipropertiesinthemodeis,theauthorsbeiievethatthisapproachisfeasibie.

Keywords:softwarearchitecture,designpattern,domainmodeiing

1问题

软件组件是软件开发中的一个重要方面。为了成功地使用

建立一个参考体系结构,并实现支持库。为了设计一个模拟组件或应用,要从目录中选取合适的模式,对这些模式进行实例化,并将它们捆绑到类图中。该应用模型的可执行代码将自动生成,如果需要还可手工编写代码进行扩充。

组件,组件的结构应该与总体系统结构相匹配。这意味着组件结构必须适应特定的应用需要。这种适应性产生如下问题:如何表示组件的体系结构?软件体系结构的哪些部分是固定的,哪些可单独进行建模或修改?能用代码生成体系结构元素吗?论文给出了这些问题的答案:那就是使用基于组件的领域开发方法,提供一个功能强大的建模环境来支持专用组件的创建与集成。为了更加独立于具体的应用领域,能够处理更为复杂的模型,论文对组件结构和组件行为进行区别。图1描述了基于组件的领域开发过程。

2基于组件的领域开发方法

基于组件的领域软件开发方法目的是为特定应用创建定

制组件,它对元组件进行了描述,用户可用模型来进一步详细说明具体组件,生成器将根据详细说明自动实现组件。这样产生与应用需要完全相匹配的组件,没有额外的运行时间或内存开销。它将组件静态方面的面向对象建模(类图)、组件行为或功能等动态方面的基于模式的建模(模式实例模型)与代码生成实现技术结合起来。

每个应用可由一些组件组成,每个组件完成整个应用功能的某个方面。应用通过应用模型来定义,而该应用模型由几个组件模型组成,特殊领域生成器将这些模型转换为软件组件。交叉组件生成器每次能够解释多个组件模型,并从不同组件模型之间的相互关系产生胶水逻辑及应用接口代码。图2给出了上述方法的实现。

模拟器的行为用一个实例模型来定义。从目录中提取的模式用来定义模拟对象的行为、定义组件的总体功能、或定义模拟组件与其它模型表示的其它组件之间的接口。这些模式实例不仅指定了组件的特性,也指定了组件与其它组件之间的连接胶水。这意味着在建模级别也能进行组件集成。模式实例使用一个图形编辑器来创建,该编辑器显示类模型,让用户从目录中选择模式并进行实例化。随后将这些实例捆绑到类模型中,

计算机工程与应用2003.10137

图1特殊领域与特定应用任务

在该方法中,模式目录(patterncataiog)、参考体系结构和库是领域工程中得出的。作者试图用模式来捕获组件体系结构风格。目录中的所有模型形成一个模式系统。除了目录外,还要

这样每个实例与类模型的元素(类、关系、属性、方法)相关联。

一旦建立了应用模型,该应用模型将送入到生成器。生成器读取结构模型、模式实例,并了解目录中的模式,并产生出优化了的、简洁的组件代码。对于不同的应用,可产生不同的组件代码。建模模式是从特殊领域的模式目录中提取而来的,模式目录的作用与其它基于模式的设计方法基本相同:获得成功的、良好的设计,并通过给出某个设计环境中设计问题的解决方案将该设计提供给目录用户。

图2

基于组件的领域开发方法概要

3软件体系结构及其风格

一个软件系统的结构可以按照体系结构风格进行建模。风

格具体提示了如何构造和组织一个系统。通常,在一个组件的结构中可以发现几种风格。每种风格可以看作是一组体系结构约束集,约束集定义了一个满足约束的体系结构家族,其中一些约束可以用设计模式来表示。这些模式包括风格所适用的上下文、所能解决的问题、结果以及风格的结构。此外,还包括如何应用模式的指导原则。

发现反映体系结构风格的具体模式并不容易:风格是软件体系结构的抽象描述。而基于组件的领域开发方法中,模式反映具体的设计决策而不是组织结构。用领域开发方法建模的所有组件共享一个公共的基本体系结构。该体系结构的某些部分是固定的,其它部分可因模拟器不同而不同。固定组件构成了容纳专用模拟组件的框架,通过继承框架对象/类,或向框架对象/类发送请求来使用框架。

并主要使用框架中的三个组件:一个显示所模拟的对象并激发模拟器的GUI库、一个与其它应用通信并将模拟器运行情况记入日志的I/0库、负责调度和事件处理的内核库。但模拟组件的结构与行为却因模拟器不同而不同以满足应用需要。可变的方面有:组件结构(即类模型)、组件功能和行为、非功能需求(如时间性和精确性)、组件集成(连接框架的胶水代码)。

建模一个应用时常常需要多种体系结构风格,表1列出了领域开发方法中所使用的风格。

数据中心与管道/过滤器这两种风格描述模型的数据方面。组件使用类图来建模,不同组件可以共享部分类图来访问

1382003.10计算机工程与应用

同一数据。访问数据中心的方法是自动生成的。组件内的数据交换使用管道/过滤器模式建模:

通信信息看作是管道,触发数据流的活动看作是过滤器。应用程序框架实现了框架风格,用框架组件类图表示,可以用面向对象机制和模式将框架组件合并到模型中。另外,由于内核库是事件驱动的,所有活动的模拟对象必须能接收并分析事件,事件处理也用模式来建模。

表1

领域开发方法所使用的体系结构风格

体系结构风格事件

建模符号数据中心组件间的数据交换类图

管道/过滤器定义模拟对象间的数据流管道/过滤器模式框架应用框架类图、模式、图解层次

访问库

控制与显示模式

模块-视图控制器在GUI库中使用

GUI模式

分布式/事件系统与I/0库或内核库进行网络通信模式与库参数微内核

在内核库中封装通信模块

模式与层次类图

4讨论

该文将结构模型与基于模式的设计策略这两种不同的软

件工程技术结合起来使用,应用生成器用于实现模拟组件。为了设计一个模拟组件,只需实施应用工程,包括为创建结构建

立或细化一个类图、实例化并捆绑目录中的模式。

模式目录是领域模型中的一部分,包括行为模式及描述体系结构风格的模式。将模式分为几类以处理模拟的不同方面。每类模式作为一个视图,并可单独建模。目录是一种表示设计模型中组件结构组成部分的方法。模式可用来实现或细化一个体系结构风格。通过将一个模式实例捆绑到模拟器模型来完成配置工作,这些模式具有固定的形式接口和代码模板。所有模式必须能够协同工作:它们构成一个模式系统。每个模式用于建模组件的一部分,只有正确地对模式进行组合才能设计一个模拟器。利用支持工具来完成这些任务,并将建模过程进行详细定义,是值得进一步研究的课题。

体系结构模式的主要优点是使得系统便于维护、组件更为简洁、能处理更为复杂的模型。同时,模式目录也独立于应用领域。这些体系结构模式能较容易地适应于各种领域。基于模式的软件体系结构设计方法可在很短的时间内创建各种组件,并通过改变模型中的抽象体系结构特性来满足应用程序中的体系结构要求,因而该方法是切实可行的。2002年4月)

参考文献

1.bassL,CiementsP,KazmanR.SoftwareArchitectureinPractice[M].Addison-wesiey,1998

2.GammaE,~eimR.designPatterns[M].Addison-wesiey,1995

3.MonroeRT,KompanekAetai.ArchitecturaiStyies,designPatterns,and0bjects[J].IEEESoftware,1997-01

4.GammaE,

~eimRetai.designPatterns:EiementsofReusabie0b-ject-0rientedSoftware[M].Addison-wesiey,1995

(收稿日期:

因篇幅问题不能全部显示,请点此查看更多更全内容

Top