当前位置:首页 >> 信息与通信 >>

自适应网构软件的集成开发环境SADE_图文

第2 A期 
21 00年 2月 

电 

子 

学 

报 

V I 3   No. A  o .8 2 F b. 2 O e Ol  

ACr E  C R0NI A  I T CA  I CA S NI  

自适 应 网构 软 件 的集 成 开 发 环 境 S D   A E
毛新 军 , 学斯 , 李 尹俊 文 , 董孟 高 , 胡翠云 , 吴  斌 
( 国防科学技术大学计算机学 院 , 湖南长 沙 40 7 ) 103 



要 : 网构软件通 常驻 留在动态 、   开放 的环境 中 , 需根据环境 变化 展示 自适应 和 自演化能力 , 代表 了一类复杂 

系统 . 如何 有效支持这类软件 系统的开发是软件工 程面临的一项重要 挑战 . 本文 介绍 了一个 基于 A et gn 的网构软件集  成开发环境 S D 它建立在一 组网构软件关键技 术基础之上 , 括 : 于 A et A E, 包 基 gn 的网构 软件 抽象和构造 , 动态绑定 的 自   适应和 自演化机制 , 基于组 织 抽 象 的软件 开 发方 法 学 O A 自适 应 和 自演化 策 略描 述 语 言 S D D M, A L等 . 文 分 析 了  论 SD A E的技 术框架 以及各个组成 部分 , 括网构 软件分 析和设 计工具 集 O A ol、 程工具 集 、 包 D] o 编 WF s 运行 支撑平 台等 ; 最  后 通过案例分析 阐述 了如何利用 S D A E来进行 网构 软件开发 .   关键词 :   网构软件 ;A et 自适应 ;S D ;O A   gn; AE DM 文献 标识码 : A     文章编号 : 07 —12((0 A 270  322 1 2 l)2 一0—6 】 中图分类号 : T 3 1 P1  

SADE:  ne r t d De eo me tEn i n n  An It g a e   v lp n  v r me t o
f rSef a t e It r ewa e   o   lAd p i  ne n t r s - v  
M O X n u , I u — , I u — e , O G Meggo H   u— n WU Bn A   i— n L  es Y N Jnw n D N   n—a , U C i u ,   i j X i y  
( e  ̄ e   o pt cne n eho g , ai a  n e i  e h eho g , h nsa, ua  103 C i   Dp m m o m u r i c ad Tcnl y N t nlUi rt o f s Tcnl y C agh l nn407 , hn a fC eS e   o o v sy fD a e o t a)

Ab t c : I tmewa e s s m sa k n   fc mp e   y tm h t stp c l  i ae     y a c a d o e   n k n n   n   sr t a   n e t r  y t i   i d o   o lx s s e   e ta    ia y s u td i d n mi  n   p n e v o me t a d i y l t n s
a a t o te c n e   fe vr n ntHo 幻 ef ciey e eo  u h s se sh sb c me ag e tc l n ei s f aee g n e ig  d ps t h  ha g so n io me . w fe t l d v lp s c  y tm   a  e o    r a hal g n o t r n i e rn v e w

c mmu i . i p p rit d c sa g n-ae ne rtde vrn n  ADEfrd v lpn   tmewaess m .t o ss  fa o nt Ths a e  r u e  ae tb d itgae n i me t y   no n s o S    e eo igI e t r yts I c ni so   o n e   t
n m b ro  e hn lgesf rItm ewa es c    g n - a e   b ta t n a d c n tu t n, y m i  n i   e h im  rs l- d p   u e   ftc oo i  o  n e t r u h a a e tb s da sr ci     o sr c o d na cbidngm c a s f  efa a — s o n i n o mf n a d s l- v l t n, i    efe o ui o n o ODAM   to oo y,e - d pi e s ae y d s fp On l g a e S meh d lg sr a f a tv   t tg   e c f   a u g   AD L, t Th  e h i a r me r   f r i i n ec. e tc n c lfa wo k o   SADE  d i   o p e t  r n o u e  n  ea l,icu ig ODAM To I t a lyz   d d sg  ntm ewae, e r g a n a  t c m on ns a e itd c d i d tis n ldn   s r os 0 na e a   e in I e t r t  po r mm ig n h n  toli  oc e I tm ewae a dr n-i eifa tu tr A  a e s y i lu tae  o s o h w o d veo  ntm ewa es tm  t  o kt t  o  ne t r    u t  nr sr cu e. c  t  silsr td t h w  o t   e l p I e t r  yse wi s d n m s ud h o ra p o c   u   p r a h.

Ke   r s: I tmewae Ag n ; e - d p v ; ADE; y wo d   ne t r ; e t s l a a t e S f i ODAM  

1 引言    随着计算机技术 的不 断发展 以及应 用 面 的不 断扩  大和深化 , 软件系统 的规模越 来越 大 , 呈现 一些 新 的  并
复杂 性 特 点 , 体 表 现 为 : 1环 境 复 杂 性 , 件 系 统 所  具 () 软

性 、 同性 、 协 反应 性 、 自适 应 性 、 自演 化 性 等 复 杂性 特 

征_2.M  E 的一份研究: : 1  C U S I . J 表明 未来 的软件系统将是 
超大规模 ( laLr —yt 的 , 中 自治 、 Ut—a eSs m) 其 r g e 自适应 、   白 演化、 自组 织是这类 系统 的重要特征 _ . 3    J
从 软 件 工 程 的视 点 , 构 软 件 形 态 的 出现 对 支 持 这  网

驻 留的环境变 得 日趋 复杂 , 并具 有开放 、 态 、 可控 、 动 不   无法事先确定 等特点 , I eat环境 的变化将 对 软件  如 n ne. t 系统产生 实质 性的影响 .2 系统复杂性 , () 软件 系统 驻 留   在环境 中 , 需要 不断地调整 自身 的结 构和行为 以适应环  境 的变化 、 满足 系统 的设 计 目标 , 而展示 出 自适 应和  从 自演化 的复杂性 特征 . 网构软件就是 这类 系统的一个集 

类软 件系统开发 的概念和元 模 型 、 建模 和 编程语 言 、 开 

发 和运行平 台、 部署 和维护 技术 等提 出 了新 的要 求 . 如  何有效 支持 网构软件 系统 的开发 是 目前软件 工程 面临 
的一项 重要 挑战 . 围绕 这一 问题 , 近年来 人们 开展 了一  系列 的工 作 _4. 2  尤其 是 , . J 人们 从 构 件 、 软件 体 系结 构 、   模型、 中间件 、 运行机制 等方 面提 出 了支持 自适应 和 自  

中体现 , 它是 I e t n me时代一种新 的软件形 态 , t 具有 主体 
收稿 日期 :090—1修 回 日期 :000 .3 20—70 ; 2 1—1   o

演化 的许 多关 键技 术_ 绝大 部分技 术借 助于 以面 向  5 ,  .

基金项 目: 国家 83高 技 术研 究 发 展 计 划 ( 。 20 A 0 Z 3 ) 国 家 自然 科 学 基 金 ( o 67 3 1 ) 国家 93重 点 基础 研 究 发展 规 划 ( 。 6 N .07 A 1 15 ; N .070 8 ; 7 N 
2 o CB 210   0 5 3 8 2)

28 0 

电 

子 

学 

报 

21焦  00

对象方法为基 础 的主流 技术 体系 , 对 象作 为 I e t 将 n me t   环境下软件 实体 的概念 模型 和实 现模 型 . 而对 象技  然 术本身存在 固有 的局 限和不 足 :1 非持续性 运行 ; 2  () () 非 自主性 ;3 行 为的不 变性 和不 可调 整性 , () 对象 一 旦  创建 , 其结构 和行 为将 在其 生命 周期 中不 可改 变 ;4  () 控制为基 础的交互机 制 , 语法层 次上 的消息传递 , 质  本 上是方法调用 ;5 对 环境 的被 动感知 , () 不被 告知 , 无  就
法感 受环境 的变化 . 因此 , 无论是 高层 的 自然 建模还 是 

境 的变化不 断调 整它所 扮演 的角 色 , 而展 示他 对组  从 织环境 的适应性 . 基于 这一思想 , 我们提 出了基于动态 

绑定思想 的 自适 应 和 自演 化 机制 _ , 7 以支持 自适 应 网    J 构软件 系统 的分析 、 设计 和构造 . 所谓动态 绑定机制是 
指, 任何 网构软件 A et gn 均驻 留在特定 的组织 环境 中 ,   当组织 环境发 生变化 时 A et gn 可动态地 加入 (o ) Ji 一个  n

角色或者退出( u ) Q i 一个角色 , 而获得 或者失去该 角  t 从 色所定 义的结构 和行 为特性 , 以满足系统 的设计 目标 .  
角色是对 舷et n 结构 和行为 的抽象 表示 . 一旦 A et gn 加 

底层 的实现 支撑 , 对象 技术都 无法 有效 应 对 网构软 件  的环境开放性 、 变化敏感性 、 系统 动态性 等给软件 开发 
方法提 出的要求 . 与此 同时 , 现有关于 自适 应和 自演 化  网构软件系统 的开发 大 多关注 系统 实现 , 而忽 视 了对 

入一个角 色 , 我们 称 A et gn 绑定 了该 角色 , 角色所定  该 义的结 构和行 为信 息将 约束 该 A et gn 的运 行 和对外所  展示 的功能 , 此情况 下我们 称 A et 在 gn 绑定 了该角 色 .  
A et 绑 定 的角 色 具有 以下 二种 不 同的状 态 : gn 所 活跃  ( cv) A te状态和非活跃 ( ate状态 . A et 绑定 的  i I cv) n i 当 gn所

复杂 网构软件系统的需求分析 、 软件设计 和建模 .   2 网构 软件 的支撑 关键技 术 

2 1 基 于 A et 组织抽 象 的网构 软件 元模型  . gn 和
A et gn 是指驻留在特定 的环境下能够感知环境并能  自主运行 以满 足设计 目标 的软 件实 体 , 代表 了一 种  它 新颖的概念抽 象和计 算抽 象 , 加贴 近 于人们 对现 实  更 世界 中行为实 体 的直观 理解 和认 识 , 有助 于对 应用 系  统和软件系统 中 的行为 实体进 行 自然建 模 . 们将 网  我 构软件 中的实体抽象 、 封装和物化为软件 A et 网构  gn, 将 软件 系统视为 由多个 相互 交互作 用 的 A et gn 所构 成 的  多 A et gn 系统 . 网构 软件实 体 的 A et 体现 了网构软  gn 化 件实体主体化 程度 的提 升 以及 在 内容包 含性 、 结构 独  立性 、 实体适 应性 、 为 自主性 等方 面进 步 . 其是 软  行 尤 件 A et gn 的行为 自主性可有 效支持 互联 网环 境 的动 态  性、 开放性和不确定性 , 以及 在此环境 下网构软件 的 自  
适 应 性 和 自演 化 性 .  

角色处于活跃 状态时 , 将约束 A et 他 gn 的运行 . 如 , — 例 A 

gn将根据角色所定义 的行为规约来选择动作 、 et 实施行  为 . A et 当 gn 所绑定 的角 色处 于非活跃 状态 时 , 他将不 
再约束 A et gn 的运行 , 是 A et 保 留并 访 问该角 色  但 gn 将 对应 的相关信 息 . gn 可 以通过 实施激 活 ( cvt) A et A ta 和  ie 钝化 ( ecvt) D ata 操作来改 变 A et 绑定 角色 的状 态 . i e gn所   网构软件的 自演化实际上就是 网构软件 在其生命周期  中随着环境的变化而不断调整 自身角色的过程 .  

23 网构 软件 开发 方法 O M   . 】
基于 网构软件概念模型 和动态绑定 的 自适应 和 自  
演化机制 , 我们 提出了如图 1 所示 的网构软件开发方法 
学 O A ( rai t nb sd Moe  r e  gn—r ne  D M Og nz i —ae  dlD vn A et i td ao i oe

M t dl y _ .D M方法学 由基 于组织抽象和 多个视  e oo g)8 O A h o   J 点的网构软件模 型 、 于迭 代 的网构 软件 开发 活动 和  基

社会学和组织学 的思想 可 以为 网构软件 系统 的开 

发提供高层抽象和 自然建模 手段 . 先 , 首 越来越 多的 网  构软件系统服务于各种各样 的组织 ; 二 , 第 组织学 和社 
会学可为 网构软件系统 的分 析和建模 以及 自适应 和 自  

步骤 、 高层 组 织模 型转换 为底 层实 现模 型 的模 型转  将 换技术 三部分组成 . 网构软件 模型包括 组织场景模 型 、  
角色行为模型 、 组织交互模 型、 角色变迁模 型和组织结 
l  
… … …

l  
’  

平台无关模型 ’   
需求 

演化等特征的研究提供高层 的抽象和 概念 , 它们 直观 、   易于理解 、 更加贴近现实世界 , 助于简化 和控制 网构  有 软件系统的复 杂度 , 表 了软件 工程 在抽 象层 次上 的  代 进步 . 为了支 持 网构软 件 的分析 、 设计 和建 模 , 我们 提  出了基 于组织抽象 的 网构软件 概念模 型 . 具体 的 , 网  将 构软件 系统 视 为具有 特定 组织结 构 和约束 的社会 , 系  统 中的 A et gn 扮演组织 中的特定角色 , 而展示相应 的  从 行为 . 每个 角色描述  网构 软件 A et gn 在组 织 中所 承担  的职责 、 具有 的权 限 、 留 的环境 、 驻 对外 提供 的服 务 等 
等.  
S ADE 台  平

..

.... 

分 析 
. — —   — — — —

/ 
概要设计 

组 织结构模型 I  
....................................

__J  

模型 转换 V  
平台相关模型  、   详 细设计 

2 2 基于动 态 绑定思 想 的 自适应 机 制  .
我们注意 到许多社会组 织具有 自适应 和 自演化 特  征, 组织 中的个体扮演组织 中特定 的角色 , 能随着 环  并

角模 适An型l 应 略型 色 型自应g模 l适策模 。 l e 自 t  
图1  ODAM方法 学 



2 期  A

毛新军 : 自适应 网构 软件 的集成开发环境 S D   AE

29 0 

构模 型 , 它们 是 从不 同的视 点和 角 度对 网构 软 件 的描  述和分析 . 个 方法 学支 持 网构 软 件 的需 求 、 析 、 整 分 概  要设计 等多个 软件开发 活动 . 外 , 了提 高 网构 软件  此 为 的开 发 效 率 和 质 量 , D M 集 成 了 主 流 软 件 工 程 的  OA
M A思想 , 高层 的网构 软件 组织 模 型视 为平 台无关  D 将 模型 , 将针对特定 实现技 术 的模 型视 为平 台相关模 型 ,   支持从平 台无关模 型到平 台相关模 型的转 换 .  

持利用 O A 来 对 网构 软 件 进 行 分 析 和 设 计 的 工 具  DM 集、 支持利用 Jv 和 S D 来对 网构 软件进行 编程 的工  aa A L 具集 、 网构 软 件 运 行 支撑 平 台等 部 分 组 成 . 型 编辑  模 器、 检查 器和转 换 器支 持 开发 人 员 利用 O A D M方 法学  对 网构软件进行分析 和设 计 , 开发包 、A L编辑 器和编  SD 译器 等支 持网构软件 的开发 和构造 , 运行 引擎 、 冲突检  查和 消解模 块支持 网构软件 的运 行 .  
SD A E建 立 在 J D l A E】 础 设 施 之 上 . D  基 J E是 一 个  A

24 网构软 件 的 自适应 策 略描 述语 言 S D   . A L
网构软件 系统 是一 类 复杂 系统 , 当前 网构软 件 系  统 的开发通 常将 网构软件 系统 的业务 逻辑与 自适应 和 

基于 Jv aa的 M l. gn 开 发环 境 , 借 助于 Jv 虚 拟  utA et i 它 aa 机, 遵循 FP IA提供 的 A et gn 技术标 准 , 以中间件方式 提 

自演化逻辑缠绕在一 起 , 封装 在 同一软 件模块 中, 这使  得开发人员需要 同时关 注二 个不 同 内容 并注意 二者之  间的逻辑关 系 , 致 网构 软件 系统 的 开发 变得 极 为复  导
杂, 系统难以维 护 . 为此 , 我们 提 出 了将 网构 软 件 的业  务逻辑与 自适 应 和 自演化 逻辑 相 分离 的思想 , 计 了  设 相应 的 自适 应 自演 化策 略 描述 语 言 S D ( e- dp — A L SlA at   f a t nsa g  ec po agae J 以对 网构 软 件 的 自 i   reyD sr tnLnug) , o tt ii   适应 特性进行描述 .   在网构软件 A et gn 的生命 周期 中 , 它所处 的环境 可 

供多 A et gn 系统 的开发 和 运行 支持 .A E本 身 提供 了  J D 部分组件来 支持 多 舷 et n 系统的开 发和运 行 , 包括 实 


现 自主 A et gn 的软 件开发包 , 事件机 制 , 目录服务 ,I   FP A A L交互等等 .A E在此基 础上提供 : C SD  

能会 不断发生变化 , 网构软件 A et 要对其 所处环 境  gn 需 的变化进行 感 知 , 根 据环境 的变化 情 况 以及 自身 的  并 状态来及 时地 调整 自身 的状 态 和行 为 , 以适 应 环境 的  改变 . 一个 由 S D 编 写的策略文件对 应于一 个 网构 软  AL 件 A et 自适应和 自演化过 程 中所应 遵循 的规则 、 gn 在 约  束和 限制 , 个 自适应 自演化 策 略 由一组 自适应 和 自 每   演化规则组成 . 自适 应规则具有 以下形式 :   w e  ( hne x ) hn CagE p  [   (te x ) i f St p] aE   {A at e co( ) ” ( dpvA tn ) *} i i   其中 C agE p是 以环 境事 件 的形 式 对 网构 软件  hne x


图2 ADE的 技 术 框 架    S

① 运行 引擎 运行 引擎 为网构软件 的运行提供 支  撑, 它主要提供 了以下 的功能 :1 支持 动态绑 定机 制 , ()  
允许 网构软件 A et gn 通过 “o ” “ u ” 自适应操作 来  Ji 、Q i 等 n t 动态绑定不 同 的角 色 , 应环 境 的变 化 ; 2 负责 加 载  适 () 网构软件 A et 自适 应策 略 ;3 负责 网构 软件 A et gn 的 () gn   生命周期 的管理 .  

舷et n所处 环 境 变化 的描 述 ,t ex S t p描 述 了网 构软 件  aE A et gn 的状 态 , dp vA tn定 义 了在满 足 这两 个条 件  A ate co i i 时 网构软件 A et gn 应执 行 的 自适 应 动作 , 加入 (o ) 如 Ji   n


② 网构 软件 开 发 包

为 了支 持 网构 软件 基 于 动 

个 角色 , 出 ( u ) 个 角色 , 活 ( cvt) 退 Q i一 t 激 A ta 一个 角  i e

色等 . 因此 , 一个 自适 应 规则 描 述 了 当环境 发 生 变化 ,   网构 软件 A et gn满足特定 的状态时 , 它应实施 的 自适 应  行为 . 自演 化规则 刻画 了网构 软件 A et gn 在其 自适应 过  程 中应遵循 的约 束 和 限制 , 些 约束 和 限制 最终 由平  这 台中的相应模块解 析 , 总体保 障网构 软件 A et 自适  gn 在 应 自演化过 程 中按照 开 发者定 义 的约束 运 行 . 过 定  通 义 网构软件 A et 自适应 自演化策 略 , gn 的 软件 开发人 员  可 以清晰地表示 网构 软件 A et gn 生命 周期 中 的 自适 应 
行为和 自演化 约束 , 而有 效 支持 自适 应 网构 软 件 的  从
实现和运行 .  

态绑 定思想的 自适 应和 白演化 的核 心机制 ,A E提供  SD 了一组 可重用 的软 件 开发 包 . 该开 发包 提 供 了 网构 软  件 的一组 公共 功能 , 件人 员 可 以通过 继 承这 些 可 重  软
用类来进 行系统 的开发 和维 护 . 体 的, 具 网构软件 开发  包 主要包 含了以下一组构件 :1R l类 , ()o e 封装 了业务逻  辑 以及该类 所对 应 的环 境 ; 2 A et , ( )S gn 类 是对 具 有 自   适应 和 自演化能力 A et gn 的抽象 和封装 ;3 E v om n ( ) ni n et r  

类, 封装 了环境 的基本 属 性 和 功能 ,A E支持 对 网构  SD 软件 A et gn 的环境进行 显式 的表示 和编码 ;4 Pbi e ( ) ulhr s  
和 Sbc br , 于 对 环 境 事 件 的 订 阅和 发 布 . usr e 类 用 i  

③S D A L编 辑 器  S D A L编辑器 支持对 S L策略  D A
描述语言进 行编 辑 , 它支 持 在线 的语 法 检查 以及错 误  提示 , 提供 了语 法 高亮 显 示 、 内容 辅 助 提示 、 法错 误  语

3 网构软 件 的集成 开 发环 境 S D   A E
网构软件集成开发环 境 S D A E如 图 2所示 , 由支  它

提示 、 编译错误 位 置定 位 等功 能 . 目前 S D A L编 辑器 已   经作为插件集成 到 E l s 开发环境 中( 图 3 cpe i 如 所示 ) .  

20 1 

电 

子 

学 

报 

21 00拄 

④ S DL编译 器 S D 编译 器负责将 由 S D 语  A AL AL 言描述 的 白适应 逻 辑翻译 为 Jv 程序 , aa 这些 Jv 程 序  aa 经过编译后生成 Jv aa中间码 , 然后在 S D A E环境下来 运 

模型、 角色行 为模 型 、 织交 互 模型 、 色变迁 模 型等  组 角

进行可视化的建模 ( 如图 4 所示 ) .  

⑧模型 检查 器

为 提高 O A D M模型 的质量 , 及时 

行 .A L编 译 器 除 了 提供 编 译 功 能 之 外 , 提 供 了 SD 还   S D 描述 的语 法 错 误 分析 以及 修 正 建议 功 能 . AL 目前  SD A L编译器已经 作为插 件集 成 到 El s cpe开发 环境 中  i
( 见图 3 , 与 S D 编辑器相集成 , )并 AL 支持对编辑的策略  文件进行编译和分析 .  
I  
一  

发现其 中存在的 问题 ,A E给 出了 O A 模型 的一致  SD DM 性、 完整性和正确性 的描述 , 并提供 了模型检查 器 以对  开发人员编辑 的 O A D M模 型进 行检 查 和分 析 , 并将 发  现的 问题及 时反馈 给开 发人员 . 型检 查器 与模 型编  模 辑器集成在一起 , 支持在线和离线模型检查 .  

囊 
: h }? j? , H x 砷h 一 “l … l e c
9 … t k 

鞋诧   
g  ‘  肿    d

 t 伽“ : ¨【 {  
■  

{   - 蚺  簿 :  t ^ e?   ?   l r 姊l e ■  # , k— e c … rl ?  O}; e  未m “ J     罅 蚺  : x  . ” r … ‘ k0 I ;l e #… . n n”  ^_   w- “ c  
#谣  “  蚋t _ l ‘    , , . ¨ №嘲 绀  m e { r ●   盯  
, {t m    “ :   ●t t “H  - { "  
h 博 1Ht  L E e  r w曲  e ¨ 轧   ¨I   l l   盯 {   钟  t

⑨模 型转 换器 S D 还 提供 了一个模型转换器 , AE   将用 O A D M描 述 的平 台无关 模 型转 换为 由 S D A L和软  件开发包所 描述 的平 台相关 模 型 , 而 简化 网构 软件  从
系统 的开发 . 目前 , 模型转 换器能够 生成业务 逻辑的代  码框架 以及基 于 S D A L的 自适应 自演化策 略描述 .  

k  
●  '

囊 f t Sl e {      I a 计   Ot
i  

● t n? ¨ I       瓣  山   ≮罐 
●h-m  s ?   ‘  

●l,   n  t Ⅲ

H 


l l £卜   { t{    



3  



  ’

●t    c  

畸HⅫ 0 岬
●  

t m s   . 1 ¨
Ⅲ  “  

l  m H  
b汕  

蘸  l
  :

曩 
∞ 

” h  ^蜘 帆  

4 网构 软件 的 开发过 程和 案例分 析 
基于 网构软件 的上述关 键技术 和支撑环境 S D , A E 
网构软件 系统 的开 发步骤 描述 如下 . 先 , 首 利用 O A   DM

:  

蛔 " 

d“  ● I . dh  ̄   q  s a dl 4t

{   , 0删 一 鬻-l n     l ? ?  -

一 I —一肇  “  

, ∞龇埘    0

渊  

LⅫ“   _ 卅d

辩   弗鼋

幽 

毒 蠢  篮;
. 

蛐 … n  

:: m 鬟 ” 

辩 

1 ;} l 誊   

方法学 和 S D A E环境 中的模型编辑器 和模型检查器 , 对 
图3 集成 到Ecis中 的S DL l e p A 编辑器和 编译器 

⑤ 网构 软件 监控 器  网构软件监控器负责监控 网  
构软件 中的各个 A et获取和监视其状态和 自适应 、   gn, 自

演化 的行为 和特征 . 户也可 以通 过该 软件 工具 来 对  用 网构 软 件 A et 行 控 制 , 括 生 成 新 的 网 构 软 件  gn 进 包 A et删除已有的网构软件 A et gn、 gn 等等 .  

网构软件进 行迭 代 的分析 和设计 , 得到 基 于组织 抽象  的网构软件分 析和设 计模 型 . 后 , 用 S D 然 利 A E环境 中  的模 型转换 器 , 网构 软件 的高层 分析 和设 计模 型转  将 换为针 对 S D A E平 台 的实 现 代 码 框 架 . 三 , 助 于  第 借 SD 、 A L 软件 开发包 以及 S D A E中的 S D A L语言编辑器 和 

⑥ 冲 突检 查 器  由于 个体 Aet 自主 性 和 多  gn 的 A et gn 系统 中对 A et 间相互协调要求 的固有 矛盾 ,   gn 之 以
及动态绑定 过程本 身要 遵循 的一 些规 则 与约束 , 网构 
软件 A et gn 在随环境 变化的 自适应和 自演 化过程 中 , 通 

编译器 , 网构软件 代 码进 行精 化 、 化 和完善 , 生  对 优 产 可运行 网构 软 件 程 序代 码 . 四 , 程 序代 码 部 署 在  第 将
SD A E环境下运行 .  

常会 引发一 些 冲突 问题 . 冲突检查 器负 责对 这些 冲突  进行检查和 消解 , 障网构软件系统正确运行 . 保  

由于篇 幅限制 , 面通过 案 例分析 来 讲解如 何进  下 行第 三步骤 的工 作 . 们开 发 了一个简 单 的 网上交 易  我 系统来 支持 用户 通过 互联 网进 行交 易 . 统 中有 四类  系 角色的网构软件 A et浏览者( it )买 者( ue 、 gn: Vso 、 ir B yr 卖  ) 者(ee) Slr和管 理者 ( aae) 浏览 者可浏 览 和查看 系  l M ngr . 统中的商品信息 , 是他不能进 行商 品交 易 ; 但 买者拥 有  资金 , 可以购买所 需 的商 品 ; 者拥 有 商 品, 他 卖 他可 以   出售 自己的商 品 ; 管理 者对 加入 系统 的交 易者进 行 管  理 . 面两个 典型场 景用来展示 处于动 态 、 下 开放环境 下  网构软件 A et 自适应行为 . gn 的   () 1用户绑 定 的角色 随着 环境 的改 变 而变化 :o   Tm

⑦ 模型 编辑 器

为 了支持开发人员利用 O A D M方 

法学 来 对 网 构 软 件 进 行 分 析 和 设 计 , A E提 供 了 SD  
O A 编辑 器 . 编辑 器 采 用 图形 化 的 方 式 对 组 织 场 景  DM 该

进入系统后 , 扮演 Vso 角 色浏览 商品 . it ir 当他感知 到系  统 中出售他需要商品的服务 出现 , 就扮 演 Byr 色 以 ue角  
购买商品 .  

() 2 用户 暂 时离开 某个 角 色 , 后又 恢 复该角 色 : 然   在 Tm扮演 B yr o ue 角色准备购买需要 的商品时 , 发现商 

品的售价大于 它拥有 的 资金 , 果此 时 Tm有 要 出售  如 o 的商 品 , 入 Slr 色 , 则加 ee角 l 通过 销售 商 品获得 更多 的 
图4 支 持模型编 辑检查和转 换的O A o l D MT os  

资金 , 而后再 次扮演 B yr ue 角色来购买商品 .   首先 , 识别 和抽象 出构成 系统 的各个 角色 , 并通 过 



2 期  A

毛新军 : 自适应 网构软件 的集成 开发环境 S D   AE

2  1  l

继承角色抽象类对角 色加 以实现 . 在本案 例 中 , 我们设 
计 了四类角色 , 包括 :Vso” “ ue” “ ee” “ a— “ it 、B yr、 Slr和 M n ir l  
a er g ”
.  

其次, 识别和分析 系统 中所 需要的 网构软件 A et gn,  
定义网构软件 A et gn 的属 性 , 并进 行初 始化 设 置 ( 指定 

网构软件 A et gn要绑定 的角色 的路 径 , 略配置文 件和  策 初始 策略名 )本案例 中的 A et , gn 类图如 图 5 所示 .  

图7 网上交易 系统运行 结果 

5 结 论 和进 一步 工作 
近年来 , 何支持 复杂 、 如 自适应 网构系统 的开发 成 
为人们 关注 的一项 重 要研 究课 题 . 现有 研 究方 向之一  是基 于对象技 术 , 通过 反射 机 制实 现 自适 应 网构 软件  系统 的开发 . 而 , 于对 象 固有 的静 态 特性 , 种技  然 由 这

匡 
所示 .  
1 pa cIa口 e  ex i L 2 t_‘ m rt ● x●  3 / /P。 … n ●e

… 一…    
图5 网上 交易 系统的A e t 图  g n类

术并 不能很 好的适合动 态和 开放环 境下 自适 应 系统 的  实现 . 另一个研究方 向是基 于软件体 系结 构技术 , 这种  技术着重关 注 系统 整 体 的 自适 应 , 通过 对 软件 体 系结  构 中的部件 和连结子 的增 加 、 删除 、 替换实 现系统 的 自   适应 . 研究 方 向之 三是借 助软件 A et 术 , 过 A et gn 技 通 gn   在运行期 间转换 角 色或 类 型实 现 系统 的 自适 应 . 件  软 A et gn 技术 被 视 为 开 发 动 态 、 杂 软件 系统 的有 效 泛  复 型 l A et 1 gn 的环境驻 留性和行 为 自主性 能够 有效支 持   ,
自适应性和 自演化 性 .  
 

最后 , 使用 S D A L定义 网构 软件 A et 自适 应 自 gn 的  
演化策略 . 在本案例 中 , 我们将具 有 自适应能力 的 A et gn   抽象为 Pw r lgn, 自适应 自演 化策 略描述 如 图 6 o e u et fA 其  

le 5  

le  cri cC ol er ce .,cr a#e 口ie s ; t  ̄   ic C口 珊 rc | _   r0 1…   j  

1  e暑 .t1t  …  

fu 1^ 

}  e s 0rd    0e 口y  ● .●口e n‘ 0 .P… = £u1A g眦 ;  

 ̄x a ̄ ple , . le cc ̄ icC 0r … t Ⅲ   Tr● des m tt 口  1 t    

5p ro gru

6  , 
e 

/ /A; en c  
- tra t ̄

oin s

, _is  #口 r  ini tia ily   i…


1 n1 tSt rat ̄

r t ,o in (     V

’j
#  

’  
… … 0 … Ⅲ …

W ^i t  t//A g 

r  r

9  1o 
11   

w he n  ‘ sEⅣ IcE  Ev ENt ‘ Se 11 , B o0 k’ , f       de aa tiv at  ‘ i ito r, j , 口in ‘ V   8u ye£ ,; } }      
4 tra t ̄ 3  B uy  t f  

当前有关 自适 应 网构 软件 系统 的研 究往 往将 高层  的分析和设计 与 底层 的实现 独立 开 发 , 乏 统一 的 机  缺 制、 方法学和语 言设 施 来 系统 地 支持 自适 应 网构 软 件  系统的开发 . 方 法学 层 面上 , 们做 了很 多 的努力 , 在 人   取得 了许多成果 _J 但是 , l  .   高层 的 自适 应描述 和分 析 
往 往缺乏底层 的实现 支持 . 针对这 一 问题 , 我们 开展 了 

1:  

/ /^g e } b  ^d s e0    





5 r oi e f or b uy  

g 00d 

: 3
1{  

’ b   c NT RN r?n z g A _Ⅳ 哪 l

( ? of — L ck M

y   u e#'  f ,   )  

if  t e1 f - 0od 0To Bu y . enQ th >O  , 口 1

15  
I6  
i々   ,  

‘ ‘ se1 1er 8uN ∞ qN D ) t    
d eaQ  ̄lv -te  8 uve  C
’  

;,o in ‘ s  1  

r' j  

l8  

1 9
z0  

’h n ‘ N m   re j TE
lf

_:EN t ur  ̄s Ov r, Bu er)  { I 一 t P ch e e 、 y ’  
’ o) {    

‘ e1 f . , 口0 0d ●To 8u y , eng th  ̄

2   i 22  
23   2{   }  

de sc tlv ^te  B uy#  'j t ct l r te ‘ i ¥^… t   、a V } e 1●e ‘ q Ⅱ lt ‘ u  e '; q 口 It ( … B   V
■t r t● — r 3t 11  { a _      

,;  

 

)j

, }  

25   26  

//A  en # w he n ‘X ̄

0^a  口 ㈣
_

rol 

c0 p f _p…

=0  buy  d  di ^  f  

EVE NT  S ale Ove = , Z ̄ ll er' , t

2’  
2 
2g    }  

if  ‘ 8  ve r0 I ^ cT IrE LY一 ∞ 叮 ND , t 挂    
tt ‘ 5e 11e  ,_ 丑 ct iv^ te  8uy e# ’; ’ } I      
,/ 。f p r。 0… T ad es m te 口   i  

网构软件 自适应和 自演化 的关 键技术研究 , 提出了支持  网构软件 系统开 发 的方 法 学 O A 和支 撑环 境 S D . DM A E 
不 同 于 已 有 的 方 法 , 们 的 研 究 成 果 具 有 以 下 一 些 特  我

3 o'  

图 6 o fuAg n的 自适 应 策 略    P we l e t

点 :1基于 A et () gn 和组织抽象来对 自适应 和 自演化 网构  软件系统 进行 分析 和设计 ;2 提 出了支持 对 自适 应 和  () 自演化进行描述 、 析和构造 的动态绑定机 制 ;3 主张  分 ()

系统 运 行 界 面如 图 7所 示 , 中左 上 角 的 A et 其 gns   Lt i 展示 了当前 系统 中 的所 有应 用相 关 A et用户 双  s gn, 击右 上角的带有角色名 的图 片可 以添 加初始 绑定该 角 

色的 A et我们 规 定初 始 绑定 Vso 角色 的 A et gn, it ir gn 为 
Pw r lgn. 面的每 一栏从 左至 右分别 展示 了 A et o e u et fA 下 gn   的名字 , 当前加 入的角色 以及 A et 与交易 和 自适 应  gn参

将 自适应逻辑和业务逻辑相 分离 , 出了 自适 应逻辑描  提 述语言 S D ;4 开发了一组集成 的软件工具集合 , A L() 来支  持 自适应 和 自演化 网构软件的分析 、 设计和实现 .  
基于文 中提 出的网构软件 系统开发 的方法学 O A   DM 和支撑环境 S D , A E 我们实现 了网上交 易系统 、 垃圾清理 

动作执行 的信息 , 色 图片背 景 为灰 色说 明该 角色 当  角 前处 于非活跃状态 .  

系统等 自适应软件系统 . 这些开发 实践和应用 案例的分  析说明了上述开发方法和支撑 环境的可行性 和有效性 .  

22 1 

电 

子 

学 

报 

21 O0年 

未来将在以下方面进一 步展开研 究 : 在机制 层 , 自适  对

d sg     l- d pie a e tsrtg   e ci t n l g a e a d e in o s fa a t   g n  tae d s rpi  a u g   f e v y o n n  

应机制进 一 步扩充 , 支持更 多类 型 的 自适应 软件 的 开  发; 并对系统演 化过 程 中出现 的 冲突 问题进 行深 入研  究, 提出更为优化的解决方案 ; 在应用层 , 我们希望通过  更多的、 系统所处环境更为复杂 的案例 的分析 和研究来  验证我们工作 的有效性 .  
参考文献 :  

h i l n tn o A L cm ir J . c Ee r i   t   pe eti   fS D   o pe [  A t  l t n a e m m ao l J a co c Sn a20 ,7 4 :5 9 (  h e ) ii , 9 3(A)6 —6 .i C i s   c 0 n ne
【0  . ei mi , C i , Pg iadG. i s .J D : 1JF B lf n G.a eA.og,n  Rmas : E A  le e r a A

w i a r ]Tl o  aa a  u aE P20 ,() he p [ .e cmIl  b or l X , 333 : tp e J e tiL J n   0  
6— 1   9.

11  R. ni sA  gn-ae  poc o ud gcm l   1j N. J n g . naet s a rahfr ii  o pe e n b dp b ln x

sf r yt s A] C mm n ao  fA M [ . e   owa ss m [ . o ui tn o  C t e e ci C] N w
Yo k: r ACM , 0 2 01.5 —41. 3  

[] 芙清 , 1杨 梅宏 , 吕建等 . 浅谈软件技术 发展 [] 电子 学报 , J.  
20 ,0 1A) 10 —1 9  02 3 (2 :9 1 9 . 0
Ya g F qn M e  ng,  in,ta . o ed susin o     n   u- ig, iHo LU Ja e 1 S m   ic so   nt he

12  h m s Ja , en S rn .   t m e frIeiet   jT o a u L o  tl g A Me - o l o n lgn  l n ei a d   tl A at eMu ? gn S sm     pnE v omet[ . dp v  l A et yt i O e  i n n Aj i i t   e n s n r s  

dvl met f o w r  cnl y J . c  l t n aSn— ee p n    f a t hoo 【JA t Ee r i  ii o o st ee g a co c   c ,02 3 (2 :9 1 9 9 (   h ee  a20 ,0 1A) 10 —10 .i C i s) n n

Po . f A S C . e   o : C 20 .04 05  rcO A MA [ ]N w Y r A M,03 1 —12 . k 2
【3  ua C m zi, r c  a oeiD an  i  dpi   1 jL c  e uz Fa o Zmbnl. elg wt A at e n l i h v Mu - gn O gnzt n    eG i Me oo g l .   l A et rai i si t   a   t ly A] A- i t   ao n h a h o d
gn Oi t   ota  E g er g I   . e e r, et rne Sf r ni i  V   CJ H i l g  - e d w e n n l db e
S rn e   ri  0 5. 0 p ig rBe l 2 0 1 9— 1 3. n 2  

[]吕建 , 2 马晓星 , 陶先平 , 徐锋 , 胡吴 . 网构软件的研究与进展  []中国科学 E辑信息科学 , 063 (0 :07 00  J. 20 ,6 1)13 ~18 .
Lii ,  i x g T ox ni , ufn , uho Ient t a Max oi ,a i p g X   g H  a . t e   jn a n a n e nr — w r: s rhadpor s J . c nei  h a( ee  )  aer e c n rg slJ Si c  C i Sr sE , ea e e n n i 20 ,6 1) 13 —18 .i h e ) 063 (0 :07 00 (nC i s   ne

作者 简 介 
毛新军 男,90年生 于浙江 江山 . 士 , 17 博  

[jUt-ag-cl S smsT eS f r h l g f eF — 3  laLreSa  yt : h owa C ae eo   u  r e e t e ln h t
trl .o w r nier gIste C rei Meo  n   ueRJS f a E gnen   tu , a g   H nU i t e i n it n e —
vest 2 0   ri y, 0 6.

教授 , 博士生导师 , 中国计算机学会会员 . 感兴趣 
的方 向包 括 : 向 A et 面 gn 的软 件工程 、 新颖软 件  开发学 、 布计算技术 、 分 软件体系结构 和模式等 .  
Em i  ̄ a@n d. u a  - al m o ute .n : d

[]吕建 , 4 陶先平 , 马晓星 , 昊 , 锋 , 胡 徐 曹春 . 于 A et 基 gn 的网 

构软件模 型研 究 [ ] 中国科 学 E辑 信 息科 学 ,05 3  J. 20 ,5
(2 :23—15 . 1) 13 23 

Lii , a  i p g Ma x oi , u ho X  eg C o ij T o xa i ,   i x g H   a, u fn , a   a n nn a n

cu . naet ae  f a   o e frn me r[]S i h nO  gn bsds t r m dl o  t t e J .c   - ow e   ie wa —
ec    h a( ee  )20 ,5 1) 13 —15 .i C i n i C i Sr s ,05 3 (2 :2 3 23 (   h   en n i E n . ns) e   e
l jG r nD, hn    , un     R i o A cic r   5  aa  C egS W H ag A C. a bw: rhet e l n t u-
李学斯 男 ,94年 3月 出生 于吉林 梅河  18 口. 国防科学技术大 学计 算机学 院硕士生 , 研究 
方向为软件工程 、 A et 多 gn 系统 .  
E mal ls ma @ 1 3. o - i:x a o 6 e m 

bsdslaatinwt  ual i rsut e J . o pt a   f dpao  i r s e n a rc r[ ]C m u— ee - t he b f t u  
e ,0 4 3 ( 0 :6 4  r2 0 ,7 1 ) 4 —5 .

[]王干祥 , 6 申峻嵘 , 梅宏 . 自适应软件初 探 []计算机科 学 , J.  
2 0 3 (0) 1 8—1 1  0 4。 1 1 :6 7.

Wa gQ a -i g S e   n mn , i o g A it d c o 0 n i x , h n u - g Me H n . n nr u t nt n a n J o i  

e aat es t r  J C m ue Si c, 04 3 (0 : s g dp v  f a l . o pt   c ne 20 , 1 1 ) l i ow e J r e  

尹俊文

男 ,99年生 . 16 国防科学技 术大学 计算机学 院副教授 ,  

18 7 .i C iee  6 —11 (   h s) n n
IJXnu  o L u  hn , o gZ u J Wag T e aate 7  i nMa , in Sag H n  h ,i n . h dpv  j j   i

研究方 向为软件工程 .  
Em ijy @nd.d .n -al wi : n uteu e 

cs si m cai frdvl i   l-gn ss m [ ] at h   eh s o  ee p gmu aet yt e p n m  on i t   e J. s  
I tr a o a o r a  fC mp trAp f ain  n Te h oo y  ne n t n l un lo   o ue   p c t s i  c lg , i J i o n

董孟高

男 ,99年生于陕西 高陵. 17 国防科学技术大学计算机学 

院博士生 , 研究方 向为软件工程 , A et 多 gn 系统 .  
E— i: d n @ n d . d . a mal mg o g u te u c 

20 3(/ )1 0 8,1 1 2 :7—3   4.

【 Xn n o JWagE g er gA ate l —gn Ss m   8  i u  ,   n .ni e n  dpv  taet yt s J j Ma i ni i Mu i   e
wt O A Me oo g Rj Poed g o  r a 20 , i   D M  td l yl . rcei s fP m   07 h h o   n  i  
LNAI Sp n e - rlg Be l   ieb r 2 0 3 0— 3 5. , r g rVe a   r i Hed le g, 0 9. 8 i n 8  

胡翠云

女,95年生于河南辉县 . 18 国防科学 技术大学计算机学 

院博士生 , 研究方 向为软件工程 、 A et 多 gn 系统 .  
E ma l h y 6 1 - i: e 5 3 6@ 1 3. o   6 cr n

[]郝小雷 , 9 董孟高, 毛新军 , 齐治 昌. 自适应 A et gn 策略描述语 
言的设计及编译器实现[ 电子学报 ,093(A : — 9  . 20,74 )6 6 . 5  
H oXal , ogMega , oXnu , i h hn . e a  i e D n  ngo Ma  i nQ  i ag T   oi j Zc h





男,92 18 年生于云南 曲靖 . 国防科 学技术大学计算机学 

院硕士生, 研究方 向为软件工程 、 A et 多 gn 系统 .  
E ma l w bn u t 1 3.o   i : u i  n d @ 6 t m