一种软件体系结构建模和仿真系统的制作方法

文档序号:11154581阅读:699来源:国知局
一种软件体系结构建模和仿真系统的制造方法与工艺

本发明涉及计算机软件建模仿真技术领域,具体涉及一种基于层次化MAS软件体系结构建模和仿真系统。



背景技术:

多agent系统(MAS)是由多个agent组成的集合,他们的目标是要将大而复杂的系统建成由许多小的agent组成,且彼此能够互相通信与协调的易于控制和管理的系统。因此。基于多agent技术在解决复杂软件建模与仿真中发挥了它的优势,尤其在军用软件领域中有着很显著效果。但随着军队信息化程度的不断提高,现今的军用软件越来越智能化,与此同时军用软件本身的高复杂、运行环境的多变、节点的繁多、作战设备的分散等对现代军用软件系统的构建带来了很大的挑战,因此对于传统的多agent系统很难再达到现代军用软件的要求。再加上现代军用软件拥有大量个体行为与其之间的交互,这就大大增加了对这些软件系统行为分析与验证的难度。



技术实现要素:

为了解决以上现有技术中存在的问题,本发明提出了一种基于层次化MAS软件体系结构的建模与仿真系统,其可以构建出能应对软件复杂多变等特性的自适应软件模型。

本发明的目的是通过以下技术方案实现的。

一种软件体系结构建模和仿真系统,其特征在于,包括:建模模块,用于将输入的软件需求输出为层次化MAS软件模型,该模型作为仿真模块的输入;仿真模块,用于对输入的层次化MAS软件模型进行仿真,从而展示各个agent之间的交互行为。

优选地,建模模块包括:形式化建模语言设计单元、多agent行为结构建模单元以及环境建模单元。

优选地,形式化建模语言设计单元包括:刻画程序行为的操作语义子单元、刻画不同类型组件子单元、处理时间特征子单元、描述多维度物理信息子单元、刻画基于事件进行交互的表达能力的子单元、具有可组合与可拆分性的子单元。

优选地,多agent行为结构建模单元包括agent静态行为模块子单元和agent动态结构模块子单元,其中,所述agent静态行为模块子单元包括将集中控制融于多agent系统的分布系统中具备依赖关系的agent聚集在一起控制,将抽象粒度提高从而从不同抽象层次进行仿真;所述agent动态结构模块子单元包括利用面向对象Petri网OPN建立多agent的交互协议模型,建立自治的和自适应的agent结构模型;利用Petri网及扩展Petri网描述和分析MAS,基于功能与非功能目标对层次化MAS的软件体系结构进行建模,包括软硬件绑定协同化建模,软件调度方案建模;在环境变化时,Petri网描述层次化MAS的软件体系结构的初始化结构及动态行为,多个agent通过相互通信,调整自身行为,动态完成一个或者多个控制任务。

优选地,所述环境建模单元用于分析软件系统所依赖的环境条件集,将环境模拟为agent,在环境变化时通过agent的交互调整系统自身行为,动态完成一个或多个控制任务。

优选地,所述仿真模块包括可视化动态仿真工具单元、因素控制单元。

优选地,所述可视化动态仿真工具单元采用可计算模型应对层次化MAS中的不确定性因素,利用数学模型、行为模型及相关算法的综合集成,实现仿真程序的结构化功能模块,支持定性的或者定量的模型。

优选地,所述因素控制单元包括不确定性因素子单元、人机交互子单元以及仿真逻辑子单元。

优选地,所述不确定性因素包括随机性、模糊性、信息不完全性、歧义;所述所述人机交互包括推理、学习、自主决策、博弈,所述仿真逻辑的执行步骤包括系统辨识、设计概念模型、进行系统分析并设计模型架构。

本发明的优点在于:本发明公开的基于层次化MAS的软件体系结构建模与仿真系统在传统多agent软件体系上新增了层次化的设计模式,以功能为目标将软件功能与外部环境模块于统一架构内,完成了集分布式与集中式控制于一体的可应对动态环境变化的多层次MAS的自适应软件体系结构。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明基于层次化MAS的软件体系结构建模与仿真系统示例图。

图2是层次化MAS的模型示例图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,本发明公开一种软件体系结构建模和仿真系统100,包括:

建模模块110,将输入的软件需求输出层次化MAS软件模型,该模型作为仿真模块的输入;

仿真模块120,对输入的层次化MAS软件模型进行仿真,展示各个agent之间的交互行为。

其中,建模模块110包括:形式化建模语言设计模块单元、多agent行为结构建模单元(图中未示出)以及环境建模单元(图中未示出)。

其中,形式化建模语言设计单元采用严密的数学表达方式与准确的语义解释,对模型进行精确的无二义性的描述。该建模语言的设计具有刻画程序行为的操作语义子单元(对应于图1中的121)、刻画不同类型组件子单元(对应于图1中的112)、处理时间特征子单元(对应于图1中的时间特征111)、描述多维度物理信息子单元(对应于图1中的116)、刻画基于事件进行交互的表达能力的子单元(对应于图1中的115)、以及具有可组合性和可拆分性的子单元(对应于图1中的113)。操作语义刻画程序行为,用解释执行程序的抽象机器定义语言的语义。刻画不同类型组件,根据功能划分的不同,组件包括传感器、控制器、执行器、物理设备等等,例如军用软件所控制的设备都需要许多功能组件,并将它们抽象为agent,对它们进行划分。处理时间特征,层次化MAS软件系统同分布式系统有很多相似之处,每个agent都分布在不同的地方,独自完成各自的任务,同时也能够相互通信、相互协调,因此它们应当具备自己的时间信息。描述多维度物理环境信息,MAS系统中许多agent往往需要收集其所处环境的信息来与其它agent进行交互,所以刻画各类组件所关注的信息是必不可少的。刻画基于事件进行交互,基于事件的交互中隐含着同步,通常情况下,事件接收方等待事件的到来,待事件到来后才执行后续操作。事件的发送是单向的,与接受方的状态无关。事件是广播式的,它允许有多个接收方的存在。这些特点使得基于事件的系统更具灵活性,能够应对MAS系统复杂多变的环境并且能够支持各agent之间的实时互动。可组合与可拆分性,系统的模块化降低了复杂系统设计与实现的难度。因此,设计的建模语言能独立刻画任意一个功能模块,又能刻画各功能模块间的组合。同时复杂多变的环境有时会对某些agent造成一定的干扰,甚至可能还会造成部分功能的失效。因此,设计的建模语言还需要具备可拆分性,以支持层次化MAS模型拆分、模块替换等功能。建模语言的可组合性与可拆分性有助于多agent系统的分布式设计与模块重写,大大提高了这类系统的开发效率。

其中,多agent行为结构模块单元包括agent静态行为模块子单元和agent动态结构模块子单元,刻画系统的并发和分布特性。支持层次化agent建模,可进行不同层次的抽象描述,在必要时隐藏某些细节。如图2的层次化的MAS模型,将集中控制融于多agent系统的分布控制中,将具备依赖关系的agent聚集在一起控制,将抽象粒度提高从而可从不同抽象层次进行系统仿真与行为分析。例如针对agent之间的复杂交互,利用面向对象Petri网OPN建立了多agent系统的交互协议模型,从而可以更进一步地研究agent间的交互行为及其特征。还可以对agent交互协议进行建模,建立一个自治的和自适应的agent结构模型。利用Petri网及扩展Petri网描述和分析MAS,能够基于功能与非功能目标对系统体系结构进行建模,包括软硬件绑定协同化建模,软件调度方案建模等。在环境变化时,Petri网可以形象地描述MAS的初始化结构及动态行为,多个agent通过相互通信,调整自身行为,动态完成一个或者多个控制任务。

所述环境建模单元用于分析软件系统所依赖的环境条件集,将环境模拟为agent,在环境变化时通过agent的交互调整系统自身行为,动态完成一个或多个控制任务。MAS系统中许多agent往往需要收集其所处环境的信息来与其它agent进行交互,例如轨道列车车厢一般是封闭的,对空气中二氧化碳容量的检测就得依赖轨道系统中的气体传感器,将其模拟为agent可监测到该气体含量大小以及变化,当气体含量变化超出范围时,便可通过与其它agent的交互完成换气等控制,从而保证轨道列车系统的正常运行。

本发明提出的所述基于层次化MAS的软件体系结构建模与仿真系统,其中仿真模块还包括可视化动态仿真工具单元和因素控制单元。

其中,可视化动态仿真工具采用可计算模型应对层次化MAS的软件体系结构中的不确定性因素,利用数学模型、行为模型及相关算法的综合集成,实现仿真程序的结构化功能模块,支持定性的或者定量的模型,如装备可用度的马尔科夫模型,遗传算法,分类器算法、BP-CT算法模型,基于灰色理论、层次分析法的模型。

其中,所述因素控制单元包括不确定性因素子单元、人机交互子单元以及仿真逻辑子单元。仿真过程中需要关注到这几个因素。

本发明提出的所述基于层次化MAS的软件体系结构建模与仿真系统,所述不确定因素包括随机性、模糊性、信息不完全性、歧义等。对于随机因素,提供了专门的类库集Random,提供一系列生成随机数的类和结构,包括基本随机数发生器和基于伪随机数流的统计分布。随机数库支持贝努力分布、指数分布、伽马分布、正态分布、高斯分布等多种随机分布,严格检测避免了坏随机数的风险。同时,引入的遗传算法实现了从agent内部引入随机因素,使得系统元素在自身进化或产生新规则伴有随机性,使随机因素的影响不仅影响状态,而且影响组织结构和行为方式。对于其他不影响因素根据其特征构建相应的理论模型,如描述事件出现可能性采取理论模型,事务界限区分采取模糊理论或粗糙集理论模型等等。

本发明提出的所述基于层次化MAS的软件体系结构建模与仿真系统,所述人机交互是指人、组织、人装结合单元及计算机系统软件系统构成的核心元素,其行为往往是系统复杂性的根源所在,且行为类型也非常广泛如推理、学习、自主决策、博弈等。学习行为可采用基于规则或者简单函数来完成,也可以通过遗传算法实现策略的进化。

本发明提出的所述基于层次化MAS的软件体系结构建模与仿真系统,所述仿真逻辑对于建立军事仿真系统,通常采用以下几个步骤:首先要进行系统辨识,定义要仿真的系统原型,并获取初始参数、作出假设,并在此基础上设计出概念模型;其次就是自上而下进行系统分析并设计模型架构,包括个体特征建模、MAS系统结构及agent交互序列、环境及随机因素描述。

下面参照图2,具体讲述本发明所述层次化多agent系统的一个实例。

实施例1

军用无人机是现代空中军事力量的一员,具有的特点也十分明显:无人员伤亡、隐蔽性好、小巧灵活等等。军用无人机类型众多,飞行环境复杂多变,飞行任务极具危险,无人机的操纵与控制要求极高。软件需要控制管理众多类型无人机以便未来能够完成更多军事任务。所要需求是对各个类型的不同无人机进行有效操作与控制。往系统的建模模块输入该需求,建模模块为系统设计形式化建模语言,采用严密的数学表达方式与准确的语义解释,对无人机控制进行精确无二义性的描述,接着对无人机控制软件中各个agent的行为结构进行建模。层次化MAS模型顶层可分为侦查控制agent、诱引控制agent、电子对抗控制agent以及攻击控制agent,其中侦查控制agent的下一层有专门用于获取侦查信息的多个agent,例如位置识别agent、信息传送agent、环境识别agent、飞行控制agent等,该层agent互相协调工作并与上一层进行交互。类似地,对于飞行控制agent又会与其下层多个agent进行交互。针对飞行环境复杂多变,还需设计环境agent用来处理环境信息。利用建模语言,对军用无人机控制软件进行建模,得到层次化MAS模型。之后,利用仿真模块对军用无人机控制软件的层次化MAS模型进行仿真,得到各个agent之间的交互行为。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1