《一种传感器网软件可达性验证方法.pdf》由会员分享,可在线阅读,更多相关《一种传感器网软件可达性验证方法.pdf(6页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103970653 A (43)申请公布日 2014.08.06 CN 103970653 A (21)申请号 201410179197.X (22)申请日 2014.04.29 G06F 11/36(2006.01) (71)申请人 南京邮电大学 地址 210023 江苏省南京市亚东新城区文苑 路 9 号 (72)发明人 陈志 岳书珍 岳文静 王东 陈骏 党凯乐 朱彦沛 高阳阳 高显强 (74)专利代理机构 南京经纬专利商标代理有限 公司 32200 代理人 叶连生 (54) 发明名称 一种传感器网软件可达性验证方法 (57) 摘要 本发明提出一种传感器网软件可达性。
2、验证方 法, 该方法首先将无线传感网软件用模型表示, 该 模型用来描述节点以及节点之间的状态迁移, 然 后用粒子群算法对所得的软件模型进行优化, 在 具体实施总可以时序逻辑公式来表示无线传感网 软件所需要满足的属性或性质, 将对无线传感网 软件的验证转化为验证软件模型是否满足公式来 判断系统性质。本发明方法通过对可达性验证路 径的优化, 能够有效地对传感器网软件进行可达 性验证, 并保持具有较强的灵活性。 (51)Int.Cl. 权利要求书 1 页 说明书 3 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书3页 附图1页 (10)申请公布号。
3、 CN 103970653 A CN 103970653 A 1/1 页 2 1. 一种传感网软件可达性验证方法, 其特征在于该方法所包含的步骤为 : 步骤 1、 构建无线传感网软件模型, 该模型用四元组 (S, S0, R, L) 形式来描述, 其中 S 表 示状态集合 ; S0表示初始状态集合 ; R表示状态迁移, 对任意一个R,(X0,X1) 表示状态 X0和状态 X1之间存在状态迁移 , 或表示为 X1 (X0), X0 S, X1 S ; L 是 用户指定的赋值函数, 该函数用于对原子命题的赋值 ; 步骤 2、 给无线传感网软件模型中状态集合 S 的每一个状态赋予不同的序号, 记录无。
4、线 传感网软件每一个可能执行过程中的所有状态序列, 每一个状态序列用执行过程中先后到 达的状态的序号表示 ; 步骤 3、 用户标记目的状态 Xn; 步骤 4、 依次选择步骤 2 中记录的无线传感网软件一个可能执行过程中的状态序列, 查 找该状态序列是否包含目的状态 Xn, 若该状态序列包含目的状态 Xn, 则删除该状态序列中 状态 Xn后的所有状态, 进入步骤 5 ; 若该状态序列不包含目的状态 Xn, 进入步骤 5 ; 步骤 5、 从状态 X1开始, 计算每个状态到目的状态的状态迁移量, 所述状态迁移量是指 状态到达目的状态的状态路径中包含的状态数目, 设f(i)为第i个状态到目的状态的状态。
5、 迁移量, P(i,j) 表示第 i 个状态的邻居状态 j 到目的状态的状态迁移量, N(i) 表示 i 状态 的下一状态 ; 步骤 6、 计算任意一个状态 Xi 的 f(i) 和 P(i,j), 判断 f(i) 与和 P(i,j) 的大小关系, 若 f(i) P(i,j), 则 Xi与 Xn不连通, 即状态不可达 ; 若出现 P(i,j)f(i), 则对于状态 i, 选定 P(i,j) 最小的 Xj为状态 Xi 的下一跃迁状态, 即 N(i) Xj; 步骤 7、 判断 Xj是否为目的状态 Xn, 若 Xj Xn, 记录从 X1到 Xn的路径, 循环结束, 进入 步骤 8 ; 若 Xj Xn,。
6、 令 i j 返回步骤 6 ; 步骤 8、 使用一种模型检验工具建立传感网软件状态 X1、 X2、 .、 Xn, 用时序逻辑语言表 示用户指定的待验证的性质, 根据用户标记目的状态 Xn及步骤 3 到步骤 7 确定的从状态 X1 到状态 Xn的路径, 进行可达性验证, 若存在到达目的状态的合法路径, 则状态是可达的, 反 之状态不可达, 所述模型检验工具是能够进行模型检验的系统验证软件。 权 利 要 求 书 CN 103970653 A 2 1/3 页 3 一种传感器网软件可达性验证方法 技术领域 0001 本发明涉及一种传感器网络软件可达性验证方法, 主要利用模型检验技术来解决 传感器网络软。
7、件验证问题, 属于计算机科学与技术、 软件工程和形式化验证、 人工智能交叉 技术应用领域。 背景技术 0002 无线传感器网络是由部署在监测区域内的传感器节点通过无线通信方式形成的 一个多跳自组织网络系统, 目的是协作地感知、 采集、 处理和发布网络覆盖区域的对象信 息。传感器节点是由传感器模块、 处理器模块、 无线通信模块和能量供应模块等部分组成, 传感器模块负责监测区域的信息采集和数据转换 ; 处理器模块负责控制传感器节点的操 作, 存储和处理采集到的数据以及其他节点发来的数据 ; 无线通信模块负责与其他传感器 节点进行无线通信, 交换控制消息和收发采集数据 ; 能量供应模块为传感器节点提。
8、供运行 所需要的能量, 通常使用微型电池。在无线传感器网络中, 节点不是单个感知单元, 而是能 够交换信息、 协调控制的有机结合体, 整个网络实现物与物的互联, 把感知触角深入世界各 个角落, 将成为下一代互联网的重要组成部分。 0003 随着技术的不断发展, 一方面无线传感器网络软件规模不断膨胀, 软件系统变得 越来越复杂, 另一方面无线传感器网络应用对软件系统的可靠性提出了较高的要求。无线 传感器网络软件系统不断膨胀的规模及其并发特性主要带来了内在非确定性, 增大了验证 系统可靠性的难度和代价。由于无线传感器网络现有程序开发语言本身具有不安全的特 征, 使利用传统方法来排除软件系统中的错误。
9、已经越来越难以满足实际需要。 因此, 如何保 证软件正确性和可靠性成为当前产业最紧迫的问题, 在诸多问题解决方案中, 模型检验等 形式化验证技术在硬件和协议验证领域取得了成功, 为应用于软件验证打下了基础。软件 的形式化验证就是对无线传感器网络软件进行正确性证明。在软件形式化验证方法中, 模 型检验可以在构建系统前对系统的安全性和可靠性进行验证, 以尽早发现错误, 其基本原 理是为系统建立形式化模型, 阐述所要验证的性质, 然后用算法去检测该模型是否满足所 述性质。 0004 模型检验的基本思想是用状态迁移系统 (S) 表示系统的行为, 用模态 / 时序逻辑 公式 (F) 描述系统的性质, 这。
10、样 “系统是否满足所期望的性质” 就转化为数学问题 “状态迁 移系统 S 是否公式 F 的一个模型” , 用公式表示为 S| F ?。对有穷状态系统, 这个问题是 可判定的, 即可以用计算机程序在有限时间内自动确定。模型检验提供一个完整的系统属 性验证框架, 其优点是模型检验能达到完全自动化的程度, 只需用有穷状态模型和逻辑公 式分别将系统实现和待验证的系统规范描述出来, 之后的判断过程则完全可以由模型检验 工具自动完成, 不需要人的参与 ; 模型检验过程总会以 “是” 或 “否” 的结果中止, 当以 “否” 的结果中止时, 说明设计或系统不满足某个给定的性质。此时一个违反性质的行为反例将 会。
11、被给出, 此反例将对理解错误的真正原因和修正错误提供线索。 0005 粒子群算法最早是由 Eberhart 和 Kelmedy 于 1995 年提出的, 它的基本概念源于 说 明 书 CN 103970653 A 3 2/3 页 4 对人工生命和鸟群捕食行为的研究。 一群鸟在随机搜寻食物, 在这个区域里只有一块食物, 所有的鸟都不知道食物在哪里, 但是它们知道当前的位置离食物还有多远。最简单有效的 就是搜寻目前离食物最近的鸟的周围区域。 发明内容 0006 技术问题 : 本发明的目的是提供一种传感器网软件可达性验证方法, 用于解决传 感网软件模型检验过程中出现的自动机模型冗余问题, 本发明用粒。
12、子群优化算法优化自动 机模型。 0007 技术方案 : 本发明所述的传感器网软件可达性验证方法, 首先将无线传感网软件 用模型表示, 该模型用来描述节点以及节点之间的状态迁移, 然后用粒子群算法对所得的 软件模型进行优化, 判读无线传感网软件状态之间的可达性。 0008 本发明所述的传感器网软件可达性验证方法具体步骤如下 : 0009 步骤 1、 构建无线传感网软件模型, 该模型用四元组 (S, S0, R, L) 形式来描述, 其 中 S 表示状态集合 ; S0表示初始状态集合 ; R 表示状态迁移, 对任意一个 R, (X0,X1) 表示状态 X0和状态 X1之间存在状态迁移 , 也可以表。
13、示为 X1 (X0), X0 S, X1 S ; L 是用户指定的赋值函数, 该函数用于对原子命题的赋值。 0010 步骤 2、 给无线传感网软件模型中状态集合 S 的每一个状态赋予不同的序号, 记录 无线传感网软件每一个可能执行过程中的所有状态序列, 每一个状态序列用执行过程中先 后到达的状态的序号表示。 0011 步骤 3、 用户标记目的状态 Xn。 0012 步骤 4、 依次选择步骤 2 中记录的无线传感网软件一个可能执行过程中的状态序 列, 查找该状态序列是否包含目的状态 Xn, 若该状态序列包含目的状态 Xn, 则删除该状态序 列中状态 Xn后的所有状态, 进入步骤 5 ; 若该状态。
14、序列不包含目的状态 Xn, 进入步骤 5。 0013 步骤 5、 从状态 X1开始, 计算每个状态到目的状态的状态迁移量, 所述状态迁移量 是指状态到达目的状态的状态路径中包含的状态数目, 设f(i)为第i个状态到目的状态的 状态迁移量, P(i,j) 表示第 i 个状态的邻居状态 j 到目的状态的状态迁移量, N(i) 表示 i 状态的下一状态。 0014 步骤 6、 计算任意一个状态 Xi 的 f(i) 和 P(i,j), 判断 f(i) 与和 P(i,j) 的大小关 系, 若 f(i) P(i,j), 则 Xi与 Xn不连通, 即状态不可达 ; 若出现 P(i,j)f(i), 则对于状态。
15、 i, 选定 P(i,j) 最小的 Xj为状态 Xi 的下一跃迁状态, 即 N(i) Xj。 0015 步骤 7、 判断 Xj是否为目的状态 Xn, 若 Xj Xn, 记录从 X1到 Xn的路径, 循环结束, 进入步骤 8 ; 若 Xj Xn, 令 i j 返回步骤 6。 0016 步骤 8、 使用一种模型检验工具建立传感网软件状态 X1、 X2、 .、 Xn, 用时序逻辑语 言表示用户指定的待验证的性质, 根据用户标记目的状态 Xn及步骤 3 到步骤 7 确定的从状 态 X1到状态 Xn的路径, 进行可达性验证, 若存在到达目的状态的合法路径, 则状态是可达 的, 反之状态不可达。所述模型检。
16、验工具是能够进行模型检验的系统验证软件。 0017 有益效果 : 本发明所述的一种传感器网软件可达性验证方法, 分析与应用相关的 软件是否满足要求, 分析能力强、 可读性高, 能尽早发现软件存在的缺陷和不正确性, 其采 用的形式化方法可以验证复杂系统。具体来说, 本发明所述的方法具有如下的有益效果 : 说 明 书 CN 103970653 A 4 3/3 页 5 0018 1、 本发明所述的传感器网软件可达性验证方法包括抽象模型生成、 粒子群优化算 法和模型检验。通过抽象化方法对传感器网络软件抽象化建模, 利用粒子群优化算法分析 优化, 产生最优路径, 最后利用模型检验技术进行传感网软件可达性。
17、验证。 0019 2、 本发明所述模型检验方法中的抽象模型生成模块实现将被检测的软件转换为 一种形式化的状态自动机模型。 0020 3、 本发明所述的粒子群优化算法是将整个自动机看成一个粒子群, 自动机的中的 每个状态看成粒子, 进而找出最优路径, 具有较强的灵活性。 0021 4、 本发明所述粒子群优化算法将状态之间产生的最优路径记录下来, 提高了传感 网软件可达性验证效率。 附图说明 0022 图 1 是传感器网软件可达性验证具体实施流程图。 具体实施方式 0023 本发明利用传感网协议 ESAWN, 该协议主要是处理传感网数据传输中多个节点向 一个几点发送数据的情况。节点数据通过传输路径。
18、分发和聚合到最后的根节点。为保证信 息传输的正确性, 协议设置监听者, 假设节点 n1 将消息发送至 n2,n2 将消息发送至 n3, 依 次进行, 直到消息发送至根节点。我们将 n1 直接发送给 n2, 并设置监听者监听传送信息, 当 n3 节点收到上一节点发送来的数据时, 会自动与监听信息比较, 判断信息是否正确。如 图 1, 所示, 结合传感网协议 ESAWN, 传感器网软件可达性验证方法具体实施步骤如下 : 0024 1、 建立传感网协议 ESAWN 软件模型。所述模型用四元组 (S, S0, R, L) 形式来描述, 其中S表示状态集合 ; S0表示初始状态集合 ; R表示状态迁移,。
19、 对任意一个R, (X0,X1) 表示状态 X0和状态 X1之间存在状态迁移 , 也可以表示为 X1 (X0), X0 S, X1 S ; L 是用户指定的赋值函数, 该函数用于对原子命题的赋值。计算传感网协议 ESAWN 状态规模 N, 每一个状态的产生序号 i, 并记录所有可能的状态的执行序列, 设定 Si 为状态 序列中第i个状态。 标记传感网协议ESAWN的目的状态Xn, 简化执行序列, 即所有的执行序 列中若包含目的状态, 则执行终止。 0025 2、 计算传感网协议 ESAWN 中每个状态到目的状态的状态迁移量, 所述状态迁移量 是指状态到达目的状态的状态路径中包含的状态数目。设 。
20、f(i) 为第 i 个状态到目的状态 的状态迁移量, P(i,j) 表示第 i 个状态的邻居状态 j 到目的状态的状态迁移量, N(i) 表示 i 状态的下一状态。然后计算传感网协议 ESAWN 中每个状态的 f(i) 和 P(i,j), 判断自身状 态迁移量与邻居状态迁移量大小关系。 若f(i)P(i,j), 则Xi与Xn不连通, 在具体实施中 表示自动机不可达 ; 若出现P(i,j)f(i), 则对于状态i, 选定P(i,j)最小的Xj为状态Xi的 下一跃迁状态, 即 N(i) Xj。判断 Xj是否为目的状态 Xn, 若 Xj Xn, 循环结束, 若 Xj Xn, 令 i j 继续判断。 0026 3、 在具体实施中, 使用 UPPAAL、 NuSMV 等模型检验工具建立传感网软件状态 X1、 X2、 .、 Xn, 用时序逻辑语言表示用户指定的待验证的性质, 根据用户标记目的状态 Xn及步 骤 3 到步骤 7 确定的从状态 X1到状态 Xn的路径, 进行可达性验证, 若存在到达目的状态的 合法路径, 则状态是可达的, 反之状态不可达。 说 明 书 CN 103970653 A 5 1/1 页 6 图 1 说 明 书 附 图 CN 103970653 A 6 。