法律状态公告日
法律状态信息
法律状态
2016-01-13
授权
授权
2013-10-23
实质审查的生效 IPC(主分类):G06F9/44 申请日:20130513
实质审查的生效
2013-09-18
公开
公开
技术领域
本发明属于计算机技术领域,更进一步涉及系统集成领域和人工智能领域中的一 种基于Agent的动态演化系统及方法。本发明可用于系统集成领域中,尤其是用户需 求和环境不断变化的系统中,满足用户开发动态集成演化系统需求的一种系统及其方 法。
背景技术
随着系统的不断发展,系统规模和复杂性在不断增大,从而促使大规模系统的开 发不再是一切从零开始,而是充分利用已有的可用资源进行系统集成,将集成单元进 行“粘结”,实现它们之间的互用和互操作,满足应用需求。传统的集成方法大多属 于静态集成范畴,多在系统集成开发设计阶段,以修改系统代码方式实现各集成单元 的通信和协作,该类集成方式易于实现,但针对某些难以或不允许修改代码的情况, 系统集成很难实现。系统的动态集成是指其集成构造在系统运行阶段进行,不必修改 代码即可实现系统在不停机的情况下,依据集成需求对集成单元进行动态增删并动态 更改集成单元的集成逻辑,能够更灵活处理需求和环境变化带来的系统集成问题。
西安电子科技大学拥有的专利技术“基于Agent的动态集成开发平台系统和方法” (申请号:200910219441.X,授权公告号:CN 101710281 B)公开了基于Agent的动 态集成开发平台系统和方法。该发明包括主控平台和非主控平台。该系统提供一种基 于Agent的动态集成开发框架,模型和方法,应用Agent技术降低了集成系统的耦合 度。该专利技术存在的不足是,当集成需求变化的时候,需要用户手动切换集成脚本, 系统不能自主实时应对,并且系统不能自主应对环境变化,只能通过用户实时监控。
北京航空航天大学拥有的专利技术“一种基于多Agent的分布式推演仿真系统与 方法”(申请号:201010220225.X,授权公告号:CN 101908085 B)公开了一种基于 多Agent的分布式推演仿真系统与方法。该发明基于多Agent的分布式推演仿真系统 包括数据通信链路、推演配置与统计分析计算机、环境信息管理计算机、环境主控系 统计算机和分布式推演Agent计算机。该系统可以实现自主感知战场环境状态、自主 决策和行为输出,是具备可扩充特性并具有通用性的作战仿真系统。该专利技术存在 的不足是,由于系统中所有分布式推演Agent计算机单元只能接受上层环境的任务, 并且如果有需求变动,系统需要停止运行,重新设置参数,导致不能实时应对复杂的 战场环境。
南京大学所申请的专利“一种基于事务的构件在线演化方法”(申请号: 201010530576.0,申请公开号:CN 101963913 A)公开了一种基于事务的构件在线演 化方法。该方法通过扩展现有构件容器,增加演化管理器、通信器、依赖器以及事物 管理器等部件,建立基于多构件事务状态的构件演化管理的方法,实现了构建模型的 开放性,并且管理用户可以通过控制器动态修改构件状态的方法,从而增加软件系统 的服务、安全性和扩展性。但是,该专利申请仍然存在的不足是,系统中的构件仅支 持由用户实时控制的在线演化,不能自主应对环境变化。
发明内容
本发明的目的在于克服上述已有技术的不足,提供一种基于Agent的动态演化系 统及方法,以适应用户集成需求和系统环境的变化,提高系统的自适应性,实现系统 的动态演化。
本发明的具体思路是:利用Agent技术将集成单元封装为自主运行的实体,通过 自适应控制和脚本解释技术根据用户需求和系统环境变化动态下发集成规则,动态改 变集成单元功能,从而实现系统动态演化。
为实现上述目的,本发明提供的基于Agent的动态演化系统,包括由全局管理工 具、本地管理工具、开发工具组成的主控计算机,以及由本地管理工具、开发工具组 成的多台非主控计算机。
所述的全局管理工具,包括能力注册中心、Agent管理工具、公共消息黑板、控 制集成工具以及环境监控工具;该能力注册中心分别与公共消息黑板和集成控制工具 进行交互,用于存储系统中部署的Agent的能力信息;该Agent管理工具用于管理系 统中部署的Agent的地址信息和状态信息;该公共消息黑板与能力注册中心、Agent 进行交互,用于实现合同网协议;该控制集成工具与能力注册中心进行交互,用于解 释集成脚本、生成集成规则,利用集成规则绑定服务Agent之间的协作关系,控制系 统的集成过程;该环境监控工具与控制集成工具进行交互,监控系统环境的变化,用 于配置演化规则,控制系统的演化过程。
所述的本地管理工具,用于管理本地Agent,配置系统运行时的环境信息和提供 消息传输服务。
所述的开发工具,包括脚本设计工具和Agent包装工具;该脚本设计工具用于设 计集成脚本,对集成脚本进行词法、语法、流程的检查;该Agent包装工具用于Agent 的开发,生成具有知识规则的功能Agent和服务Agent。
所述的环境监控工具包括传感器模块、演化规则库、演化规则解释模块;该传感 器模块用于向用户提供传感器定制功能,所定制的传感器在运行时获取服务Agent 模块的协作信息,生成环境变化信息;该演化规则库用于向用户提供演化规则定制功 能,结合传感器模块和脚本设计工具产生的集成脚本,制定演化规则;所述的演化规 则解释模块用于在运行时解释演化规则,调用集成脚本,将集成脚本发送至控制集成 工具。
所述的功能Agent包括Agent自治线程、消息队列、消息处理器、协作引擎、规 划调度器、状态监控、投标管理器、能力库、环境信息库、知识规则库以及知识规则 引擎;该Agent自治线程通过Agent库管理工具进行初始化,与消息处理器和状态监 控模块进行交互,用于处理接收到的消息和维护自身的状态;该消息队列与消息处理 器进行交互,用于缓存发送和接收的消息;该消息处理器与协作引擎进行交互,用于 处理接收到的消息;该协作引擎与投标管理器和规划调度器进行交互,用于控制Agent 之间的协作过程;该规划调度器用于调用能力库中的能力,完成设定的任务;该状态 监控用于监控自身状态的变化;该投标管理器用于管理投标过程;该能力库用于保存 功能Agent的能力信息;该环境信息库与消息处理器进行交互,用于获取系统环境信 息;该知识规则库用于存储通过环境变化信息动态绑定集成单元知识规则;该知识规 则引擎与环境信息库、知识规则库和能力库进行交互,用于更新功能Agent能力信息。
为实现上述目的,本发明基于Agent的动态演化方法,包括如下步骤:
(1)分析系统集成需求和演化需求:
1a)用户分析系统集成需求和演化需求,确定集成单元的数量、能力接口信息以 及集成单元之间的交互关系。
(2)包装部署Agent:
2a)用户根据步骤(1)确定的集成单元的能力接口信息,利用Agent包装工具对功 能Agent和服务Agent进行包装,生成功能Agent的定义文件、能力组件以及服务 Agent的定义文件;
2b)将包装后的功能Agent和服务Agent部署到系统中。
(3)编写集成脚本并分发集成规则:
3a)用户根据步骤(1)确定的集成单元之间的交互关系,利用脚本设计工具编写集 成脚本;
3b)将集成脚本分别加载到环境监控工具以及控制集成工具;
3c)控制集成工具解释集成脚本,生成集成规则并分发给系统中所有的服务 Agent。
(4)集成系统:
每个服务Agent根据步骤3c)下发的集成规则绑定与其它服务Agent间的协作关 系,完成系统集成。
(5)定制演化规则:
5a)用户利用传感器模块设置传感器,接收服务Agent间的消息;
5b)用户制订环境变化信息,并结合步骤3b)加载的集成脚本,在演化规则库内 定制能通过环境变化信息切换集成脚本的演化规则。
(6)执行任务:
6a)向参与任务的服务Agent发送启动命令,服务Agent接受到命令后,根据集 成规则自主与其它服务Agent开始协作;
6b)在执行任务期间,当集成需求发生改变时,系统通过脚本的动态切换策略和 动态招标策略实现动态集成;当集成需求未发生改变时,系统继续执行任务;
6c)当环境监控工具获取到用户制订的环境变化信息时,系统通过全局演化策略 和局部演化策略实现动态演化;当环境监控工具未获取用户定制的环境变化信息时, 系统继续执行任务。
(7)完成任务:
当用户发出任务完成指令后,向参与任务的服务Agent发送停止命令,服务Agent 接受到命令后,停止运行。
本发明与现有技术相比具有如下优点:
第一,本发明在基于Agent的动态演化系统中包含了环境监控模块,将系统环境 变化抽象,使系统可以通过环境监控模块向用户提供传感器定制功能并制定演化规 则,用户可以根据自身需求特点配置环境信息,克服了现有技术不能对复杂环境信息 进行动态处理的缺陷,提高了本发明系统的自主性和友好性。
第二,本发明通过开发工具中的Agent包装工具,使包装后的功能Agent增加了 环境信息库、知识规则库和知识规则引擎,并通过系统的局部演化策略,实现了对集 成单元的灵活绑定,克服了现有技术在系统运行中功能Agent不能动态绑定集成单元 的缺点,使得本发明的系统可以适应当前复杂的运行环境,增加了本发明系统的可靠 性和灵活性。
第三,本发明基于Agent的动态演化系统,通过全局演化策略实现动态切换脚本, 克服了现有技术只能由用户手动切换脚本的问题,使本发明系统可以按照用户需求配 置来自主的运行,提高了本发明系统的自适应性和智能性。
第四,本发明的方法实现了系统的多层次演化,即将系统的自适应演化划分为全 局演化策略和局部演化策略,全局演化策略控制系统的整体协作关系,局部演化策略 控制系统集成单元功能变化。克服了现有方法只能满足单一演化策略的情况,使本发 明系统更能满足用户实际的演化需求。
附图说明
图1为本发明的系统结构示意图;
图2为本发明动态演化方法的流程图;
图3为本发明功能Agent包装步骤的流程图;
图4为本发明部署功能Agent结构框图。
具体实施方式
下面结合附图对本发明做进一步的详细描述。
参照附图1,本发明的基于Agent的动态演化系统,包括由全局管理工具、本地 管理工具、开发工具组成的主控计算机,以及由本地管理工具、开发工具组成的多台 非主控计算机。本发明支持动态演化系统的设计、构建和运行阶段,将用户需求转化 为一个可在运行时根据需求变更和环境变化动态演化的系统。
全局管理工具,包括能力注册中心、Agent管理工具、公共消息黑板、控制集成 工具和环境监控工具;该能力注册中心分别与公共消息黑板和集成控制工具进行交 互,用于存储系统中部署的Agent的能力信息;该Agent管理工具用于管理系统中部 署的Agent的地址信息和状态信息;该公共消息黑板与能力注册中心、Agent进行交 互,用于实现合同网协议;该控制集成工具与能力注册中心进行交互,用于解释集成 脚本、生成集成规则,利用集成规则绑定服务Agent之间的协作关系,控制系统的集 成过程;该环境监控工具与控制集成工具进行交互,监控系统环境的变化,用于配置 演化规则,控制系统的演化过程。
本地管理工具,用于管理本地Agent,配置系统运行时的环境信息和提供消息传 输服务。
开发工具,包括脚本设计工具和Agent包装工具;该脚本设计工具用于设计集成 脚本,对集成脚本进行词法、语法、流程的检查;该Agent包装工具用于Agent的开 发,生成具有知识规则的功能Agent和服务Agent。
环境监控工具包括传感器模块、演化规则库、演化规则解释模块;该传感器模块 用于向用户提供传感器定制功能,所定制的传感器在运行时获取服务Agent模块的协 作信息,生成环境变化信息;该演化规则库用于向用户提供演化规则定制功能,结合 传感器模块和脚本设计工具产生的集成脚本,制定演化规则;所述的演化规则解释模 块用于在运行时解释演化规则,调用集成脚本,将集成脚本发送至控制集成工具。
参照附图2,本发明提供的基于Agent的动态演化方法,包括如下步骤:
(1)分析系统集成需求和演化需求:
用户分析系统集成需求和演化需求,确定集成单元的数量、能力接口信息以及集 成单元之间的交互关系。
(2)包装部署Agent:
用户根据步骤(1)确定的集成单元的能力接口信息,利用Agent包装工具对功能 Agent和服务Agent进行包装,生成功能Agent的定义文件、能力组件以及服务Agent 的定义文件。
将包装后的功能Agent和服务Agent部署到系统中。
(3)编写集成脚本并分发集成规则:
用户根据步骤(1)确定的集成单元之间的交互关系,利用脚本设计工具编写集成脚 本;将集成脚本分别加载到环境监控工具以及控制集成工具;控制集成工具解释集成 脚本,生成集成规则并分发给系统中所有的服务Agent。
(4)集成系统:
每个服务Agent根据步骤(3)下发的集成规则绑定与其它服务Agent间的协作 关系,完成系统集成。
(5)定制演化规则:
用户利用传感器模块设置传感器,接收服务Agent间的消息;用户制订环境变化 信息,并结合步骤(3)加载的集成脚本,在演化规则库内定制能演化规则。
(6)执行任务
向参与任务的服务Agent发送启动命令,服务Agent接受到命令后,根据集成规 则自主与其它服务Agent开始协作。
在执行任务期间,当集成需求发生改变时,系统通过脚本的动态切换策略和动态 招标策略实现动态集成;当集成需求未发生改变时,系统继续执行任务。
当环境监控工具获取到用户制订的环境变化信息时,环境监控工具根据获取的环 境变化信息,将环境变化信息发送至功能Agent并调用演化规则库内的演化规则。系 统切换集成脚本并发送到控制集成工具,控制集成工具解释收到的切换集成脚本,将 生成的集成规则分发给参与任务的服务Agent,服务Agent接收到集成规则后,替换 已有的集成规则,利用接收到的集成规则重新绑定与其它服务Agent间的协作关系, 根据当前的集成规则继续运行,系统转向执行新的任务,系统通过全局演化策略实现 动态演化。功能Agent的环境信息库接收并保存环境监控工具发送的环境变化信息, 知识规则引擎调用环境信息库的变化信息,并根据知识规则库中的知识规则,切换绑 定的集成单元,改变功能Agent的能力,系统通过局部演化策略实现了动态演化。当 环境监控工具未获取用户定制的环境变化信息时,系统继续执行任务。
(7)完成任务
当用户发出任务完成指令后,向参与任务的服务Agent发送停止命令,服务Agent 接受到命令后,停止运行。
参照附图3,本发明的Agent包装工具对功能Agent包装的实现流程按如下步骤 进行:
第一步,新建功能Agent,编辑功能Agent的名称、IP地址、端口号和描述信息, 用来配置Agent通信参数和Agent的标识。
第二步,通过加载头文件或手动配置,提取所要包装的功能模块的接口信息,包 括接口名,输入输出参数个数、类型,为Agent能力配置提供必要信息。
第三步,根据上一步所提取的功能模块的接口信息,配置功能Agent的能力参数, 包括能力名、能力描述、参数规格信息,这些信息为Agent在运行时对能力组件的调 用提供了必要信息。
第四步,根据功能Agent的演化需求,编辑功能Agent知识规则,该知识规则主 要描述功能Agent在什么条件下,对功能模块中的哪些功能进行更改,具体包括触发 条件、触发逻辑、功能修改信息。
第五步,根据功能Agent的接口信息,编写可供调用的能力组件。以DLL组件为 例,通过包装工具启动集成开发环境,由用户根据功能接口编写、编译、生成相应的 COM组件。在组件编写完毕后,可以通过制定输入参数值对能力组件的输出进行测 试。如果测试成功,转下一步;如果失败则重新编写能力组件。
第六步,包装工具根据上述步骤所配置的信息生成XML形式的功能Agent的定 义文件,完成功能Agent的包装。
参考附图4,本发明的功能Agent结构包括自治线程、消息队列、消息处理器、 协作引擎、规划调度器、状态监控、投标管理器、能力库、环境信息库、知识规则库 和知识规则引擎;该Agent自治线程通过Agent库管理工具进行初始化和启动,与消 息处理器和状态监控模块进行交互,用于处理接收到的消息和维护自身的状态;该消 息队列与消息处理器进行交互,用于缓存发送和接收的消息;该消息处理器与协作引 擎进行交互,用于处理接收到的消息;该协作引擎与投标管理器和规划调度器进行交 互,用于控制Agent之间的协作过程;该规划调度器用于调用能力库中的能力,完成 设定的任务;状态监控,用于监控自身状态的变化;该投标管理器用于管理投标过程; 该能力库用于保存功能Agent的能力信息;该环境信息库与消息处理器进行交互,用 于获取系统环境信息;该知识规则库用于存储能通过环境变化信息动态绑定集成单元 知识规则;该知识规则引擎与环境信息库、知识规则库和能力库进行交互,用于更新 功能Agent能力信息。
本发明为动态演化系统的设计、构建和运行提供了方法、工具和环境的支持,帮 助用户实现一个动态演化的系统。该发明结合Agent和自适应控制技术,实现了集成 系统的动态切换,解决了用户需求和环境不断变化下系统的演化问题。
机译: 基于动态网格演化的地表水与地下水综合建模方法与系统
机译: 一种基于Agent的动态信息系统创建新方法
机译: 一种基于Agent的动态信息系统创建新方法