基于线性规划的构件优选机制研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:100624710(2010)022*******
基于线性规划的构件优选机制研究
王怀军1
,李军怀1
,张璟1
,楼文晓
2
(1.西安理工大学计算机科学与工程学院,陕西西安710048;
2.西安市软件推进中心,陕西西安710075)
摘要:针对特定领域构件组装的特点,重点探索了构件组装过程中的优选机制。将组装中构件选
择问题转化为在一组线性约束条件下目标函数优选的数学问题,利用回溯法求得最优解,进而确定用于系统组装的构件。该机制可以避免组装后对系统的反复验证,提高构件复用的准确性和效率。同时,也降低系统组装者对领域知识的要求。关键词:构件组装;线性规划;回溯法中图分类号:TP311.52 文献标志码:A
Research on Com ponen t O ptima lM echan ism Ba sed on L i n ear Programm i n g
WANG Huai 2jun 1
,L I Jun 2huai 1
,Z HANG J ing 1
,LOU W en 2xiao
2
(1.Faculty of Computer Science and Engineering,Xi ’an University of Technol ogy,Xi ’an 710048,China;
2.Center of Xi ’an Soft w are Pr omoti on,Xi ’an 710075,China )
Abstract:W ith an ai m at component asse mbly characteristic in s pecific domain,an op ti m al mechanis m
is discussed with e mphasis in the asse mbly p r ocess in this paper,which transf or m s the p r oble m of the components op ti m izati on int o a mathe matical p r oble m of the op ti m izati on for the objective functi on under a gr oup of linear constraints,and a backtracking methodol ogy is used t o obtain the op ti m al s oluti on .W hereby the components utilized in the syste m assembly are deter m ined .This mechanis m can avoid the repeated tests of the syste m after the asse mbly s o that the accuracy and efficiency of the components can be i m p r oved .Mean while the require ments for the domain knowledge by the syste m asse mbly operat ors can be reduced .
Key words:component compositi on;linear p r ogra mm ing;backtracking
收稿日期:2009210217
基金项目:国家863计划重点资助项目(2007AA010402);西安市高新技术产业发展专项基金资助项目(GX07026);西安
市科技计划资助项目(LD0704)。
作者简介:王怀军(19812),男,硕士,助教,研究方向为服务计算。E 2mail:hj w ang006@ 。
李军怀(19692),男,教授,博士,研究方向为分布式计算,W eb 服务及应用。E 2mail:lijunhuai@xaut .edu .cn 。
基于构件的软件开发是软件工业化发展的趋势,是提高软件生产效率、节约生产成本的有效途径。但是随着互联网构件资源使用的增加,被集成构件之间存在不匹配的可能性随之增大,如体系结构不同就意味着构件间的互作用方式各异等[1]
。
研究实践表明,软件复用在特定领域内更容易获得
成功
[2]
。特定领域下的构件组装具有以下特点:组
装系统具有本领域固定特性和变化性,构件之间存在更多约束条件,相似功能可能存有多个候选构件。在组装过程中采用人工方法选取构件,难免会出现错误。
当前的构件组装方法,主要包括基于CC M 的方
法[3],基于连接器模型的方法
[4,5]
,基于X ML 的方
法
[6]
等,系统组装是先由应用系统开发者,人工选
择合适的构件,根据数据、业务之间的关系等条件,进行构件组装,最后再根据约束条件等去验证组装的合理性。目前的研究的重点集中在构件之间的匹配粘合方法,即如何建立不同构件之间组装的运行环境及它们之间的数据流、业务流连接方法,并且已经提出了诸多的解决方法。在这些方法中,很少关注待组装构件的自动选择问题,往往造成应用系统开发人员在组装前花费大量时间进行构件的甄别选择。本文针对构件组装前的候选构件优选问题,提出了一种基于线性规划的构件优选机制,可以有效
681 西安理工大学学报Journal of Xi ’an University of Technol ogy (2010)Vol .26No .2
协助组装者快速确定不同功能所需要的候选构件,提高整个构件组装的效率。
1 领域构件组装方法分析
1.1 领域构件模型
构件作为软件复用的关键技术之一,它具有规
范的接口规约和显式的语境依赖。其模型对构件组装方法的研究起着至关重要的作用,构件模型是构
件技术的核心内容[7]
。一般地,领域构件包括构件实体和构件文法描述。其中,构件实体包含构件属性、构件服务接口、构件引用接口等;构件文法描述即为<构件关系集合,服务接口集合,引用接口集合>描述文档。在构件文法描述中,构件关系集合即为构件所依赖的构件集合和与该构件互斥的构件集合;服务接口集合即为该构件对外提供的服务接口;构件引用接口集合则是该构件所引用其他构件服务的接口。1.2 领域构件组装的关系分析
在领域构件的组装开发中,构件之间的基本关
系包括并行、依赖和互斥三种基本关系[8]
,如图1所示
:
图1 构件之间的三种基本关系
Fig .1 Three basic relati onshi p s a mong components
通过图1中对两个单引用、单服务构件关系的分析,可以很容易将现实中多引用、多服务接口的构件按照上述关系的原则去组装。当然,在系统组装的过程中,关注较多的是依赖组装关系和互斥组装关系。
1.3 领域构件组装抽象模型
为了解决构件优选问题,本文采用一个四元组来定义领域构件组装抽象模型
[9]
:
领域构件组装抽象模型四元组,是根据组装容
器所有构件的描述文档中抽象出的组装模型,它展
现了容器中所有构件的特征,以及构件之间的关系。元组中各元素含义如下:
1)CPS 为可能构成系统的一组构件的集合,即CPS ={CPS 1,CPS 2,…,CPS n }。CPS 中的每一个
CPS i 为一个三元组,设为〈CPS Service ,CPS Q uote ,O PT 〉。
其中,CPS Service 表示服务接口的集合,CPS Q uote 表示引用接口的集合,O PT 值为0或1表示是否选中该构件。
2)M us 描述领域中必须出现的构件的集合,可表示为M us ={CPS i |CPS i ∈CPS }。
3)A lt 描述领域中具有关系构件的集合,即
A lt ={A lt 1,A lt 2,…,A lt k },其中每个A lt i
为一个集
合,该集合为A lt i ={CPS i j |CPS i
j ∈CPS },表示集合中的构件为互斥关系。
4)D ep 描述领域中具有依赖关系构件的集合,
即D ep ={D ep 1,D eo 2,…,D ep m },其中每个D ep i 为一个二元关系,表示为D ep i ={〈CPS i ,CPS j 〉|CPS i ∈CPS,CPS j ∈CPS },代表CPS i 依赖于CPS j 。
5)除上述描述的集合之外,其他情况下,都将构件之间的关系视为并行关系。
2 构件优选机制
为了利用领域构件组装抽象模型进行指导构件的组装开发,本文使用了线性规划模型,采用数学优
选的方法来解决这一问题[10]
,即将确定候选构件的问题转换为线性规划问题。2.1 构件优选问题的转换
给定一组变量{x 1,x 2,…,x n },在该组变量上的一组线性约束条件和相应的目标函数就构成了线性规划问题,即需寻找满足约束条件且使目标函数获得最优值(最大或最小值)的一组解。在此,假定
领域构件组装模型中有n 个构件,则定义〈x 1,x 2,
…,x n 〉表示相应的构件是否被选中,其中x i 取值为1表示CPS i 被选中,取值为0表示CPS i 未被选中。
在领域构件组装模型中所描述的特性将被形式化为一组领域约束条件,而一个系统的用户需求也会被形式化为一组需求约束条件,然后可以将某个需求约束转变为决定目标函数。
文中采用CPS all 来表示组装容器中的n 个构件,CPS i 表示第i 个在CPS all 中的构件,x i 表示对应构件的选择变量。2.1.1 形式化领域约束
对于第1.2节所述的领域构件关系特性,可以
采用下列方式进行形式化[9]
:
7
81 王怀军等:基于线性规划的构件优选机制研究