- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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→
您可能关注的文档
最近下载
- Trnsys TESS库 中文翻译-第5册.pdf
- 商业模式转型下香飘飘食品股份有限公司财务战略研究.docx VIP
- 画法几何及土木工程制图习题集参考答案.pdf VIP
- 《预防导尿管相关尿路感染(CAUTI)指南2025》解读(2).docx VIP
- 2025年国培卫健、粤医云全科医学诊疗技能培训项目(临床医学)9月答案.docx VIP
- LC+LTCBDE:胆囊结石合并胆总管结石治疗的微创突破与临床价值探究.docx VIP
- 员工奖金分配方案.docx VIP
- 2025年国培卫健、粤医云(临床医学)6月全科医学诊疗技能培训项目参考答案.docx VIP
- 危重病人早期识别与评估PPT课件.pptx
- 腾势-腾势X-产品使用说明书-经典版(插混)-QCJ6490ST6HEV-腾势X插电式混动SUV用户手册20191212.pdf VIP
原创力文档


文档评论(0)