一种软件自适应决策验证方法与流程

文档序号:11143537阅读:560来源:国知局
一种软件自适应决策验证方法与制造工艺

本发明属于计算机应用技术领域,主要涉及形式化建模与验证领域,尤其涉及基于层次化多agent系统模型的软件自适应决策验证方法。



背景技术:

随着软件应用范围的不断扩大,其运行平台正从传统的计算机延展到嵌入式设备、移动设备和开放的互联网,并与物理系统、社会系统等更加紧密地融合在一起。这种开放、动态、难控的运行环境要求软件系统需具备一定程度的自适应能力,也就是说,软件系统应能主动感知环境和需求的变化,并据以调整自身结构和行为,产生自适应决策策略,以持续地提供满足用户期望的服务。然而,自适应决策策略可能会对系统的执行行为、性能以及功能等多方面产生影响。在保障软件系统本身的功能性需求、非功能性需求以及安全性需求等前提下,如何保证软件自适应决策策略的有效性和正确性显得至关重要。

现有的相关专利,例如申请号为201110167018.7的中国发明专利申请,涉及一种基于机器学习的分布式缓存策略自适应切换方法及其系统。基于基准测试对各缓存策略进行评价,确定影响缓存策略性能表现的场景要素;分别在不同场景要素条件下收集各缓存策略的数据集;训练该数据集得到缓存性能模型;基于缓存性能模型与集群环境下的在线监测数据决策最优缓存策略,在当前缓存策略与最优策略不一致时执行缓存策略切换。采用机器学习的方法建立可以准确刻画当前场景的缓存性能模型,并通过构建性能数据仓库周期性的更新该模型,进一步提高了模型的精度,可以较好的适应环境的动态变化,增强缓存服务的柔性和自适应性。

然而在以上专利中,软件自我验证效率仍有不足。



技术实现要素:

为解决以上现有技术中存在的问题,本发明提出了基于层次化多agent系统模型的软件自适应决策验证方法,通过将经过自适应决策策略作用演变的多种异构的层次化多agent系统模型转换成统一的中间模型,在中间模型上进行形式化验证,验证中间模型是否满足某些目标性质,从而达到验证软件自适应决策策略的有效性和正确性的目的,实现软件自适应决策策略的验证。

具体的,本发明提出了一种软件自适应决策验证方法,所述方法包括如下步骤:

步骤一,层次化MAS模型经过自适应决策策略作用演变成多种异构的层次化多agent系统模型;

步骤二,将所述层次化多agent系统模型转换成统一的中间模型;

步骤三,在中间模型上进行分析、验证,判断中间模型是否满足目标性质,从而完成自适应决策策略的验证,,同时,还可以实现多个中间模型的对比,进而实现多种异构的层次化多agent系统模型的对比,从中挑选出符合目标性质的优良模型;

步骤四,筛选出优良的自适应决策策略,对于不符合目标性质的策略给出改进建议。

优选的,如上所述的软件自适应决策验证方法,所述层次化多agent系统模型是对软件系统进行抽象建模而形成一个以功能目标为单位,将软件与环境置于统一架构的集分布式与集中式控制于一体的分层式多Agent的系统模型。

优选的,如上所述的软件自适应决策验证方法,所述步骤二的模型转换基于EMF框架实现,集成完备的层次化多agent系统模型到中间模型的转换规则,具备自检查功能,通过语义互模拟技术检查转换前后模型间的语义等价性。

优选的,如上所述的软件自适应决策验证方法,所述中间模型是层次化状态迁移系统,所述层次化状态迁移系统在状态迁移系统的基础上进行扩展,将状态迁移系统扩展为多层次的结构,各层之间紧密联系,共同构成一个完整的状态迁移系统。

优选的,如上所述的软件自适应决策验证方法,所述步骤三的验证基于层次化状态迁移系统验证算法实现,用于完成层次化状态迁移系统的分析、验证,分析所述自适应决策策略对层次化多agent系统各层模型执行行为、功能、性能的影响,验证所述自适应决策策略的正确性与有效性,并且将分析、验证结果以及改进意见反馈给用户;同时,所述验证结合状态空间等价类划分技术。

优选的,如上所述的软件自适应决策验证方法,所述层次化状态迁移系统验证算法基于层次化状态迁移系统静态和动态展开技术,将层次化状态迁移系统展开成传统的状态迁移系统,并且合理考虑各层模型之间的依赖,扩展经典的状态迁移系统验证算法,在现有工具的基础上实现层次化多agent系统模型的自适应决策验证。

优选的,如上所述的软件自适应决策验证方法,所述状态空间等价类划分技术,用于将无限状态集合以状态等价类的方式分解为有限的状态等价类集合。

与现有技术相比,本发明所述的基于层次化多agent系统模型的软件自适应决策验证方法,具有如下有益效果:

第一,本发明加入“层次化”这一概念,将软件系统抽象成一种层次化的多agent系统模型结构,是一种创新的抽象形式;第二,本发明设计了层次化状态迁移系统这种中间模型,改进了传统的状态迁移系统验证算法,实现层次化状态迁移系统的验证;第三,本发明将层次化多agent系统模型转换成层次化状态迁移系统,在中间模型上对层次化多agent系统模型进行验证。第四,本发明可以间接实现软件自适应决策策略的自动筛选,筛选出优良的自适应决策策略。

附图说明

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

图1是本发明基于层次化多agent系统模型的软件自适应决策验证方法流程图;

图2是本发明基于层次化多agent系统模型的软件自适应决策验证方法原理框图;

图3是层次化多agent系统模型示例。

具体实施方式

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

如图1所示,本发明公开一种基于层次化多agent系统模型的软件自适应决策验证方法,所述方法包括如下步骤:

S110、层次化MAS模型经过自适应决策策略作用演变成多种异构的层次化多agent系统模型。

S120、由模型转换器100将所述层次化多agent系统模型(包含MAS1、MAS2、……MASn)转换成统一的中间模型(包含MM1、MM2、……MMn)。

S130、在中间模型上进行分析、验证,判断中间模型是否满足目标性质,从而完成自适应决策策略的验证,同时,还可以实现多个中间模型的对比,进而实现多种异构的层次化多agent系统模型的对比,从中挑选出符合目标性质的优良模型。

S140、筛选出优良的自适应决策策略,对于不符合目标性质的策略给出改进建议。

本发明提出的所述基于层次化多agent系统模型的软件自适应决策验证方法中,所述层次化多agent系统模型指的是对软件系统进行抽象建模而形成一个以功能目标为单位,将软件与环境置于统一架构的集分布式与集中式控制于一体的分层式多Agent的系统模型。如图2所示是一个3层多agent系统模型示例,其中每个圆圈代表一个agent,每一层次都对软件系统进行了不同程度、不同角度的抽象,整个软件系统由所有的agent共同作用,完成软件系统的功能。

本发明提出的所述基于层次化多agent系统模型的软件自适应决策验证方法中,所述模型转换基于EMF(Eclipse Modeling Framework)框架实现,作用是将经过自适应决策策略作用演变的多种异构的层次化多agent系统模型转换成统一的中间模型,所述模型转换器100集成了完备的层次化多agent系统模型到中间模型的转换规则,具备自检查功能,通过语义互模拟技术检查转换前后模型间的语义等价性。其中所述中间模型(包含MM1、MM2、……MMn)指的是层次化状态迁移系统。层次化状态迁移系统是状态迁移系统的一种变体,在状态迁移系统的基础上进行扩展,将迁移系统扩展为多层次的结构,各层之间紧密联系,共同构成一个完整的状态迁移系统。

传统的状态迁移系统是一种用来描述系统行为的模型,用有向图表示,其中的节点表示系统状态,边表示状态之间的迁移关系。状态节点描述了系统在某一特定时刻的行为,迁移边描述了系统如何从一个状态演变到下一个状态。一种典型的状态迁移系统可以用一个五元组来表示,描述如下:

TS=(S,Act,→,I,AP,L)

S表示系统状态集;

Act表示系统动作集合;

表示迁移关系;

表示初始状态;

AP表示原子命题集;

L:S→2AP表示标号函数。

层次化状态迁移系统在状态迁移系统的基础上引入层次集合E,引入E后,迁移系统的迁移关系由状态的迁移改为状态元组的迁移。其中,状态元组是一个二元组,由当前迁移系统所处的状态s与层次e组成,可表示为(s,e)。层次化状态迁移系统描述如下:

TSL=(S,Act,E,→,I,AP,L)

S表示系统状态集;

Act表示系统动作集合;

E表示层次集合;

S×E表示系统状态元组集合;

表示迁移关系;

表示初始状态元组;

AP表示原子命题集;

L:S×E→2AP表示标号函数。

本发明提出的所述基于层次化多agent系统模型的软件自适应决策验证方法中,所述模型验证基于层次化状态迁移系统验证算法实现,用于完成层次化状态迁移系统的分析、验证,分析自适应决策策略对层次化多agent系统各层模型执行行为、功能、性能等方面的影响,验证自适应决策策略的正确性与有效性,并且将分析、验证结果以及改进意见自动反馈给用户。而且所述模型验证器200结合了状态空间等价类划分技术,有利于提高验证算法执行性能。所述层次化状态迁移系统验证算法是对传统的状态迁移系统验证算法的扩展,基于层次化状态迁移系统静态和动态展开技术,将层次化状态迁移系统展开成传统的状态迁移系统,并且合理考虑各层模型之间的依赖,扩展经典的状态迁移系统验证算法,在现有工具的基础上实现层次化多agent系统模型的自适应决策验证。

例如可以将系统的功能性需求、非功能性需求等目标性质用CTL公式进行描述,然后扩展基本CTL模型检测算法对层次化状态迁移系统进行验证,加入层次化特性,实现针对层次化状态迁移系统的CTL模型检测算法。所述状态空间等价类划分技术,用于将无限状态集合以状态等价类的方式分解为有限的状态等价类集合,从而消去冗余状态,优化状态空间,在一定程度上避免验证过程中可能产生的状态数量指数级增长的问题,从而大大提高验证效率。

下面具体讲述本发明所述层次化多agent系统模型的软件自适应决策验证方法的一个实例。

实施例1

在实际的应用过程中,模型转换器100可以采用模型规范化技术和EMF模型转换技术,如:JET、Acceleo、Xpand等,实现层次化多agent系统模型的转换,得到层次化状态迁移系统模型。而层次化状态迁移系统的元模型可以基于Eclipse Ecore模型定义,这样能方便地在eclipse平台下描述层次化状态迁移系统。同时为了增强中间模型的语义,可以结合OCL语言来进行描述。

模型验证器200可以扩展EMF Validation框架,实现对EMF模型驱动开发平台的无缝衔接,同时结合现有验证工具如SPIN,来实现本发明所述的基于层次化多agent系统模型的软件自适应决策验证。

需要说明的是:

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

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

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

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

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

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

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

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

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