第10卷第6期 智能系统学报 Vol.10No.6 2015年12月 CAAI Transactions on Intelligent Systems Dec.2015 D0L:10.11992/is.201507043 网络出版地址:http://www.cnki.net/kcms/detail/23.1538.tp.20151110.1354.022.html 基于可拓学的自适应软件形式化方法 范锐,彭银桥1,陈月峰1,雷桂斌,刘小辉 (1.广东海洋大学软件学院,广东湛江524088:2.广东海洋大学财务处,广东湛江524088) 摘要:可拓学的核心是建立灵活变通地应对不确定变化和灵感涌现的适应性模型。讨论引人可拓理论去描述、分 析和评价软件系统的自适应性质、范围和程度的可能性。用基元描述软件实体,将软件系统构造成基元网,利用拓 展分析、可拓变换和优度评价等定性与定量相结合的方法揭示了自适应软件系统的动态性质,并形成了一种自适应 软件形式化方法。 关键词:可拓学:可拓基元:拓展分析:可拓变换:优度评价:形式化方法:自适应软件 中图分类号:TP311文献标志码:A文章编号:1673-4785(2015)06-0901-11 中文引用格式:范锐,彭银桥,陈月峰,等.基于可拓学的自适应软件形式化方法[J].智能系统学报,2015,10(6):901-911. 英文引用格式:FAN Rui,.PENG Yinqiao,CHEN Yuefeng,etal.A method for self-.adaptive software formal modeling by Extenics [J].CAAI Transactions on Intelligent Systems,2015,10(6):901-911. A method for self-adaptive software formal modeling by Extenics FAN Rui',PENG Yinqiao',CHEN Yuefeng',LEI Guibin',LIU Xiaohui2 (1.Software School,Guangdong Ocean University,Zhanjiang 524088,China;2.Finance Department,Guangdong Ocean Universi- ty,Zhanjiang 524088,China) Abstract:The core of extenics is to set up adaptability mathematic model which can flexibly cope with uncertain change and inspiration springing up.The feasibility of introducing the theory of Extenics to describe,analyze and e- valuate the self-adaptive nature,scope and extent about the software system was discussed.First,the basic-element description software entities were used to construct the software system into basic-element net,then the dynamic na- ture of self-adaptive software system was revealed by combining the qualitative and quantitative methods of extension analysis,extension transformation,and superiority evaluation,etc.,initially establishing a formal method of self-a- daptive software. Keywords:Extenics;basic-element;extension analysis;extension transformation;superiority evaluation;formal method;self-adaptive software 软件自适应是指为了保证持续、高质量地提供 有的研究和实践进行综述给出软件自适应的概念内 服务,软件在运行时检测环境变化和自身状态,据此 涵,概述软件自适应活动在感知、决策、执行各环节 对自身行为进行主动调整的活动。自适应软件 上的特征分类,阐述面向自适应软件构造、关注程度 能够评估自身的行为,当评估显示其自身并非正接 较高的一系列使能技术,进而在分析典型研究项目 近所倾向完成的目标,或其有可能提供更好的功能 现状的基础上,给出自适应软件构造领域的未来主 或性能时,软件改变自身的行为)。文献[1]对已 要研究趋势。文献[3]从计算机科学视角对许多自 适应软件相关论文的研究分析,总结并指出自适应 收稿日期:2015-07-28.网络出版日期:2015-11-10. 基金项目:广东省科技计划资助项目(2014A040402010). 系统新的观点、概念、方法和新的挑战,特别强调了 通信作者:范锐.E-mail:fanrui@gdou.cdu.cm
第 10 卷第 6 期 智 能 系 统 学 报 Vol.10№.6 2015 年 12 月 CAAI Transactions on Intelligent Systems Dec. 2015 DOI:10.11992 / tis.201507043 网络出版地址:http: / / www.cnki.net / kcms/ detail / 23.1538.tp.20151110.1354.022.html 基于可拓学的自适应软件形式化方法 范锐1 ,彭银桥1 ,陈月峰1 ,雷桂斌1 ,刘小辉2 (1.广东海洋大学 软件学院,广东 湛江 524088; 2.广东海洋大学 财务处,广东 湛江 524088) 摘 要:可拓学的核心是建立灵活变通地应对不确定变化和灵感涌现的适应性模型。 讨论引入可拓理论去描述、分 析和评价软件系统的自适应性质、范围和程度的可能性。 用基元描述软件实体,将软件系统构造成基元网,利用拓 展分析、可拓变换和优度评价等定性与定量相结合的方法揭示了自适应软件系统的动态性质,并形成了一种自适应 软件形式化方法。 关键词:可拓学;可拓基元;拓展分析;可拓变换;优度评价;形式化方法;自适应软件 中图分类号: TP311 文献标志码:A 文章编号:1673⁃4785(2015)06⁃0901⁃11 中文引用格式:范锐,彭银桥,陈月峰,等. 基于可拓学的自适应软件形式化方法[J]. 智能系统学报, 2015, 10(6): 901⁃911. 英文引用格式:FAN Rui, PENG Yinqiao, CHEN Yuefeng, et al. A method for self⁃adaptive software formal modeling by Extenics [J]. CAAI Transactions on Intelligent Systems, 2015, 10(6): 901⁃911. A method for self⁃adaptive software formal modeling by Extenics FAN Rui 1 , PENG Yinqiao 1 , CHEN Yuefeng 1 , LEI Guibin 1 , LIU Xiaohui 2 (1. Software School, Guangdong Ocean University, Zhanjiang 524088, China; 2. Finance Department, Guangdong Ocean Universi⁃ ty, Zhanjiang 524088, China) Abstract:The core of extenics is to set up adaptability mathematic model which can flexibly cope with uncertain change and inspiration springing up. The feasibility of introducing the theory of Extenics to describe, analyze and e⁃ valuate the self⁃adaptive nature, scope and extent about the software system was discussed. First, the basic⁃element description software entities were used to construct the software system into basic⁃element net, then the dynamic na⁃ ture of self⁃adaptive software system was revealed by combining the qualitative and quantitative methods of extension analysis, extension transformation, and superiority evaluation, etc., initially establishing a formal method of self⁃a⁃ daptive software. Keywords: Extenics; basic⁃element; extension analysis; extension transformation; superiority evaluation; formal method; self⁃adaptive software 收稿日期:2015⁃07⁃28. 网络出版日期:2015⁃11⁃10. 基金项目:广东省科技计划资助项目(2014A040402010). 通信作者:范锐. E⁃mail:fanrui@ gdou.edu.cn. 软件自适应是指为了保证持续、高质量地提供 服务,软件在运行时检测环境变化和自身状态,据此 对自身行为进行主动调整的活动[1] 。 自适应软件 能够评估自身的行为,当评估显示其自身并非正接 近所倾向完成的目标,或其有可能提供更好的功能 或性能时,软件改变自身的行为[2] 。 文献[1] 对已 有的研究和实践进行综述给出软件自适应的概念内 涵,概述软件自适应活动在感知、决策、执行各环节 上的特征分类,阐述面向自适应软件构造、关注程度 较高的一系列使能技术,进而在分析典型研究项目 现状的基础上,给出自适应软件构造领域的未来主 要研究趋势。 文献[3]从计算机科学视角对许多自 适应软件相关论文的研究分析,总结并指出自适应 系统新的观点、概念、方法和新的挑战,特别强调了
·902· 智能系统学报 第10卷 计算机软件在自适应系统已成为主要元素,也强调 性。目前有许多的构件模型,例如,COM+、JB 了反馈控制技术和人工智能技术对自适应软件系统 CORBA等。支撑软件构件集成的软件体系结构研 的重要性。文献[4]从移动计算和普适计算的角度 究是随着描述大型、复杂系统结构的需要和开发人 总结、评价存在的自适应软件方法,重点在资源受限 员及计算机科学家在大型软件系统的研制过程中对 器件软件动态演化的解决方法的分析、评估和进展 软件系统理解的逐步深入而发展起来的)。业界 研究,并提出其发展趋势和挑战。文献[5-9]从自适 提出了Darwin、Wright、ACME、A-ADL、XYZ/ADL 应需求的原理和概念框架、自适应系统建模和模型 Tracer和ABC/ADL等软件体系结构描述语言,并使 演化机制、运行时系统自适应调节机制、社会的角度 用CRAM9、Z语言201、Pi演算[2.)、Bigraph2a-2 看软件的自适应等4个方面分别回答软件系统为什 等形式化方法试图准确描述软件体系结构。随着 么需要和如何拥有自适应能力问题。文献[10-14] Internet的普及,网构软件、网络式软件等新的软件 分别从不同角度进行了自适应软件系统模型的研 构件实体具有自治开放、动态演化等新的特 究。可拓学是研究事物的可拓性以及可拓规律与方 点[30]。但是,软件构件建模和形式化方法重点关 法,并用以解决矛盾问题的原创性学科。经过30多 注软件实体和由它们构造的软件系统为适应变化如 年的发展,可拓学在基础理论、形式化方法、行业应 何改变结构且保证行为的一致性,没考虑软件与环 用等方面都有长足进展,并逐步发展为可拓 境或需求不相适应而持续动态演化致使行为不一致 学5)]。它用形式化方法描述问题的目标和条件, 需要解决矛盾冲突的智能化变通策略。 建立核模型,用灵活多变的方法对问题进行拓展分 面向服务的软件工程(service-based software en- 析,用定量与定性结合的可拓变换推导出解决矛盾 gineering),以服务为软件实体,通过服务重用和快 问题的思路、知识和方法,最终生成创意或创新策 速组合构建随需应变的松耦合分布式系统[3]。核 略。它用“变不知为知”、“变错误为正确”、“变不行 心是SOA(service oriented architecture),它通过服务 为行”、“变不属于为属于”的变通思想,创造出了包 注册把服务提供者和服务请求者联系起来,形成动 括基本方法,创意生成方法,可拓数据挖掘方法和可 态松耦合的分布式系统。Wb服务组合技术将平 拓思维模式等可拓创新方法体系[)。可拓学用数 台独立、自描述、位置透明的软件模块进行组合,快 学模型来探索人类创新创意规律,并指导开发出能 速灵活地满足复杂多变的业务需求[3)。流行的服 够拓展智能、激发创新的可拓软件。应用这种灵活 务组合语言是BPEL4WS[)],而组合分析验证的工 变通地应对不确定变化和灵感涌现的适应性模型来 作有:文献[34]借鉴颜色Peri网的语义和面向对 探索自适应软件形式化建模方法应是一条新的研究 象思想,提出WS-Net模型,使验证更容易。文献 路径。 [35]引入基于BPEL4WS的BPE演算。使用PAC 工具和CWB-NC工具来建模和验证Wb服务协作。 1相关工作 文献[36]用Pi演算作为服务组合的形式化表示。 当前研究自适应软件最活跃的自适应实体是构 基于服务的软件系统构造成为了当前软件开发的主 件、服务和智能体技术。构件通过对外提供接口实 流。虽然,服务技术克服了构件实体面对多平台,多 现软件系统的组装,服务通过组合构造更大、更松散 协议、多设备的nternet复杂环境,由于紧偶合、细 的构件,智能体通过外界感知、智能推理和行为优化 粒度等缺点不能胜任分布式、异构性、非稳定的网络 去响应外界的变化和用户的需求。建立模拟灵活变 计算的困难。但是,服务是典型的被动实体,没有自 通智能的软件模型,包括独立自治、动态演化的软件 治、智能特性,当然更没有灵活变通的解决矛盾问题 实体以及由它们智能聚合的软件系统,从来就是软 的可拓智能。 件学术界和工业界的研究热点。 软件Agent具有的自主性、反应性、能动性、社会 基于构件的软件工程(component--based software 性等特点,是解决软件构件技术不足的新途径。基 engineering),目的在于借鉴其他制造工业的产品零 于Agent的软件工程(agent-based software engineer- 配件组装生产方式,通过零配件的分工生产和组装 g)取得了许多研究成果[.39。中国科学院计算技 来大幅度提高生产力,提高满足不同用户不同需求 术所智能科学课题组开展包括智能主体、机器学习、 的灵活性。软件构件的内部封装、接口交互、动态替 神经计算,认知科学以及相关应用研究[;国防科 换等特性极大地提升了软件系统适应变化的灵活 技大学开展了面向主体软件开发研究[4)、基于智能
计算机软件在自适应系统已成为主要元素,也强调 了反馈控制技术和人工智能技术对自适应软件系统 的重要性。 文献[4]从移动计算和普适计算的角度 总结、评价存在的自适应软件方法,重点在资源受限 器件软件动态演化的解决方法的分析、评估和进展 研究,并提出其发展趋势和挑战。 文献[5⁃9]从自适 应需求的原理和概念框架、自适应系统建模和模型 演化机制、运行时系统自适应调节机制、社会的角度 看软件的自适应等 4 个方面分别回答软件系统为什 么需要和如何拥有自适应能力问题。 文献[10⁃14] 分别从不同角度进行了自适应软件系统模型的研 究。 可拓学是研究事物的可拓性以及可拓规律与方 法,并用以解决矛盾问题的原创性学科。 经过 30 多 年的发展,可拓学在基础理论、形式化方法、行业应 用等 方 面 都 有 长 足 进 展, 并 逐 步 发 展 为 可 拓 学[15⁃17] 。 它用形式化方法描述问题的目标和条件, 建立核模型,用灵活多变的方法对问题进行拓展分 析,用定量与定性结合的可拓变换推导出解决矛盾 问题的思路、知识和方法,最终生成创意或创新策 略。 它用“变不知为知”、“变错误为正确”、“变不行 为行”、“变不属于为属于”的变通思想,创造出了包 括基本方法,创意生成方法,可拓数据挖掘方法和可 拓思维模式等可拓创新方法体系[17] 。 可拓学用数 学模型来探索人类创新创意规律,并指导开发出能 够拓展智能、激发创新的可拓软件。 应用这种灵活 变通地应对不确定变化和灵感涌现的适应性模型来 探索自适应软件形式化建模方法应是一条新的研究 路径。 1 相关工作 当前研究自适应软件最活跃的自适应实体是构 件、服务和智能体技术。 构件通过对外提供接口实 现软件系统的组装,服务通过组合构造更大、更松散 的构件,智能体通过外界感知、智能推理和行为优化 去响应外界的变化和用户的需求。 建立模拟灵活变 通智能的软件模型,包括独立自治、动态演化的软件 实体以及由它们智能聚合的软件系统,从来就是软 件学术界和工业界的研究热点。 基于构件的软件工程( component⁃based software engineering),目的在于借鉴其他制造工业的产品零 配件组装生产方式,通过零配件的分工生产和组装 来大幅度提高生产力,提高满足不同用户不同需求 的灵活性。 软件构件的内部封装、接口交互、动态替 换等特性极大地提升了软件系统适应变化的灵活 性。 目前有许多的构件模型, 例如, COM +、 EJB、 CORBA 等。 支撑软件构件集成的软件体系结构研 究是随着描述大型、复杂系统结构的需要和开发人 员及计算机科学家在大型软件系统的研制过程中对 软件系统理解的逐步深入而发展起来的[18] 。 业界 提出了 Darwin、 Wright、 ACME、 A⁃ADL、 XYZ / ADL、 Tracer 和 ABC / ADL 等软件体系结构描述语言,并使 用 CRAM [19] 、Z 语言[20] 、Pi 演算[21⁃22] 、Bigraph [23⁃26] 等形式化方法试图准确描述软件体系结构。 随着 Internet 的普及,网构软件、网络式软件等新的软件 构件 实 体 具 有 自 治 开 放、 动 态 演 化 等 新 的 特 点[27⁃30] 。 但是,软件构件建模和形式化方法重点关 注软件实体和由它们构造的软件系统为适应变化如 何改变结构且保证行为的一致性,没考虑软件与环 境或需求不相适应而持续动态演化致使行为不一致 需要解决矛盾冲突的智能化变通策略。 面向服务的软件工程(service⁃based software en⁃ gineering),以服务为软件实体,通过服务重用和快 速组合构建随需应变的松耦合分布式系统[31] 。 核 心是 SOA(service oriented architecture),它通过服务 注册把服务提供者和服务请求者联系起来,形成动 态松耦合的分布式系统。 Web 服务组合技术将平 台独立、自描述、位置透明的软件模块进行组合,快 速灵活地满足复杂多变的业务需求[32] 。 流行的服 务组合语言是 BPEL4WS [33] ,而组合分析验证的工 作有:文献[34] 借鉴颜色 Petri 网的语义和面向对 象思想,提出 WS⁃Net 模型,使验证更容易。 文献 [35]引入基于 BPEL4WS 的 BPE 演算。 使用 PAC 工具和 CWB⁃NC 工具来建模和验证 Web 服务协作。 文献[36]用 Pi 演算作为服务组合的形式化表示。 基于服务的软件系统构造成为了当前软件开发的主 流。 虽然,服务技术克服了构件实体面对多平台,多 协议、多设备的 Internet 复杂环境,由于紧偶合、细 粒度等缺点不能胜任分布式、异构性、非稳定的网络 计算的困难。 但是,服务是典型的被动实体,没有自 治、智能特性,当然更没有灵活变通的解决矛盾问题 的可拓智能。 软件 Agent 具有的自主性、反应性、能动性、社会 性等特点,是解决软件构件技术不足的新途径。 基 于 Agent 的软件工程( agent⁃based software engineer⁃ ing)取得了许多研究成果[37⁃39] 。 中国科学院计算技 术所智能科学课题组开展包括智能主体、机器学习、 神经计算、认知科学以及相关应用研究[40] ;国防科 技大学开展了面向主体软件开发研究[41] 、基于智能 ·902· 智 能 系 统 学 报 第 10 卷
第6期 范锐,等:基于可拓学的自适应软件形式化方法 ·903. 体技术的软件自适应动态演化机制研究2。但是, (直接或间接)连接的“点”(软件实体),以及“点” Agent并没有成为软件开发的主流技术,也不能够 之间的关系构成的集合。将自适应系统中各部分 构建可拓创新软件模型。 (“点”)的特征与相互之间的关系(“连接”)用网络 围绕研制具有灵活变通的可拓软件,提出了可 的形式表示出来,然后分析其特征和关系以及按需 拓信息-知识-智能形式化体系,提出了信息的基元 演化的理论方法就是自适应软件形式化方法。引入 表示方法、基于可拓规则的知识表示方法和策略的 可拓理论来研究和构建自适应软件形式化模型,首 形式化表示方法,为用计算机进行矛盾问题智能化 先用基元表示自适应软件系统的各层次软件实体, 处理构建了形式化工具[4)。研究者开发了一些获 建立基元网描述各层次软件实体间的关系:再用可 得发明专利、软件著作权以及会议展示的可拓软 拓拓展推理去扩展、挖掘和推导出各层次软件实体 件[1],研制了可拓策略生成系统,开发了一批可拓 以及它们之间关系的丰富语义;用可拓变换去分析、 策略生成软件[46]:研制了可拓数据挖掘软件,开 演算和评估软件实体演化对自身、对相关软件实体 发了可拓挖掘软件川。在可拓设计应用领域,应用 对构成网络的变化、趋势和程度:用关联函数定量计 可拓理论与方法对概念设计功能、原理、布局、形状、 算软件实体演化的趋势和程度以及对环境的影响趋 结构等上游设计知识进行形式化描述,提出一种基 势和程度:最后,结合丰富多样的创新创意方法去解 于多级菱形思维模型的复杂产品定性和定量相结合 决环境变化或用户需求变化导致软件系统不相适应 的设计方法,为概念设计的形式化和智能化提供了 的矛盾,生成应对变化的策略,通过最优评估,选出 新的途径[480]。研究可拓学与建筑设计的结合问 最佳策略执行,实现软件系统的动态演化。 题,将可拓策划方法应用于景观设计和建筑设计创 2.1智能服务构件要素基元化 新与可拓思维模式,进行了可拓建筑策划与设计的 用智能服务构件作为自适应软件实例来说明可 系统研究[s12)。研究智能知识管理,构建了企业自 拓形式化方法[o 主创新的可拓创新模型sa]。从软件构造角度就 把智能服务构件内部各层次软件实体以及它们 可拓策略生成系统的实现进行了研究。结合本体和 的关系用图1表示。然后用可拓基元B表示智能服 Agent建立不相容问题的策略生成、利用转换桥建 务构件内部是由D、接口I、控制C、事件E、目标G 立化对立为共存的策略生成,基于可拓集的可拓数 规划P、知识库K、服务S等软件实体组成。基于对 据挖掘、利用传导推理建立矛盾问题的转化等一批 其组成元素自适应性质进行分析、变换和评价的需 可拓创新智能化方法取得了进展s]。研究者利用 要,进一步细化了接口基元I、控制基元C、事件基元 知网增强策略生成[6]、用认知概念构建可拓变换结 E、目标基元G、规划基元P、知识库基元K和服务基 构】、研究过程基因基元化方法[]、基于可拓方法 元S等的内部结构。 构建社会网络等,从不同角度为可拓软件模型构 用可拓基元(事物,属性,属性值)三元组可以把 建提供了新的思路。 事物的质和量有机地结合起来去丰富其语义。通过 可拓学的目标是探索人类创新创意规律,并构 对基元反复细化,能够实现从分析到设计全过程形 建数学模型来指导开发拓展智能、激发创新的可拓 式化表示、分析、变换和控制。 软件。该文尝试把可拓学理论应用于自适应软件形 「智能服务构件标号 ID 式化建模中,从把自适应软件构造成基元网出发,利 接口 用可拓基元的拓展分析方法和共轭分析方法,分析 控制 C 自适应软件实体及他们之间关系的动态变化,利用 事件 E 可拓变换去探讨他们的动态演化性质、趋势和程度, 目标 G 并利用优度评价方法评价软件的自适应能力。通过 规划 P 这种新的理论与方法,可以用定性与定量相结合的 知识库 K 方法描述、分析、演化和评估自适应软件,为形式化 服务 建模提供一种新的方法。 「目标 标号 ID 子目标SG 2 自适应软件的可拓形式化方法 「事件 内部事件 E 自适应软件系统可以看作一组已经或有可能 外部事件 E2
体技术的软件自适应动态演化机制研究[42] 。 但是, Agent 并没有成为软件开发的主流技术,也不能够 构建可拓创新软件模型。 围绕研制具有灵活变通的可拓软件,提出了可 拓信息-知识-智能形式化体系,提出了信息的基元 表示方法、基于可拓规则的知识表示方法和策略的 形式化表示方法,为用计算机进行矛盾问题智能化 处理构建了形式化工具[43] 。 研究者开发了一些获 得发明专利、软件著作权以及会议展示的可拓软 件[16] ,研制了可拓策略生成系统,开发了一批可拓 策略生成软件[44⁃46] ;研制了可拓数据挖掘软件,开 发了可拓挖掘软件[47] 。 在可拓设计应用领域,应用 可拓理论与方法对概念设计功能、原理、布局、形状、 结构等上游设计知识进行形式化描述,提出一种基 于多级菱形思维模型的复杂产品定性和定量相结合 的设计方法,为概念设计的形式化和智能化提供了 新的途径[48⁃50] 。 研究可拓学与建筑设计的结合问 题,将可拓策划方法应用于景观设计和建筑设计创 新与可拓思维模式,进行了可拓建筑策划与设计的 系统研究[51⁃52] 。 研究智能知识管理,构建了企业自 主创新的可拓创新模型[53⁃54] 。 从软件构造角度就 可拓策略生成系统的实现进行了研究。 结合本体和 Agent 建立不相容问题的策略生成、利用转换桥建 立化对立为共存的策略生成,基于可拓集的可拓数 据挖掘、利用传导推理建立矛盾问题的转化等一批 可拓创新智能化方法取得了进展[55] 。 研究者利用 知网增强策略生成[56] 、用认知概念构建可拓变换结 构[57] 、研究过程基因基元化方法[58] 、基于可拓方法 构建社会网络[59]等,从不同角度为可拓软件模型构 建提供了新的思路。 可拓学的目标是探索人类创新创意规律,并构 建数学模型来指导开发拓展智能、激发创新的可拓 软件。 该文尝试把可拓学理论应用于自适应软件形 式化建模中,从把自适应软件构造成基元网出发,利 用可拓基元的拓展分析方法和共轭分析方法,分析 自适应软件实体及他们之间关系的动态变化,利用 可拓变换去探讨他们的动态演化性质、趋势和程度, 并利用优度评价方法评价软件的自适应能力。 通过 这种新的理论与方法,可以用定性与定量相结合的 方法描述、分析、演化和评估自适应软件,为形式化 建模提供一种新的方法。 2 自适应软件的可拓形式化方法 自适应软件系统可以看作一组已经或有可能 (直接或间接)连接的“点” (软件实体),以及“点” 之间的关系构成的集合。 将自适应系统中各部分 (“点”)的特征与相互之间的关系(“连接”)用网络 的形式表示出来,然后分析其特征和关系以及按需 演化的理论方法就是自适应软件形式化方法。 引入 可拓理论来研究和构建自适应软件形式化模型,首 先用基元表示自适应软件系统的各层次软件实体, 建立基元网描述各层次软件实体间的关系;再用可 拓拓展推理去扩展、挖掘和推导出各层次软件实体 以及它们之间关系的丰富语义;用可拓变换去分析、 演算和评估软件实体演化对自身、对相关软件实体、 对构成网络的变化、趋势和程度;用关联函数定量计 算软件实体演化的趋势和程度以及对环境的影响趋 势和程度;最后,结合丰富多样的创新创意方法去解 决环境变化或用户需求变化导致软件系统不相适应 的矛盾,生成应对变化的策略,通过最优评估,选出 最佳策略执行,实现软件系统的动态演化。 2.1 智能服务构件要素基元化 用智能服务构件作为自适应软件实例来说明可 拓形式化方法[60] 。 把智能服务构件内部各层次软件实体以及它们 的关系用图 1 表示。 然后用可拓基元 B 表示智能服 务构件内部是由 ID、接口 I、控制 C、事件 E、目标 G、 规划 P、知识库 K、服务 S 等软件实体组成。 基于对 其组成元素自适应性质进行分析、变换和评价的需 要,进一步细化了接口基元 I、控制基元 C、事件基元 E、目标基元 G、规划基元 P、知识库基元 K 和服务基 元 S 等的内部结构。 用可拓基元(事物,属性,属性值)三元组可以把 事物的质和量有机地结合起来去丰富其语义。 通过 对基元反复细化,能够实现从分析到设计全过程形 式化表示、分析、变换和控制。 B = 智能服务构件 标号 ID 接口 I 控制 C 事件 E 目标 G 规划 P 知识库 K 服务 S é ë ê ê ê ê ê ê ê ê ê ê ê ù û ú ú ú ú ú ú ú ú ú ú ú G = 目标 标号 ID 子目标 SG é ë ê ê ù û ú ú E = 事件 内部事件 E1 外部事件 E2 é ë ê ê ù û ú ú 第 6 期 范锐,等:基于可拓学的自适应软件形式化方法 ·903·
.904. 智能系统学报 第10卷 「接口 提供接口1,1 「规划 标号D 请求接口 2 前置条件 P P= 感知 Is 规划体 P2 I= 效应 L 后置条件P 属性 Is 「知识库规则K, 设置 16J 信念K2 K= 「控制 知识管理 c,7 本体K 事件管理 C2 领域 Ka 解释器 Ca 「服务 请求服务 S 7 C= 目标管理 Ca 提供服物 S2 S= 服务管理C 组合服务 S3 规划管理 Co 原子服务 Sa 执行 Ci 智能服务构件SC) 解释(C) 推理(C) 决策(C2) 目标管理(C4) 事件管理(C) 服务管理(C6) X 控制(C 接口) 设置(1) 知识库() 事件E) 规P) 目标G) 执行(C) 属性5) 本体(K) 子目标(SGm 感知) 环境(Env) 领域(K4 效应1) 信念(K) 服务(S) 规则(K) 原子服务S) 提供服务(S) 提供接口() 一一一 组合服务(S) 请求服务S2) 请求接口2) 图1智能服务构件(ISC)内部元素关系图 Fig.1 Intelligent service component relation 「关系x前项 B 2.2智能服务构件基元网及语义分析 后项 B 图论中用点之间的连线代表个体之间的关系, R,= 方向Direction 包括单向关系和双向关系。图1中2个基元B,与 程度 Extent B,之间的关系(图中的连接线)用关系元R表示。 2.2.1 静态语义分析 R,和R,表示单向关系,R,表示双向关系,x表示关 1)控制关系():控制C,控制C、C、C、 系名。关系的密切度可以用程度衡量,则图1的基 C、CC,等6个子控制,即,(C,(C,C2,C, 元关系可形式化表示为图2的基元网。它给出了智 C5,C6,C,)):而每一个子控制又分别控制K、E、G、 能服务构件丰富的关系语义。 S、P和(P,I),即,Rm(C,K),Rn(C2,E), 元(G,G),R(Cs), R(C,P)
I = 接口 提供接口 I1 请求接口 I2 感知 I3 效应 I4 属性 I5 设置 I6 é ë ê ê ê ê ê ê ê ê ê ù û ú ú ú ú ú ú ú ú ú C = 控制 知识管理 C1 事件管理 C2 解释器 C3 目标管理 C4 服务管理 C5 规划管理 C6 执行 C7 é ë ê ê ê ê ê ê ê ê ê ê ê ù û ú ú ú ú ú ú ú ú ú ú ú P = 规划 标号 ID 前置条件 P1 规划体 P2 后置条件 P3 é ë ê ê ê ê êê ù û ú ú ú ú úú K = 知识库 规则 K1 信念 K2 本体 K3 领域 K4 é ë ê ê ê ê ê ê ù û ú ú ú ú ú ú S = 服务 请求服务 S1 提供服物 S2 组合服务 S3 原子服务 S4 é ë ê ê ê ê ê ê ù û ú ú ú ú ú ú 图 1 智能服务构件(ISC)内部元素关系图 Fig.1 Intelligent service component relation 2.2 智能服务构件基元网及语义分析 图论中用点之间的连线代表个体之间的关系, 包括单向关系和双向关系。 图 1 中 2 个基元 Bi 与 Bj 之间的关系(图中的连接线)用关系元 Rx 表示。 R → x 和 R ← x 表示单向关系, R « x 表示双向关系,x 表示关 系名。 关系的密切度可以用程度衡量,则图 1 的基 元关系可形式化表示为图 2 的基元网。 它给出了智 能服务构件丰富的关系语义。 Rx = 关系 x 前项 Bi 后项 Bj 方向 Direction 程度 Extent é ë ê ê ê ê ê ù û ú ú ú ú ú 2.2.1 静态语义分析 1)控制关系( R « control ):控制 C3 控制 C1 、C2 、C4 、 C5 、C6 、C7 等 6 个子控制,即, R « control(C3 ,(C1 ,C2 ,C4 , C5 ,C6 ,C7 )) ;而每一个子控制又分别控制 K、E、G、 S、P 和 ( P, I), 即, R « control(C1 ,K) , R « control(C2 ,E) , R « control(C4 ,G) , R « control(C5 ,S) , R « control(C6 ,P) , ·904· 智 能 系 统 学 报 第 10 卷
第6期 范锐,等:基于可拓学的自适应软件形式化方法 ·905. R(C,(P,D)。 3)实现关系(,表示子目标SG,由服务 2)聚合关系(Rm):知识库K由K、K,、K3、 S来实现,即,Rm(SG,(S,i=1,2,…n)。 K,等4个知识元件组成,即,R(K,(K1,K2,K, 4)产生关系(Rim),表示事件E由接口I、 K,));目标G由若干子目标SG组成,即,知识库K、目标G、服务S以及规划P产生,即, R(G,(SG:,i=1,2,…,n);规划P由若干服 Raction(E,(I,K,G,S,P))。 务S:组成,即,Rseb(P,(S,i=1,2,…,k):组 5)输入关系(Rm),表示环境Env通过感知器 合服务S,由原子服务S4i,i=l,2,…,M组成,即,传入变化信息,即,R(L,Env)。 Rm(S3,(S4i,i=1,2,…,m);接口1由11、12、 6)输出关系(Rm),表示通过效应器L,去影 134、5l6等6个接口组成,即,Rm(1,(11,2, 响环境Env,即,Re(L,Env)。 I3,L4,I5,l6));环境Env由若千ISC:,i=1,2,…,l和 7)提供服务关系(Rpervice)通过接口I,与请求 许多Envj,j=1,2,…,p元件组成,即,Rmt(Evn, 服务的1SC,交互,即,Rm(山1,1SC,)。 (ISC,Evn,i=1,2,…,l,j=1,2,…,p))o 8)请求服务关系(Rm)通过接口,与提供 [K) K 服务的1SC,交互,即,Rm(山,l1SC,)。 C,(反oi)K夜.embe) 9)链接关系(尺,)表示提供或请求服务与相应接 K 口1之间的联系,即,R(1,S,)与R(山2,S)。 K 10)设置/得到关系(Rwe)表示通过1,接口, C,友nmi)E(RG 环境Env可以设置和得到ISC的属性值,即, R.ver(,Emv)。 C.尺ni)G夜am)SG(i=l,2-,n)尺mnmenS 11)配置关系(Rs)表示通过16接口,环境 S,(R Env可以进行sC动态配置,即,Rm(L6,Env)。 S2(R 2.2.2动态语义分析 C.()S() S.(R.S. 为了描述动态关系,引入事元A,下标x来表示 C,反n 动作名或功能名,其他属性有方法、工具、时间、地 S. 点、程度等根据需要进行取舍。用B,A,B表示基元 C(R)P(R)S B:施加动作或功能x给基元B。B,AB,AB,…B-1 P(RS AB.表示一系列基元B:依次施加一系列动作或 [l,瓦wn.IsC, 功能给B+1。另外,引入算子·、1、+等分别表示后 L,尺ame)[SC, 续、并行和选择等语义。 I依n)Env()》 ISC Env 动作x 支配象 B C,in)1依nai)l凤)Env( 「Isc. 施动对象 B Env 方法 Method I,仅t)Env [ISC, Ax 工具 Tool Env 时间 Time Env() ISC, 地点 Place Env 程度 Extent 图2智能服务构件基元网 Fig.2 Intelligent service component basic-elements net- 动态语义说明如下: work 1)解释器C3控制知识库管理器C,初始化知识
R « control(C7 ,(P,I)) 。 2)聚合关系( R ← assemble ):知识库 K 由 K1 、K2 、K3 、 K4 等 4 个知识元件组成,即, R ← assemble(K,(K1 ,K2 ,K3 , K4 )) ; 目 标 G 由 若 干 子 目 标 SGi 组 成, 即, R ← assemble(G,(SGi,i = 1,2,…,n)) ;规划 P 由若干服 务 Si 组成, 即, R ← assemble(P,(Si,i = 1,2,…,k)) ;组 合服务 S3 由原子服务 S4i, i = 1,2,…,M 组成, 即, R ← assemble(S3 ,(S4i,i = 1,2,…,m)) ;接口 I 由 I1 、I2 、 I3 、I4 、I5 、I6 等 6 个接口组成,即, R ← assemble(I, (I1 ,I2 , I3 ,I4 ,I5 ,I6 )) ;环境 Env 由若干 ISCi,i = 1,2,…,l 和 许多 Envj, j = 1,2,…,p 元件组成,即, R ← assemble(Evn, (ISCi,Evnj,i = 1,2,…,l,j = 1,2,…,p)) 。 图 2 智能服务构件基元网 Fig.2 Intelligent service component basic⁃elements net⁃ work 3)实现关系( R « implement ,表示子目标 SGi 由服务 Si 来实现,即, R « implement(SGi,(Si,i = 1,2,…,n)) 。 4)产生关系( R ← production ),表示事件 E 由接口 I、 知识库 K、目标 G、服务 S 以及规划 P 产生,即, R ← production(E,(I,K,G,S,P)) 。 5)输入关系( R ← input ),表示环境 Env 通过感知器 I3 传入变化信息,即, R ← input(I4 ,Env) 。 6)输出关系( R ⇀ output ),表示通过效应器 I4 去影 响环境 Env,即, R ⇀ output(I4 ,Env) 。 7)提供服务关系( R ⇀ pro⁃service )通过接口 I1 与请求 服务的 ISCs 交互,即, R « pro⁃service(I1 ,ISCs) 。 8)请求服务关系( R « req⁃service )通过接口 I2 与提供 服务的 ISCs 交互,即, R « req⁃service(I2 ,ISCs) 。 9)链接关系( R « link )表示提供或请求服务与相应接 口 I 之间的联系,即, R « link(I1,S1) 与 R « link(I2,S2) 。 10)设置/ 得到关系( R « set/ get )表示通过 I5 接口, 环境 Env 可 以 设 置 和 得 到 ISC 的 属 性 值, 即, R « set/ get(I5 ,Env) 。 11)配置关系( R « config ) 表示通过 I6 接口,环境 Env 可以进行 ISC 动态配置,即, R « config(I6 ,Env) 。 2.2.2 动态语义分析 为了描述动态关系,引入事元 Ax,下标 x 来表示 动作名或功能名,其他属性有方法、工具、时间、地 点、程度等根据需要进行取舍。 用 BiAxBj 表示基元 Bi 施加动作或功能 x 给基元 Bj。 B1A1B2A2B3…Bi-1 Ai-1Bn 表示一系列基元 Bi 依次施加一系列动作或 功能给 Bi +1。 另外,引入算子·、 | 、+等分别表示后 续、并行和选择等语义。 Ax = 动作 x 支配象 Bj 施动对象 Bi 方法 Method 工具 Tool 时间 Time 地点 Place 程度 Extent é ë ê ê ê ê ê ê ê ê ê ê ù û ú ú ú ú ú ú ú ú ú ú 动态语义说明如下: 1)解释器 C3 控制知识库管理器 C1 初始化知识 第 6 期 范锐,等:基于可拓学的自适应软件形式化方法 ·905·