




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实用标准协议分析与设计上机报告一 实验目的学习和掌握PROMELA语言,并能在SPIN上对协议进行模拟和分析。二 实验题目6-5 将6.3节描述的协议条件改为报文和应答均会出错,且都丢失,接收方没有无线接收能力,这就是我们通常所说的实用停等协议。请用PROMELA进行描述,并用SPIN模拟运行、一般性验证、无进展循环验证和人为加入错误进行验证。6-6 请根据图6-16写出著名的AB协议的PROMELA描述,并验证“A”获取的每一个报文至少有一个是正确的,而“B”接收的每一个报文之多有一次是正确的。 S1 ?b0?b1 S4 S3 ?b1 !a1 !a0 ?err !b1 ?a0 S2 ?err S5 S2 ?err S5!a1 ?b0 ?a1 !b1 !b0 ?err S3 S1 ?a0 ?a1 S4 Terminal A Terminal B三 实验分析6-5 停止等待协议因为协议条件为报文应答均会出错,且都丢失,接收方没有无限接收能力,所以此时信道应该有5种信号,分别为:信息,ACK,NAK,出错信号和丢失信号,即mtype=Msg,Ack,Nak,Err,Miss。然后定义两个信道,用于在发送方实体和接收方实体进行数据传输。chan SenderToReceiver=1ofmtype,byte,byte;chan ReceiverToSender=1ofmtype,byte,byte;主要过程为:发送方发送报文,等待应答,如果是肯定应答则发送下一帧,如果是否定应答或者应答帧出错则重发,发送端通过OutCh!Miss(0,0) 来模拟发送报文丢失;接收方接收报文,如果是期望的报文则发送肯定应答,否则发送否定应答,接收端通过InCh?Mis(0,0)模拟应答报文丢失,如果报文丢失,则需要重发报文。代码如下:1#define MAXSEQ 523mtype = Msg,Ack,Nak,Err,Miss;4chan SenderToReceiver = 1 of mtype,byte,byte;5chan ReceiverToSender = 1 of mtype,byte,byte;67proctype SENDER(chan InCh,OutCh)89byte SendData;10byte SendSeq;11byte ReceivedSeq;12SendData = MAXSEQ-1;13do14 :SendData = (SendData+1)%MAXSEQ;15again: if16:OutCh!Msg(SendData,SendSeq)17:OutCh!Err(0,0)18:OutCh!Miss(0,0)19 fi;2021 if22:timeout - goto again23:InCh?Miss(0,0) -goto again24:InCh?Err(0,0) -goto again25:InCh?Nak(ReceivedSeq,0) -26end1: goto again27:InCh?Ack(ReceivedSeq,0) -28if29:(ReceivedSeq = SendSeq) -goto progress30:(ReceivedSeq != SendSeq) -31 end2:goto again32fi33fi;34progress :SendSeq = 1 - SendSeq;35od;363738proctype RECEIVER(chan InCh,OutCh)3940byte ReceivedData;41byte ReceivedSeq;42byte ExpectedData;43byte ExpectedSeq;4445do46: InCh?Msg(ReceivedData,ReceivedSeq) -47if 48:(ReceivedSeq = ExpectedSeq) -49assert(ReceivedData = ExpectedData);50progress: ExpectedSeq = 1- ExpectedSeq;51ExpectedData = (ExpectedData + 1)%MAXSEQ;52if53:OutCh!Miss(0,0)54:OutCh!Ack(ReceivedSeq,0);55:OutCh!Err(0,0);56ExpectedSeq = 1- ExpectedSeq;57ExpectedData = (ExpectedData + 4)%MAXSEQ;58fi59:(ReceivedSeq!=ExpectedSeq) -60 if61 :OutCh!Nak(ReceivedSeq,0);62 :OutCh!Err(0,0);63 fi64fi65:InCh?Err(0,0) - OutCh!Nak(ReceivedSeq,0);66:InCh?Miss(0,0) - skip67od;686970init 7172atomic7374run SENDER(ReceiverToSender,SenderToReceiver);75run RECEIVER(SenderToReceiver,ReceiverToSender);7677实验截图一致性验证:无进展循环验证人为加入错误进行验证6-6 AB协议因为根据状态图,S3状态和S1状态一致,所以将S3状态与S1状态合并。在该过程中,一共有3种信号a,b,Err,所以我们定义mtype = a,b,Err。然后定义两个信道,用于在发送方实体A和接收方实体B进行数据传输。chan AtoB = 1 of mtype,byte;chan BtoA = 1 of mtype,byte;主要过程为:发送方处于S5状态,并发送报文a(0)(模拟出错用Err(0)),此时处于S4等待应答。当接收方处于S4并接收到报文,如果是a(0)或者是a(1)则转向S1状态,并发送报文b(1)且转到S2状态;如果是Err(0)则转向S5状态,并发送报文b(0)且转到S4状态。而发送方如果收到的应答是b(0)或者是b(1)则转向S1状态,并发送报文a(1)且转到S2状态。如果是Err(0)则回到S5状态,并发送报文a(0)且转到S4状态。我们假设接受方目前在S2状态并接收到报文,如果是a(0)则转向S3(S1),如果是a(1)则转向S1状态,并发送报文b(1)且转到S2状态;如果是Err(0)则转向S5状态,并发送报文b(0)且转到S4状态。而我们同样假设发送方处于S2状态并接收到报文,如果是b(0)则转向S3(S1),如果是b(1)则转向S1状态,并发送报文a(1)且转到S2状态;如果是Err(0)则转向S5状态,并发送报文a(0)且转到S4状态。所以我们根据分析,能够得到:A获取的每一个报文至少有一次是正确的,而B接受的每一个报文至多有一次是正确的。代码如下:1mtype = a,b,Err;23chan AtoB = 1 of mtype,byte;4chan BtoA = 1 of mtype,byte;56proctype A(chan InCh,OutCh)78S5:9if10:OutCh!a(0) 11:OutCh!Err(0)12fi;13S4:14if15:InCh?b(0) - goto S116:InCh?b(1) - goto S117:InCh?Err - goto S518fi;19S1:20if21:OutCh!a(1)22:OutCh!Err(0)23fi;24S2:25if26:InCh?b(0) - goto S327:InCh?b(1) - goto S128:InCh?Err - goto S529fi;30S3:31if32:OutCh!a(1)33:OutCh!Err(0)34fi;35goto S2;363738proctype B(chan InCh,OutCh)3940S4:41 if 42:InCh?a(0) - goto S143:InCh?a(1) - goto S144:InCh?Err(0) - goto S545fi;46S1:47if48:OutCh!b(1)49:OutCh!Err(0)50fi;51S2:52if53:InCh?a(0) - goto S354:InCh?a(1) - goto S155:InCh?Err(0) - got
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/TS 24315-3:2025 EN Intelligent transport systems - Management of electronic traffic regulations (METR) - Part 3: System of systems requirements and architecture (SoSR)
- 2025福建厦门夏商集团有限公司招聘2人考前自测高频考点模拟试题(含答案详解)
- 2025福建福州市仓山区卫健系统招聘编内31人模拟试卷及答案详解(名校卷)
- 2025贵州传媒职业学院第十三届贵州人才博览会引才1人模拟试卷及答案详解(新)
- 2025海南陵水黎族自治县中医院(陵水黎族自治县中医院医共体总院)考核招聘(第二批)员额人员模拟试卷及参考答案详解一套
- “百万英才汇南粤”2025年佛山市高明区公开招聘中小学教师(第四场)考前自测高频考点模拟试题及答案详解(网校专用)
- 2025江苏苏州高新区通安镇退管协管员招聘2人模拟试卷及答案详解(考点梳理)
- 2025呼伦贝尔五九煤炭集团招聘26人模拟试卷附答案详解(黄金题型)
- 第四单元第二课《活灵活现》 教学设计- 人教版(2024)初中美术七年级上册
- 2025年河北雄安新区新建片区学校公开选聘校长及骨干教师13人考前自测高频考点模拟试题及答案详解(易错题)
- MOOC 跨文化交际通识通论-扬州大学 中国大学慕课答案
- 高血压与气温的关系
- 赛题 模块一 职业素养测试-2023年全国职业院校技能大赛拟设赛项赛题
- 集成电路器件与SPICE模型9
- 民宿经营管理培训教材
- 有害物质管理培训课件
- GB/T 33363-2016预应力热镀锌钢绞线
- GB/T 23510-2009车用燃料甲醇
- 实用英语口语900句
- 食品安全事故流行病学个案调查表
- 风机运行记录表
评论
0/150
提交评论