第5卷第4期 智能系统学报 Vol.5 No.4 2010年8月 CAAI Transactions on Intelligent Systems Aug.2010 doi:10.3969/j.issn.16734785.2010.04.014 可拓策略生成系统的构件化设计与实现 叶广仔,李卫华2,李淑飞 (1.东莞职业技术学院计算机工程系,广东东莞,523808;2.广东工业大学计算机学院,广东广州,510006) 摘要:将可拓学的基本理论和可拓工程的方法运用到防治空气污染的策略生成当中,并通过计算机实现了关于地 区性二氧化硫浓度矛盾问题的可拓策略生成系统.系统利用面向构件的开发技术,通过Java EE5架构,把JSP、Se- let、EJB等技术相结合,大大增加了系统的可重用性和可维护性 关键词:可拓学;策略生成;构件化 中图分类号:TP30文献标识码:A文章编号:16734785(2010)04036606 The design and implementation of extension strategy Generation system based on components YE Guang-zai',LI Wei-hua2,LI Shu-fei (1.Department of Computer Engineering,Dongguan Polytechnic,Dongguan 523808,China;2.Guangdong University of Technology, Guangzhou 510006,China) Abstract:Applying the basic theory of the Extenics and the method of extension project to the strategy generating system for air pollution prevention.It presents the process of implement the extension strategy generating system on computer to solve the regional S02 concentration contradiction problem and shows the running results.The system applies the component-oriented development of technology.Through the platform of Java EE 5,it combines the JSP,Servlet,EJB,and other technologies,and greatly increases its reusability and maintainability. Keywords:extenics;strategy generating;componentization 可拓策略生成系统)(ESCS)把可拓技术和现 模拟人类的思维模式,用形式化、定量化方式生成解决 有的人工智能技术、数据库技术、可视化技术等相结 不相容问题的策略的一种方法.它基本思路是: 合,为决策者提供合适的方案,是一种解决不相容问 1)建立核问题模型 题2的工具但可拓策略生成系统的实现还处于初 通过人-机对话界定不相容问题的目标、条件 期阶段,要实现一个比较完善的,可重用性和可维护 以及一些衡量参数:如最优值、量变区域和质变区域 性高的可拓策略生成系统是当前研究的重点.因此, 等指标,然后用基元5)表示体系建立核问题的可拓 引入以构件化的开发方式来实现可拓策略生成系统 模型. 的各业务流程组件,在开发过程中,使用Java EE5 2)核问题相容度计算 构件,以面向构件的软件开发方法,来实现可拓策略 建立关联函数,通过计算,判定核问题不相容的 生成系统核问题模型的建立模块、策略生成模块、以 程度.相容度如果为非负数则问题相容:如果为负数 及策略评价模块,使系统具有更大的灵活性和复用 则问题不相容. 性,使其能通过构件的替换来满足不同用户的需求 和业务功能的变化需求。 3)不相容问题的拓展分析 对不相容核问题模型的条件基元进行相关分 1可拓策略生成方法 析,建立问题的相关树「山;然后对相关树的树叶(基 元)进行发散分析。 可拓策略生成方法]是以可拓学4]为理论基础, 4)问题的可拓变换 对发散分析后的叶子节点进行置换变换,再根 收稿日期:2009-1215. 基金项目:国家自然科学基金资助项目(60974136) 据传导变换,形成传导变换的蕴含树.由可拓变换和 通信作者:yuanl886@163.com. 传导变换形成的树,通常称为可拓策略生成树
第4期 叶广仔,等:可拓策略生成系统的构件化设计与实现 .367. 5)策略的优度计算 辑划分系统的功能模块,主要使用EB3.06]中的 对变换后的问题再次进行相容度计算,若其相 Entity Bean来实现数据库中表的建立及维护;并通 容度由负数变成非负数,则此可拓变换或者变换的 过EJB3.0中Stateless Session Bean及Stateful Ses- 运算为解决不相容问题的可拓策略.最后根据优度 sion Bean来实现系统的业务功能模块, 的大小,正数值越大策略的优度越高,从而取得较优 2.1系统的四层架构设计 的策略 本文通过JavaEE5架构[),实现一个基于构件 的可拓策略生成系统.这一系统使用MVC的开发模 2可拓策略生成系统功能模块的构件化设计 式,把JSP、Servlet、.EJB等技术结合起来.通过数据 本文所实现的可拓策略生成系统有一下特点: 库中的表与Entity Bean相互映射,Entity Bean的操 1)系统使用的设计模式为MVC模式:以EJB 作实现对数据库中表的操作.如图1所示,描述了本 组件实现应用的业务逻辑,由JSP页面产生应用的 系统4层结构(Application Client Container、.Web 表示面,由Servlet提供应用的处理过程控制. Container、EJB Container、Database)的B/S架构下通 2)本系统基于构件来实现,根据系统的业务逻 过浏览器访问数据库的流程 一第1层一 Browser (KI) (9) JSP Engine Superiority_Evaluatin,jsp 第2层 (8) JB''0] Servlet Enging showSWTAction.class (1 (2) Superiotiy (3) Session Bean EJB Containe SO2 DP SWConditionDAOBean.class (1) Evaluation.jsp (5】 第3层 Java Persistence APl S02 DP SWCondition.class Persistence provider ru (7 EJB annotated pojos JDBC API (6 elect swe from S02 DP SWCondition swc 第4层 DataBase 图1浏览器访问数据库中表的过程图 Fig.1 The process of Browser accessing database table 2.2使用Entity Bean实现类基元 的一个重要概念.根据对衡量条件的计算可以实现 下面以衡量条件类基元为例,介绍通过Entity 策略的优度评价,从而得出策略中优度比较高的策 Bean实现类基元的方法: 略.衡量条件类基元如图2所示: 衡量条件类基元是衡量策略优度的计算中用到
·368· 智能系统学报 第5卷 0 condition_name weigh_confficient 1 C2,t"2 quan_ch_interva |B}=({0},C, 2 = qual_chang_interval v Cn optimum_value 4 图2衡量条件类基元 Fig.2 The basic-element of weigh condition class 其中,{0}表示一类对象(物,动作或关系);c1, 对象O关于上述特征的相应量值,它对应数据库中 c2,…,cn表示对象0的n个特征,1,2,…,n表示 的表与EJB3.0构件中的实体Bean如图3所示: 1门修客 13◆@author root S02浓度问题衡量条件表 4* 5@Entity *S02 DP SWCondition) mysqb-describe s02 DP SNCondition: 02 p SWCoents Seriali ablet Field Type Null KeyDefault Extra 20*/ condition name varchar(50)NO PRI+ !private static final long serialversionUID-lL;/衡量条件名称 weigh coefficient,varchar(10)NO- private string condition_name; 权系数 privale string weigh_coetficient; /量变区间 private string qua /质变区间 private string optimum value: /最优值 5 rows in set(0.00 sec) Entity Bean S02 DP SWCondition表 图3SO2_DP_SWCondition表与Entity Bean间的映射图 Fig.3 The Mapping of the S02_DP_SWCondition table and the Entity Bean 2.3通过Session Bean实现业务功能 区间X,和X组成的区间套的位值3规定为 可拓策略生成系统中,经常要计算问题相容度, D(x,Xo,X)= 特别是计算核问题的相容度以及策略的优度.因此, rp(xX)-p(xX), p(x)≠p(x,)且x生, 本系统实现了一个基于初等关联函数的相关度计算 p(x,)-p(x,)+a-b,p(x,)≠px,X)且x∈X, 构件.下面以初等关联函数的计算构件为例,讲述了 a-b, p(x)≠p(x) 通过无状态会话Bean来实现初等关联函数的计算 (2) 过程. 3)设x为实轴上的任一点,X。=为实域 1.初等关联函数,主要公式如下: 上的任一区间,称 1)文献[3]中提到,根据量值的最优值在X。 中的位置,应选择对应的测距计算公式,譬如,当 )=-6 (3) X。=,x=a,则x与区间X的测距公式有: 为点x与区间X。之距山.其中既可为开区 ra-x, x,X=,XCX,且无公 Lx-b, x>d. 共端点,建立初等关联函数3]: 式中: a:=p:(a,a,Xo)= e号 (4) 0, a年Xo 与以上的4个公式对应的Session Bean实现如 a-b, a∈X, 图4和图5所示,它实现了初等关联函数的主要计 0☒(a-b),a生X且a∈X: 算.即“求解测距”函数实公式1)的计算,“计算位 关于最优值(a,生艺>,e,X=,且XCX,则点x关于 Session Bean.一个Session Bean至少有一个接口,其
第4期 叶广仔,等:可拓策略生成系统的构件化设计与实现 ·369· 它应用构件通过它获得服务.其中注释“@Remote”表 1)用户登陆及验证; 示它是一个远程接口,可以实现远程访问.“@State 2)核问题模型的建立; less”表示此Session Bean为无状态会话Bean,对于无 3)通过拓展分析与可拓变换生成策略; 状态(Stateless)的Session Bean,每次的请求都是被随 4)对策略进行优度评价, 机挑选的Session Bean实例来处理的, 3.3演示效果图 9 某地区A的现今大气S02浓度是0.07mg/L, ipatkage sisb import1awax.e,Rerete: 当地政府部门要求把地区的S02浓度控制在[0. 02,0.06]mgL这个范围之内,显然这是一个主观 写号·5语走祝议为到感喝为泉%件7·保 愿望与客观条件间的主客观矛盾问题,下面以降低 力过克后r5第司 地区SO2浓度的策略生成过程为例,介绍本系统策 略生成的过程, ootb.Loat c.oat ) 1)登录系统后,进入到问题模型界面,如图6 所示.用户可以通过下拉列表选择要解决的表层问 iceatngtringat 题.这里以污染问题为例,当用户选择“pollution 图4 DepFunDAO接口的实现 problem”提交后,如图7所示,用户就可以看见关于 Fig.4 The realization of DepFunDAO interface 所选表层问题的核问题选择下拉列表.以S02空气 污染问题为例,当用户选择“SO2 pollution_problem” 提交后,如图8所示,界面中会显示关于所选核问题 的一些默认参数:其中,如果核问题为:P。=g。* 1=(Zo,cas,X,)*(Zo,c,c(Z)),则Np_Zo表 示Zo,Np_Cos表示ca,Np_cot表示cot,Current_.con s pablic fLeat pifloat z.fleat a flcat b,float x,boolman flagl,boolean flagz]{ dition表示cw(Zo),Quan_ch_interval表示X,; lotp-8到 ogma @5a迁lg>a副 0年¥·: Problem Model elss p= 图6表层问题选择界面 图5 DepFunDAOBean的实现 Fig.6 Surface layer problem select interface Fig.5 The realization of DepFunDAOBean 3构件化可拓策略生成系统的实现 本系统开发的总体任务是通过使用Java EE5 Problem Model 框架,利用面向构件的开发方式实现一个可拓策略 er的mna 生成的系统.下面介绍系统开发的环境、系统业务逻 辑功能及演示效果图: 图7核问题选择界面 3.1系统开发环境 Fig.7 Kemel problem select interface 本系统的开发环境为 另外,因为本系统在计算问题相容度时使用初 操作系统:Linux2.6.21-1.3194.fc7(386); 等关联函数,即公式为k(x)=p(x,xo,X)/D(x, 开发平台:eclipse3.2[8][; X,X),其中: JDK版本:Java SE6; x=Current_condition(Unit),%=Optimum_value 数据库服务器:MysqL5.0; Unit), 应用服务器Jboss4.21o1 Xo=Quan_ch_interval(Unit),X=Qual_ch_in- 3.2系统功能 terval(Unit). 本系统的主要业务功能划分如下 2)当设置核问题的参数(如图8所示)并提交
·370 智能系统学报 第5卷 后,用户就可以得到核问题的可拓模型(如图9所 3)进入核问题相关分析界面(图10)后,用户可以看 示),及其相容度.如图7所示,其中,核问题的可拓 见针对核问题的初始状态相关树,其中各个节点都 模型是: 是一个基元.用户可以在初始状态相关树中选取叶 Poo=goo loo=(area_A,S02_density_target,[0. 子节点作发散分析,如图11所示,在发散分析树中, 02,0.06]mg/L)*(area_A,S02_density_condition, 各个节点都有相应的下拉列表,它们分别对初始状 0.07mgL),其相容度为K(P)= 态相关树中选取叶子节点进行发散分析的结果.用 -0.12500003<0.由于核问题的相容度小于0,所 户可以在各个下拉列表中选取用于置换初始态的物 以用户所设置的核问题为不相容问题,也就是矛盾 元,根据可拓变换(Extension transformation)类型进 问题.为了得到解决问题的策略,用户可以从拓展分 行可拓变换,这里以置换变换(Replacement transfor-- 析列表中选取一种对核问题的拓展分析方法,本文 mation)为例,提交后,用户可以得到针对核问题可 以相关分析为例,选取Correlation_Analysis.提交后, 拓变换后的状态树及其相容度,如图12所示.如果 就可以进入核问题的拓展分析与可拓变换页面(图 可拓变换后核问题的相容度大于0则此可拓变换能 10). 使核问题从不相容问题转换成相容问题,即此可拓 变换为解决不相容核问题的策略.然后按优度分析 (Superiority evaluation)按钮进入优度评价页面(如 Problem Model 图13)所示 .比 :cat可 Extension Analysis and Transformation . 乎 图8核问题默认参数显示界面 Fig.8 Kemel problem default parameters interface 图11置换变换界面 Fig.11 Replacement transform interface Problem Model an cerens Extension Analysis and Transformation 0-329 mm8溜02心 “系高 图9核问题的可拓模型显示界面 Fig.9 Kernel problem on the extension model display interface 心 Extension Analysis and Transformation 图12策略生成界面 Fig.12 Strategies generated interface 4)进人优度评价界面(图13),用户可以看到一 图10相关分析界面 个关于策略优度评价的衡量条件表.用户可以根据 Fig.10 Correlation analysis interface 实际情况设定策略的衡量条件参数值.在计算策略 的优度时,式(2)中的等于optimum_value列中的
第4期 叶广仔,等:可拓策略生成系统的构件化设计与实现 ·371· 值,X,等于quan_ch_interval列中的值,X等于qual_ [3]杨春燕,蔡文.可拓工程[M].北京:科学出版社, ch_interval列中的值.式(4)中的k等于weigh_coef- 2007:P201-211 ficient列中的值.提交设置好的参数后,用户就可以 [4]蔡文,杨春燕,何斌.可拓逻辑初步[M].北京:科学出 得到策略的优度值,如图14所示.当优度值大于0 版杜,2003:133-138 时,策略可取,值越大,策略越优;当优度值小于等于 [5]蔡文,杨春燕,陈文伟,等.可拓集与可拓数据挖掘 [M].北京:科学出版社,2008:22-28 0时,策略不可取,值越小,策略越差 [6]黎活明.EJB3.0实例教程[M].北京:北京传智播客教 育科技有限公司,2007:87-204. Superiority Evaluation [7]李绪成,腾英岩,闫海珍.Java EE5实用教程-基于 盆二篇公一三产点门 WebLogic和Eclipse[M].北京:电子工业出版社,2007: *射 2-7. [8]张大治,应群.精通Eclipse[M].北京:清华大学出版社, 图13策略衡量条件参数设置界面 2006:271-412. Fig.13 Set of parameters to strategy weigh condition interface [9]Berthold Daum.李化,李政仪,译.Eclipse3高级编程 [M].北凉:清华大学出版社,2006:115-171. [10]张洪斌.JBoss平台上的Java EE程序开发指南[M] Superiority Evaluation 北京:清华大学出版社,2007:137-264. 作者简介: 叶广仔,男,1981年生,助教,硕士研究生,研究方向: aeot,理 智能软件 图14策略的优度评价界面 Fig.14 Strategy superiority evaluation interface 4结束语 正如文献[1]指出:“现在的人工智能的知识表 李卫华,女,1957年生,教授,博士,研究方向:面向A 现方法无法描述处理矛盾问题的过程,然而,可拓学 ent计算、网络信息系统、智能软件等 与人工智能相结合,并用计算机处理矛盾问题,这对 提高人类智能和机器智能都有重大的意义.”可拓 策略生成系统的特点是根据可拓工程方法生成可以 解决矛盾问题的策略,本系统把可拓技术与人工智 能技术、数据库技术、面向构件技术等多种技术结合 在一起进行策略生成,能够得到传统软件决策系统 李淑飞,女,1974年生,讲师,硕士,研究方向:计算机 无法生成的可拓策略,提供给人们解决空气污染问 技术 题时参考.目前该系统是B/S架构,基于4层结构 (Browser、.Web Container、EJB Container、.Database)t的 可拓策略生成系统(ESGS),系统构件的可重用性和 可维护性较好.同时系统使用了Java EE5架构,因 此也适合于中小系统的开发,通过EJB3.0,可以容 易地开发出所需构件,有利于以后进一步完善可拓 策略生成系统及其开发, 参考文献: [1]李立希,杨春燕,李铧议.可拓策略生成系统[M].北 京:科学出版社,2006:2-146 [2]蔡文.可拓集合和不相容问题[J].科学探索学报, 1983,3(1):83-97