【技术实现步骤摘要】
WSN程序中事件过程实例的识别方法、介质和设备
本专利技术涉及软件测试
,特别涉及一种WSN程序中事件过程实例(简称实例)的识别方法、介质和设备。
技术介绍
物联网是信息
的一次重大变革,无线传感器网络(WirelessSensorNetwork),简称WSN,是物联网中感知事物、传输数据的重要手段。部署在被监测区域内的大量传感器形成一个WSN,这些传感器节点通过无线通信组成一个多跳的自组织网络。这些节点协同地感知、收集和处理被监测的对象或环境信息,并通过WSN发送给监测者。WSN作为物联网(IoT)生态系统的重要组成部分,越来越多地应用于各种应用领域。它能帮助人类增强感知、改善健康、保护环境等。例如,哈佛大学的MattWelsh教授领导开发了一个WSN系统,对厄瓜多尔的活火山进行了持续19天的观测:该系统采用Mica2传感器节点以100Hz的频率采集地震和声音数据,次声麦克风节点将所采集的数据发送给基站,而基站将数据实时地传送到离火山十多公里远的监测中心;监测中心还能远程控制各网络节点;该系统以低耗费和 ...
【技术保护点】
1.一种WSN程序中事件过程实例的识别方法,其特征在于,步骤如下:/n针对于WSN程序中为中断事件的事件过程实例,定义以下关键执行点:IHEntry点、IHExit点、RunTaskEntry点、RunTaskExit点和PostOk点;其中IHEntry点表示的是中断处理的入口,IHExit点表示的是中断处理的出口,RunTaskEntry点表示的是函数taskName$runTask()的入口,RunTaskExit点表示的是函数taskName$runTask()的出口,PostOk点表示的是系统postTask函数的函数体中表明系统的任务提交操作成功的执行点;/n定 ...
【技术特征摘要】
1.一种WSN程序中事件过程实例的识别方法,其特征在于,步骤如下:
针对于WSN程序中为中断事件的事件过程实例,定义以下关键执行点:IHEntry点、IHExit点、RunTaskEntry点、RunTaskExit点和PostOk点;其中IHEntry点表示的是中断处理的入口,IHExit点表示的是中断处理的出口,RunTaskEntry点表示的是函数taskName$runTask()的入口,RunTaskExit点表示的是函数taskName$runTask()的出口,PostOk点表示的是系统postTask函数的函数体中表明系统的任务提交操作成功的执行点;
定义如下数据结构:INST、instAfterExit、pInst_S栈和okInst_Q队列;
INST,用于存储一个实例的信息;
instAfterExit,针对于程序执行时从一个IHExit点或RunTaskExit点转换到该点的直接后继点的实例的情况,通过instAfterExit表示后续点的实例的信息;
pInst_S栈,用于跟踪每个被中断抢占的实例的信息;
okInst_Q队列,用于跟踪每个被成功提交的任务的实例信息;
针对于中断事件的事件过程实例,在WSN程序运行过程中进行以下事件过程实例的识别:
在WSN程序开始运行时,将WSN程序中执行的当前指令i的实例信息CurInst进行初始化;WSN程序开始运行时,检测执行的当前指令i是否为上述关键执行点;
若执行的当前指令i是IHEntry点,则采用当前实例编号和中断号创建一个INST值,通过该INST值来更新实例信息CurInst,同时将上述更新后的实例信息CurInst推入到pInst_S栈;
若执行的当前指令i是IHExit点,则从pInst_S栈中弹出栈顶的INST值,通过弹出的该INST值来更新instAfterExit,并且采用上述更新后的instAfterExit更新实例信息CurInst;
若执行的当前指令i是RunTaskEntry点,则从okInst_Q队列中移出队首元素,通过该元素来更新实例信息CurInst;
若执行的当前指令i是RunTaskExit点,则将instAfterExit设置为非中断实例对应的INST值,并且采用该instAfterExit更新实例信息CurInst;
若执行的当前指令i是PostOk点,则将当前实例信息CurInst放入okInst_Q队列中;
根据WSN程序中当前指令i执行时获取到的实例信息识别出该指令所属实例。
2.一种WSN程序中事件过程实例的识别方法,其特征在于,步骤如下:
针对于WSN程序中为非中断事件的事件过程实例,定义以下关键执行点类型:IHEntry点、IHExit点、EHEntry点、EHExit点、RunTaskEntry点、RunTaskExit点和PostOk点;其中IHEntry点表示的是中断处理的入口,IHExit点表示的是中断处理的出口,EHEntry点表示的是非中断事件的事件函数入口,EHExit点表示的是非中断事件的事件函数出口;
RunTaskEntry点表示的是函数taskName$runTask()的入口,RunTaskExit点表示的是函数taskName$runTask()的出口,PostOk点表示的是系统postTask函数的函数体中表明系统的任务提交操作成功的执行点;
定义如下数据结构:INST、instAfterExit、pInst_S栈和okInst_Q队列,其中:
INST,用于存储一个实例的信息;
instAfterExit,针对于程序执行时从一个IHExit点或RunTaskExit点转换到该点的直接后继点的实例的情况,通过instAfterExit表示后续点的实例的信息;
pInst_S栈,用于跟踪每个被中断抢占的实例的信息;
okInst_Q队列,用于跟踪“每个被成功提交的任务”的实例信息;
针对于非中断事件的事件过程实例,在WSN程序运行时进行以下事件过程实例的识别:
在WSN程序开始运行时,将WSN程序中执行的当前指令i的实例信息CurIn...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。