一种运行时自适应软件体系结构的形式化描述方法技术

技术编号:6950272 阅读:373 留言:0更新日期:2012-04-11 18:40
一种运行时自适应软件体系结构的形式化描述方法,包括以下步骤:(1)对自适应软件体系结构框架进行描述:设定形式化描述的体系结构框架,框架包括构件,连接件和体系结构配置;(2)建立基于Agent网构软件的自适应构件模型:将自适应构件作为网构软件中的构件形式,自适应构件内部由完成计算行为的计算模块和完成动态行为的自适应模型构成;(3)依次对自适应构件的各种心智态度予以形式化描述,给出原子构件和连接件的形式化定义;(4)完成自适应构件计算行为和动态行为规约定义,给出其π演算的对应关系,再依据π演算的可执行性和EBDI动态的推理体系结构行为。本发明专利技术具有可执行性,可推理性和易读性。

【技术实现步骤摘要】

本专利技术涉及软件的建模技术,尤其是一种运行时软件体系结构的形式化描述方法。
技术介绍
形式化方法在基于构件软件系统设计的研究中也用的比较广,一类是直接运用通用的形式方法描述体系结构,另一类是提出专门的体系结构描述语言描述体系结构。1、通用的形式方法描述体系结构运用通用的形式化方法对软件体系结构规格进行说明,近年来出现了许多的研究工作。目前这方面的工作大致分为四类(1)基于模型的方法基于模型的形式化方法是通过构建一个数学模型支持系统的规范,给出系统的状态和状态变换的显式操作。通常,一个规范描述一个系统的状态及其状态上的操作,以及描述和下一个状态的关系。因此,特定的数学对象(如数据结构、关系或功能)在结构上类似于详细描述的计算机软件需求,这些语言的语义是基于集合论,在系统的整个设计过程和实现中,指定的数学对象在保留初始规范的基本特征情况下是可调整的。这样的规范语言的代表是Vienna Development Method(VDM)和Z概念。VDM语言虽然可以准确地构造一个系统的规范说明,但它不支持面向对象的系统开发方法。为了获得面向对象开发方法的优点,对VDM进行了扩充。VDM++是VDM结合面向对象概念的扩展,它包含了连续时间变量,在VDM基础上扩展了类的声明、类型,增加了动态和并发行为,包括实时属性的机制,可用来描述并发和实时系统。Z是20世纪80年代由Oxford大学程序设计研究组(PRG)提出的一种形式规范说明语言和开发方法。Z和面向对象方法的结合,典型的有0bject-Z、Z++。 前者将状态和操作封装起来,作为类进行模块化,引入面向对象的基本概念。后者Z++中引入了对象引用的语义。VDM和Z是采用面向模型的方法,重点放在抽象数据类型的描述上, 抽象数据类型是通过公理来描述的,这些公理定义了抽象数据类型上的操作之间的关系。基于模型的形式化方法主要是以形式语言为基础的描述与分析方法,它们具有严格的定义,并且可借鉴形式语言中完善的分析技术。可利用标准逻辑的定理证明或化简工具实施系统的形式化验证。但是,这类方法有一定的局限性。Z概念建立在集合论和一阶逻辑的数学基础上,它本身有着成熟的形式化表示体系,模式可以很自然地表达类的概念。但 Z概念描述异构系统并发问题也存在一定的困难,VDM也不可避免地落入同一范畴。(2)基于逻辑的方法基于逻辑的方法主要用逻辑描述系统的特性,包括程序行为的低级规范和系统时间行为的规范。在分布式系统形式化分析中,常用的逻辑模型检查方法主要有P. Wolper 等人的基于模态逻辑的方法、K. Heljanko等人的基于计算树逻辑CTL(Computation Tree Logic)的方法、国内唐稚松教授等人的基于时序逻辑XYZ/E的方法等。Fisher等人定义了一种时序信念逻辑TBL用于分布式多代理系统的描述与验证。TBL这种方法与其他形式化方法相比,在定义逻辑语言语义方面具有简洁性,并且具有较强的推理功能。TBL的时序部分适合于模拟响应系统。TBL能够用来分析验证分布式系统及其他具有协同结构的系统。 Hirai等人提出了应用命题时序线性逻辑模拟验证实时并发系统。他将时间的概念引入到线性逻辑中,并称为时序线性逻辑。同时给出了时间Petri网的可达性问题等价于对应时序线性逻辑相继式的可证明性问题,并讨论了时序线性逻辑体系中可达性的判定性问题。 此外,应用时序线性逻辑描述了同步通信系统。时序线性逻辑也可用于分布式系统的描述与验证。基于逻辑的系统描述方法的共同特点是为分布式系统的描述和性质证明提供了一种简洁方式,并具有严格的推理机制。但是,由于它们都需要对系统进行高级抽象,其应用范围受到一定的限制。像一般形式化方法那样,它们是针对系统运行机制处理的,不能很好地体现系统的物理结构。(3)基于进程演算的方法基于进程演算的方法是给出系统并发行为模型,并通过进程的通信约束表示行为,其核心通常是一种简单的语言,由带标号的变迁系统给出其操作语义,当实现与规格说明都用该语言描述时,行为等效性建立了两者之间的联系,而行为等效性则为系统验证及推导的复合提供了方便。进程演算的基本特点是建立了并发系统潜在不确定性模型。通信顺序进程 CSP(Communication Sequentialprocesses, CSP)、通信系统演算 CCS(Caleulus of Communicating Systems,CCS)、π演算等是进程演算方法的代表,广泛用于并发系统的规格说明与验证,特别是通信协议领域。CSP是很多并发分布式语言的思想基础,是对并发程序设计语言的一次重要概念整理,它可看作是一种命令式程序设计语言。通信系统演算 CCS可看作为一种建立在极小原语集上的函数式程序设计语言。CSP和CCS两种模型都基于相同的出发点,它们都将进程作为构造系统的基本构件,认为一个系统由若干进程构件通过各种方式(选择、复合、隐藏等)组合而成,而新形成的系统又可作为一个进程构件用于构造更大、更复杂的系统。π演算是在CCS模型上发展起来的,其最大特点是允许进程之间将信道名字作为值来传递,从而可描述通信拓扑结构可动态变化的并发系统,但η演算描述系统很抽象, 因此,相比其他形式化方法而言,进程演算方法对于实现开发的人员可能较难理解和掌握, 也不能给出逻辑公式和证明。2、专门的体系结构描述语言方面目前,国外具有一定影响力的 ADLs 有Aesop、ACME、Rapide、C2、Darwin、SADL, UniCon和feight。目前在ADL方面还没有形成一致的观点,因此各种ADL关注点和研究方法都有比较大的差别,例如Wright主要描述联接关系的语义,而Rapide更关注构件接口和行为建模分析,进一步,即使在原理接近的形式化语言之间,形式规约、模块互连、程序语言也不一定相同。(I)Aesop =Aesop是个支持体系结构风格设计的环境。该语言采用面向对象类型框架并提供体系结构描述的词汇表。在体系结构中基本类型(元类)有“组件”、“连接件”、 “端口”、“角色”、“配置”和“绑定”。如果需要定义组件类型,则需要将此定义为“组件”类型的子类。该体系结构描述语言提供体系结构风格的设计空间,但不提供语义方面的支持。(2) ACME =ACME的目的在于抽取诸多ADL的共同点,比如系统组件以及它们之间的对应关系,以此作为交换的基础,与此同时,还允许增加一些相关信息,作为辅助信息。当前 ACME在语法上已经相对完善,但在语义上还有比较大的局限性。虽然ACME以语言的身份出现,由于它所关注的为ADL共性,所以还是属于同类工作。(3) Rapide =Rapide是种可执行的ADL,通过定义并模拟执行基于事件的行为建模分布式并发系统。基于事件的偏序集合描述系统行为。构件接受到的事件触发构件计算,同时根据计算结果产生相关事件并传送给其它构件,并触发相关构件的计算。Rapide关注原型设计的快速建立,基于事件、并发、面向对象的语言。该模型的执行结果为事件集合,里面的事件满足特定时序或因果关系。其优点在于提供多种辅助分析工具。分析模型在于检测在某个特定模拟过程中的事件是否违反了上述次序关系。该模型仅仅基于接口定义体系结构,在开发的下一个阶本文档来自技高网...

【技术保护点】
1.一种运行时自适应软件体系结构的形式化描述方法,其特征在于:所述形式化描述方法包括以下步骤:(1)对自适应软件体系结构框架进行描述:设定形式化描述的体系结构框架,框架包括构件,连接件和体系结构配置,构件由外部端口和内部行为构成,外部端口是构件与外界环境或者其他连接件交互的纽带,而一个端口由一条或者多条通道组成,所述通道包括发送数据通道,接收数据通道以及既发送又接收数据通道,构件通过通道与外界进行数据交换;连接件由外部端口和内部行为组成,连接件的内部行为由路由行为组成,而动态行为是指导构件间通信的交互规则和约束,构件之间通过连接件才能交互,依附在构件和连接件端口上的通道构成他们之间的一个连接;(2)建立基于Agent网构软件的自适应构件模型:将自适应构件作为网构软件中的构件形式,自适应构件内部由完成计算行为的计算模块和完成动态行为的自适应模型构成,自适应构件模型又包括处理预设演化的自适应策略和处理非预设演化的EBDI模型,EBDI模型中新增了意见函数和过滤器,意见函数功能是依据当前的对环境的感知和当前的信念再确定一个新的目标集合,过滤器是依据当前信念和目标更新实体的意图,丢弃无法完成或已无意义的意图,并为其选择新的实现方法;(3)自适应构件模型SAM的形式化表示:所述自适应构件模型SAM包括时钟、信念、目标和意图,依次对自适应构件的各种心智态度予以形式化描述,给出形式化定义:时钟是一种给各种心智状态的相关进程提供系统时间的进程:(math)??(mrow)?(mi)Clock(/mi)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo)=(/mo)?(mo)!(/mo)?(mover)?(mrow)?(mi)time(/mi)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(/mrow)?(mo)‾(/mo)?(/mover)?(/mrow)?(/math)自适应构件模型SAM总是处在某个或某段时间,如过去、现在或将来,该进程通过端口time向外界提供系统时间;信念是关于这个世界的信息,信息分为客观事实知识和主观态度知识,事实类信念定义成一个知识的查询过程,(math)??(mrow)?(mi)FactBasedBelief(/mi)?(mrow)?(mo)((/mo)?(mi)id(/mi)?(mo))(/mo)?(/mrow)?(mo)=(/mo)?(msub)?(mi)fact(/mi)?(mi)id(/mi)?(/msub)?(mrow)?(mo)((/mo)?(mover)?(mi)x(/mi)?(mo)‾(/mo)?(/mover)?(mo))(/mo)?(/mrow)?(mo).(/mo)?(mi)Fact(/mi)?(mrow)?(mo)((/mo)?(mover)?(mi)x(/mi)?(mo)‾(/mo)?(/mover)?(mo))(/mo)?(/mrow)?(/mrow)?(/math)它表示进程通过端口factid获取变量x,然后通过子进程Factid找到与x相关的事实类知识,其中id是SAM实例的标志符,主观态度类信念表示相信某种状态或事件已经或将要发生,(math)??(mrow)?(mi)AttitudeBasedBelief(/mi)?(mrow)?(mo)((/mo)?(mi)id(/mi)?(mo))(/mo)?(/mrow)?(mo)=(/mo)?(mi)time(/mi)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo))(/mo)?(/mrow)?(mo).(/mo)?(mo)[(/mo)?(mi)t(/mi)?(mo)=(/mo)?(mi)τ(/mi)?(mo)](/mo)?(mrow)?(mo)((/mo)?(msub)?(mi)believe(/mi)?(mi)id(/mi)?(/msub)?(mrow)?(mo)((/mo)?(mi)nid(/mi)?(mo),(/mo)?(mi)τt(/mi)?(mo),(/mo)?(mover)?(mi)s(/mi)?(mo)‾(/mo)?(/mover)?(mo))(/mo)?(/mrow)?(mo).(/mo)?(mover)?(mi)nid(/mi)?(mo)‾(/mo)?(/mover)?(mrow)?(mo)((/mo)?(mi)t(/mi)?(mo),(/mo)?(mi)τ(/mi)?(mo))(/mo)?(/mrow)?(mo))(/mo)?(/mrow)?(/mrow)?(/math)它表示在时间τ,...

【技术特征摘要】
1. 一种运行时自适应软件体系结构的形式化描述方法,其特征在于所述形式化描述方法包括以下步骤(1)对自适应软件体系结构框架进行描述设定形式化描述的体系结构框架,框架包括构件,连接件和体系结构配置,构件由外部端口和内部行为构成,外部端口是构件与外界环境或者其他连接件交互的纽带,而一个端口由一条或者多条通道组成,所述通道包括发送数据通道,接收数据通道以及既发送又接收数据通道,构件通过通道与外界进行数据交换;连接件由外部端口和内部行为组成,连接件的内部行为由路由行为组成,而动态行为是指导构件间通信的交互规则和约束,构件之间通过连接件才能交互,依附在构件和连接件端口上的通道构成他们之间的一个连接;(2)建立基于Agent网构软件的自适应构件模型将自适应构件作为网构软件中的构件形式,自适应构件内部由完成计算行为的计算模块和完成动态行为的自适应模型构成,自适应构件模型又包括处理预设演化的自适应策略和处理非预设演化的EBDI模型,EBDI模型中新增了意见函数和过滤器,意见函数功能是依据当前的对环境的感知和当前的信念再确定一个新的目标集合,过滤器是依据当前信念和目标更新实体的意图,丢弃无法完成或已无意义的意图,并为其选择新的实现方法;(3)自适应构件模型SAM的形式化表示所述自适应构件模型SAM包括时钟、信念、目标和意图,依次对自适应构件的各种心智态度予以形式化描述,给出形式化定义时钟是一种给各种心智状态的相关进程提供系统时间的进程C lock {t) = \time{t)自适应构件模型SAM总是处在某个或某段时间,如过去、现在或将来,该进程通过端口 time向外界提供系统时间;信念是关于这个世界的信息,信息分为客观事实知识和主观态度知识,事实类信念定义成一个知识的查询过程,FactBasedBelief (id) = factid (x) .Fact{ χ)它表示进程通过端口 factid获取变量X,然后通过子进程!^actid找到与χ相关的事实类知识,其中id是SAM实例的标志符,主观态度类信念表示相信某种状态或事件已经或将要发生,AttitudeBasedBelief (id) = time(t). [t = r](believejd (nid, Tt,s).nid ( , τ))它表示在时间τ,标志符为nid的SAM实例会处于状态s,其中s是一个向量,SAM的信念进程为Belief(id)...

【专利技术属性】
技术研发人员:高俊
申请(专利权)人:浙江工业职业技术学院
类型:发明
国别省市:33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1