基于Uppaal通信协议消息传输流水线技术建模与分析.docVIP

基于Uppaal通信协议消息传输流水线技术建模与分析.doc

  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文档。上传文档
查看更多
基于Uppaal通信协议消息传输流水线技术建模与分析

基于Uppaal通信协议消息传输流水线技术建模与分析   摘要 本文模拟了一个简单的通信协议并且做了一个实验,就是采用了流水线技术去传输消息,以此研究减少通信时间的可能性。我们把这个通信协议通过UPPAAL[1]、[2]、[3]建成一个时间自动机的模型,然后模拟利用流水线技术进行消息传输。   关键词 Uppaal;通信协议;消息传输;流水线技术;建模与分析   中图分类号TN91 文献标识码A 文章编号 1674-6708(2010)31-0205-02      0 引言   在嵌入式系统中,有很多是基于通信协议的消息传递,那么一个消息从发送到接受需要多少时间呢?多个消息传输又需要多少时间呢?有没有减少通信时间的可能性?因此,为了研究这几个问题,我们做了一个实验,即我们模拟一个通信协议,我们把这个通信协议通过UPPAAL [1]、[2]、[3]建成一个时间自动机的模型,然后模拟利用流水线技术进行消息传输,最后我们得到一组数据,然后我们对这组数据进行分析,以此研究采用流水线技术减少时间通信的可能性。   在第1节中,我们简要的描述了这个通信协议,在第2节中,我们分析了这个通信协议,并对流水线传输机制进行了建模,在第3节中,我们对这个系统的属性进行了验证,在第4节中,我们进行了总结并提出了以后可以改进的可能性。   1 通信协议的模拟   1.1 通信协议的简单描述   这个通信协议是非常容易理解的,即有一个通信媒介,一个发送者,一个接受者,消息的长度是固定的并且我们假定这个通信媒介传送消息是有延迟的。比如传送消息延迟为delay,那么当我们在时刻t的时候发送一个消息,接受者接受消息应该是在t + delay。   1.2一些通信协议的假设   为了便于模拟,我们提出了一些假设:1)消息传递过程中是没有丢失的;2)接受者接收到消息时,对消息的处理时间为零。基于以上假设,当消息达到接受者时,接受者会立即发送一个成功信号。   2 基于UPPAAL工具的流水线建模   我们采用流水线技术来模拟发送,即我们把介质发送的延迟时间分段,其中每段为固定的消息长度,这样我们就可以得到一些段,这些段就可以组成一个流水线,我们就可以模拟这个流水线进行消息传输。   在这个模型设计中,为了便于研究,我们假设消息长度为5,消息传递延迟为消息长度的整数倍,假设为15,下面是模型中用到的一些公共变量:   1)int[0,1] buffer[3]={0,0,0} 这是一个消息队列,用来存放要发送的消息,此队列大小为3,其中0代表没有消息,1代表有消息;   2)int[0,1] medium[3] = {0,0,0} 这是流水线的状态标志,0代表此段空闲,1代表此段正在处理消息;   3)urgent chan msg_ok 当消息达到接受者时,接受者发送此信号;   4)urgent chan medium_ok 当一个消息传输完时,流水线时间自动机会发送此信号;   5)urgent chan b_medium1 流水线第一段处理完消息时发送的信号;   6)urgent chan b_medium2 流水线第二段处理完消息时发送的信号;   7)urgent chan go消息时间自动机准备好要发送的消息时发送的信号;   8)int totleTime = 0 发送所有消息总的时间消耗。   9)int lock = 0防止系统出现死循环的锁。   下面是两个函数:   1)int try()   {   int i = 0;   for(i = 0;i SEG; i++)   {    if(i == (SEG-1))    {   buffer[i] = 0;   return 1;    }    buffer[i] = buffer[i+1];   }   return 1;   }   处理消息队列,当一个消息处理完时,后面的消息会前移一个位置。   2)int observe()   {    if(buffer[0]==0 buffer[1]==0 buffer[2]==0 medium[0]==0 medium[1]==0 medium[2]==0)    {   return 1;   }    return 0;   }    检测消息队列中是不是还没有传输完。   2.1 消息模型   消息模型主要实现了以下几个步骤:1)准备消息,消息的长度为5;2)消息准备好时,检查消息队列是否满;3)如果消息队列满了,则等待;否则,发送信号给发送者。如图1.4描述了消息模型。   2.2 发送者模型   发送者模型主要

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档