收稿日期: 2005-09-21; 修返日期: 2005-11-12
基金项目: 国家高新技术研究发展计划项目( 2004AA414031)
基 于 构 件 的 应 用 框 架 扩 展 机 制 研 究
*
马振华, 杨鹤标, 张震波
( 江苏 大学 计 算机 科学 与通 信工 程学 院, 江 苏 镇江 212013)
摘 要: 论 述了 应用 框架 扩展 机制 中构件 模型 、扩展点 表示 和依 赖关 系等 关键 问题 。在分 析 了框 架 元 模型 组 成
元素 的基 础上 , 应 用面 向领 域的 特征模 型的 方法 , 对 构件 模型 组织 结构 进行 统一 的抽 象和 描述, 并 用 命 题逻 辑 公
式来 表示 构件 之间的 逻辑 关系 和语 义约 束; 用 UniCon 语言 给出了 扩展 点及 其依 赖关 系的 表 示 方式 ; 最 后通 过 给
定的 命题 逻辑 规则公 式来 验证 构件 模型 的合 理性 、框 架扩 展的 正确 性。应 用实 例表 明这 种方 法是 有效 的。
关键 词: 基 于构 件的 框架 ; 构件 模型 ; 扩展 机制
中图 法分 类号 : TP311 文献 标识码 : A 文章 编号 : 1001-3695( 2006) 11-0074-04
Study of Application Framework Extension Mechanisms Based on Component
MA Zhen-hua, YANG He-biao, ZHANG Zhen-bo
( College of Computer Science & Telecommunication Engineering, Jiangsu University, Zhenjiang Jiangsu 212013, China)
Abstract: This paper discusses the component modeling structure, the hotspots’description methods and dependency relation
which are key to the extension mechanisms of application framework. Firstly, this paper abstracts and describes the component
modeling structure by analyzing the composition of framework meta-model and applying the method of domain-oriented features
model, and describes the logic relation and semantic constraint between components by applying the symbolic logic formula.
Secondly, this paper presents the description method of hotspots and itsdependencyrelation by applyingthe UniCon language.
Finally, the given symbolic logic formulacan prove the rationalityof componentmodel and validity of framework extension. This
method proves to be effective through application example.
Key words: Component-based Framework; Component Model; Extension Mechanisms
随着软件复用技术的深入, 应用框架日益受到人们的重视
和青睐。综合多种文献对框架的描述, 框架是一个面向领域的
可复用、部分实现的软件制品
[ 1, 2]
。框 架定义 了各部 分元素 的
主要责任、协作关系、控制流程以及 扩展点 ( Hotspot) 。开发 人
员通过对框架的扩展和实 例化以 实现应 用系统。框 架按其 结
构可分为面向对象框架
[ 2]
( OOF) 和基 于构件 的框架 ( CBF) 两
类。OOF是由一类特定领域中可复用 设计的 相互协 作的类 构
成, 通过重写子类的方法 来实现 具体应 用, 这 种基于 继承的 框
架也称为白盒框架; CBF是由一组构件以及这些构件间协作关
系组成的应用系统体系结构, 通过框架扩展点来处理领域变化
性, 也称为黑盒框架。在 软件开 发中, 框架扩 展和实 例化是 快
速构建具体应用系统的 一个重 要途径。CBF 框架通 过构件 接
口提供服 务, 隐 藏 了 具 体 的 实 现 细 节, 支 持 异 构 互 操 作, 与
OOF 相比, 复用构件粒 度 大, 基于 组 装的 扩 展机 制, 使得 其 在
框架实例化中占有很大优势
[ 9]
。
在应用框架扩展过程中, 构件 模型的 组织结 构、扩 展点 表
示和依赖关系是关键性 的环节。领 域业务 流程、业务 规则、构
件功能等变化均需要对框架进行动态扩展, 用扩展来实现领域
变化性。现有的扩展方法多侧重于单点扩展, 根据开发商提供
的框架设计文档, 重新调 整现有 的框架 相关细 节来完 成扩展。
这种方法可操作性差, 仅仅解决了局部的扩展问题。而框架的
复杂性和灵活性形 成 了扩 展点 间 具有 相互 依 赖的 关系
[ 3]
, 扩
展过程中如何保持功能点间相互关联的信息一致、实现扩展的
同步机制是框架扩展过程中亟待解决的问题。
本文在分析应用框架元模型组成元素的基础上, 借鉴面向
领域的特征模型方法, 对构件模型组织结构进行统一抽象和描
述; 采用 UniCon 体系结构描述语 言给出 扩展 点的 表示 方式 及
其依赖关系; 借助逻辑运算符构成的命题逻辑公式表示构件之
间的逻辑关系和语义约束; 通过给定的命题逻辑规则公式验证
构件模型的合理性、框架扩 展的正 确性, 为框 架实例 化提供 支
持。
1 基于构件的应用框架
1. 1 应用框架元模型
应用框架元模型( 图 1) 是对应 用框架 的一种 抽象 和共 性
描述
[ 5, 10]
, 由构件、设计模式、约束、扩展点、业务过程模型五 部
分组成, 通过对 其实 例化 处 理可 得 到适 合特 定 领域 的应 用 框
架。它包 含 了 一 系 列 由 业 务 集 成 机 制 得 到 的 业 务 过 程 模
型
[ 12]
, 业务过程模 型 是 通过 分 析 业务 过 程, 抽 象 出其 本 质 特
征, 并使用某种计算机可处 理的方 式表示, 体 现了构 件之间 的
逻辑关系、协作关系等。在 框架实 例化构 建应用 系统时, 可 根
据应用系统的需要对业务过程模型进行复用, 并可以在此基础
上对其进行裁减和扩充, 产生符合具体应用特性的业务过程模
型。约束( Constraint) 体 现了 框架 内 部的 控制 流 程、框架 扩 展
·47· 计算机应用研究 2006 年