模型检测技术在农业生产中的应用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模型检测技术在农业生产中的应用 1 限状态系统的技术 linux操作系统的出现是计算机科学发展史的重要里程碑。它诞生于1969年的贝尔实验室。1991年,Linus Torvalds等人基本上按照UNIX的设计,开发出一个真正可以使用的UNIX内核,并称之为 LINUX。可以说LINUX内核是目前覆盖面最广的一体化内核,它的安全性和稳定性也众所周知。作为多用户、多任务的操作系统,进程间通信的重要性不可小觑,因此对其进行模型检测成为一个意义重大的研究课题。 模型检测是一种强大的自动分析验证有限状态系统的技术,它将所需验证的系统及属性作为模型检测工具的输入,以判断属性的正确性,是有限状态验证(Finite State Verification)的方法之一,另外还有两种分别是流方程(Flow Equations)和数据流分析(Data Flow Analysis)。迄今为止已开发出多种分析验证工具,如模型检测的SMV(Symbolic Model Checking),SPIN(Simple Promela INterpreter),流方程的INCA(Integer Necessary Conditions)以及数据流分析的FLAVERS(FLow Analysis for VERification of Systems)。美国的NASA实验室还专门开发了一种针对JAVA的工具——JPF(Java Path Finder),对JAVA程序进行模型检测。 本文采用的是SPIN工具。它是一种由美国贝尔实验室开发的模型检测工具,应用了偏序规约、on the fly等技术,大大提高了模型检测的效率,减小了状态空间,可以用断言 (assertion)或线性时态逻辑 (LTL)来验证系统属性,已经成功地应用于协议验证、分布式系统验证和软件验证中。本文分析了LINUX2.4.0版本的基于管道的进程间通信的内核源码,从中提取形式化模型,再用SPIN进行模型检测。 文章结构如下:第2节简单介绍模型检测分析工具SPIN;第3节是LINUX进程间通信的代码分析和形式化建模;第4节对它进行模型检测,并得出实验结果;最后总结全文。 2 spin模型探测器 2.1 promela描述 SPIN(Simple Promela INterpreter)是适合于并发系统的一种模型检测分析验证工具。它以PROMELA作为输入语言,对于给定的一个使用PROMELA描述的系统模型,SPIN可以对其执行进行随意的模拟,也可以生成一个C代码程序,然后对系统的正确性进行有效的检验。 PROMELA(PROcess MEta LAnguage)是用来对有限状态系统进行建模的形式描述语言。它类似于C程序语言,允许动态创建并行的进程,并可以在进程之间通过消息通道进行同步或异步通信。一个PROMELA模型由进程、消息通道、变量和全局对象组成,相当于一个有限转换系统。其大体结构为:类型说明、通道说明、变量说明、进程说明、初始进程。 如图1所示,SPIN首先从一个PROMELA描述的抽象模型开始,经过分析,没有语法错误后,对系统的交互进行模拟,直到确认系统设计拥有预期的行为;然后,SPIN将产生一个用C语言描述的验证程序,经验证机编译后被执行。执行中如果发现了违背正确性说明的任何反例,则可反馈给交互模拟机,通过重现细节找出引发错误的原因。 2.2 线性态逻辑的生成规则 SPIN的工作原理基于这样一个事实,即分布式系统中异步进程的行为能够用有限状态自动机(FSA)来模拟。 定义1(有限状态自动机,FSA) 有限状态自动机A是一个五元组(S,s0,L,T,F),其中: S= {s0,s1,s2,…,sn}是有限状态集合; s0是FSA的初始状态,s0∈S; L是触发状态迁移的事件的有限集合; T是状态之间的迁移关系,T?(S×L×S); F是终止状态,F?S。 定义2(同步积) FSAP和B的同步积是一个FSAA= (S,s0,L,T,F),其中: A.S是P′.S×B.S的笛卡尔积,P′是P的stutter闭包; A.S0是二元组(P.s0,B.s0); A.L是P′.L×B.L的笛卡尔积; A.T是(t1,t2)对,t1∈P′.T且t2∈B.T; A.F是(s1,s2)∈A.S对的集合,s1∈P.F∨s2∈B.F。 定义3(异步积) 一个FSA有限集合A1,…,An的异步积是一个FSAA= (S,s0,L,T,F),其中: A.S是A1.S×…×An.S笛卡尔积; A.s0是n元组(A1.s0,…,An.s0); A.L是A1.L∪…∪An.L; A.T是元组集合((x1,…,xn),I,(y1,…,yn)),其中?i,1≦i≦n,(xi,I,yi)∈Ai.T,且?j,1≦j≦n,j≠i→

文档评论(0)

xcwwwwws + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档