APP下载

基于时间自动机的智慧实训室通信模式研究

2018-03-30黄丽芬

实验技术与管理 2018年3期
关键词:自动机接收端时钟

黄丽芬

(广东行政职业学院 实训中心, 广东 广州 510800)

物联网系统很好地融合了物理世界和信息世界,但物理世界的连续变化和不确定性对物联网服务和通信有较高的实时性、动态性、可靠性和安全性要求[1-3]。为满足物联网通信和服务的稳定性、正确性需求,通信的时间属性异常重要。目前已有许多学者在进行相关研究,尝试将时间属性的约束引入物联网系统感知和服务过程中[4-7],在系统设计的过程中引入时间自动机的概念,避免产生设计缺陷,提升系统的安全性及正确性。这些研究主要是将时间自动机对接物联网系统应用服务层进行建模,且止步于模型逻辑论证,但未涉及建模后具体实现。本文尝试在物联网系统感知层设备通信模式的设计中加入时间属性约束机制,探索由各设备自主约束和管理感知层的通信抉择机制,提出一种基于时间自动机的设备自主管理通信过程的智慧通信模式,并深入研究这一智慧通信模式的具体设计与实现,用以提升智慧实训室系统通信的智慧性、可靠性、安全性和运行效率。

1 时间自动机的概念

1.1 时间自动机的定义

时间自动机有以下定义[4-9]。

(1) 时钟约束:一个时钟变量集X,时钟约束φ的集合中φ(X)定义为:

φ=x≤c|x≥c|xc|φ1∧φ2

其中c是常量。

(2) 时钟解释:时钟集合X的一个时钟解释v给每个时钟分配一个实数值。即:它是一个从X到非负实数集R的一个映射。X的一个时钟解释v满足x上的一个时钟约束φ,当且仅当φ=v为真。

(3) 时间自动机:一个六元组A=,其中,L是有穷状态集合;L0是初始状态集合;Σ是有穷符号集合;X是有穷时钟集合;I为状态节点上的时钟约束映射,即对L中每个状态节点指定一个φ(X)中的时钟约束L→φ(X);E是转换集合,有E⊂L×Σ×2X×φ(X)×L。表示从位置s到位置s′的转换,输入状态为a,φ是X上一个时钟约束,它达到时转变发生;λ⊆X它是复位零值的时钟集合。

(4) 时间自动机积:表达复杂系统时用多个时间自动机复合组成的时间自动机网络,即积自动机。设

1.2 感知层通信模式里时间自动机概念

假设在物联网感知层通信过程中,各感知设备地位均等。各感知设备既可接收数据,也可发送数据,各设备只是在通信模式的类别设计上有所不同。基于时间自动机的通信模式是以时间为轴,根据通信模式规则对各设备数据传输动作形成约束,以此支持在各设备间自主、有序地完成通信过程。

在感知层设备通信过程中,系统进行数据传输有时间和状态约束。根据通信过程中设备状态和约束,定义有连接通信模式的时间自动机模型为Connect_TA= <{ Closed,Idle, Wait,Connecting},{ Closed},{Val_Connect},{n1,n2},CNTAI,CNTAE>,其中有连接时间自动机有Closed、Idle、Wait、Connecting等4个工作状态集合,分别代表关闭、空闲、传输等待(即数据已发送,等待接收端数据确认)、连接中(即连接请求已发送,等待连接确认)。初始状态为Closed。无连接时间自动机模型为NConnect_TA=<{Closed,Idle,Wait},{Closed},{Val_Connect},{n},NNTAI,NNTAE>,有Closed、Idle、Wait等3个基本工作状态集合,分别代表关闭、空闲、传输等待。n为状态节点时系统时钟限制。NNTAI、NNTAE为状态节点时间自动机时钟约束关系与状态转换关系,后根据通信模式及具体需求进行定义并设计。

在设备的时间自动机通信模式设计中,自动机在同一时刻只能处于一个状态。当外部触发事件或时钟约束发生时,自动机会根据当前规定的时钟状态和约束关系转换至下一状态,当某一触发事件或状态出现异常或时钟约束溢出时,时间自动机会返回初始状态,等待下一系列触发事件的发生。物联网系统感知层所有通信节点均内置统一设计的通信时间自动机,每种通信机制由对应的时间自动机自主完成约束管理;当前设备受制的通信机制及时间约束属性,只能对当前设备的通信状态形成约束。设备通信模式里设计的时间自动机约束机制和时间约束属性可以根据通信机制的需求统一变换。

2 基于时间自动机的物联网感知层通信模式

物联网控制系统常见的通信服务模式主要有:(1)点对多点无连接,多播通信模式;(2)点对域无连接,广播;(3)点对所有点无连接,系统广播;(4)点对点无连接;(5)点对点有连接[10-12]。以建立连接与否划分,可分为有连接通信和无连接通信。其中以点对点有连接通信模式过程最为复杂,可以用于设备参数读/写操作、授权管理、密钥管理等重要功能。

2.1 有连接通信时间自动机模型

点对点有连接通信模式是指传输层用户在点对点连接可使用之前先建立传输连接,再传递数据;数据传输完成后,再释放连接的通信模式。连接建立过程是:发送端先发送建立连接请求帧,接收端收到请求帧后,分析原语中的目的地址和自身可利用资源情况,如果允许建立连接,接收端就发送连接确认帧,指示发送端与接收端之间连接建立成功。之后,发送端再发送连接数据请求帧,进行数据传递,接收端接收完数据后发送数据连接确认信息,在数据传送完成后再释放连接,并向接收机发送释放连接请求帧。有连接点对点通信的工作流程如图1所示。

图1 有连接通信的工作流程

有连接通信的输入事件主要有:

(1) 连接请求(T_connect_req);

(2) 连接建立指示(T_connect_ind);

(3) 连接建立响应,连接建立确认(T_connect_con);

(4) 数据传递请求(T_data_req);

(5) 数据传递指示(T_data_ind);

(6) 数据传递确认(T_data_ack);

(7) 连接释放请求(T_disconnect_req);

(8) 连接释放指示(T_disconnect_ind)。

具体描述如图2所示:

图2 有连接通信时间自动机模型

图2中,T1、T2分别为通信连接最大时间周期、数据处理最大时间周期,具体设计时由两个时钟控制来实现,连接超时和确认超时。连接状态转换的管理由连接时间自动机完成,数据传递确认的管理主要由T1、T2进行约束和管理。连接通信开始运行之时处于Closed状态,经各事件输入在Connecting、Idle、Wait状态中切换。在约定时间内没有收到对应的连接确认和数据确认帧,可重发数据帧;超出约定时间周期后放弃操作,回到初始Closed状态。

系统内各设备的最大时钟周期限制和状态转移条件、结果均保持一致,才能保证设备间的连接能有序、可靠完成。另外,时间自动机的程序设计应充分考虑容错处理问题,系统各状态持续时间超出时间周期且没有状态变化则回归初始状态。

2.2 无连接通信时间自动机模型

无连接通信模式是指传输层用户不先建立传输通道即进行数据传输。无连接通信过程连接简单,具体数据传输过程是:发送端直接发送带目标地址的数据请求帧,进行数据传递,接收端收到数据帧后,分析原语中的目的地址,确认地址无误后,存储数据信息和接收数据,完成后发送数据接收确认信息回发送端。无连接通信的工作流程如图3所示。

图3 无连接通信的工作流程

无连接通信的输入事件主要有:数据传递请求(T_Data_Req),数据传递指示(T_Data_Ind),数据传递确认(T_Data_Ack),等。

图4中,T为设置的数据传输超时约束,具体设计时由1个时钟控制实现。无连接时的状态转换管理由无连接时间自动机完成,数据传递确认的管理主要由T来约束。无连接通信未开启之前和开始运行之时,均属于Closed状态,经各事件输入切换状态在Idle、Wait各状态中转换。如果在约定时间内没有收到来自任一设备的对应数据确认帧,可重发数据帧。重发时间超出约定时间周期后放弃操作,回归到初始Closed状态,并向传递无连接数据所在网络发出数据传输错误提示信号。

图4 无连接通信时间自动机模型

2.3 模型验证分析

假设连接确认时钟参数为100单位,数据确认时间为50单位,系统内各设备设置的主频相同。模型验证包括模型逻辑正确性验证和过程正确性验证。

逻辑正确性验证主要是通信死锁验证,验证结果如表1所示。

表1 逻辑正确性验证

对两种通信模式主要执行过程进行验证,验证结果如表2所示。

表2 执行过程验证

表1、2中,A[ ]p表示必然的,即所有路径的所有状态都满足p;E< >p表示可能的,即某些路径中存在状态满足p,E< >p为真,当且仅当在转换系统中从初始状态s0开始存在一个序列s0→…→p[4-6]。

3 基于时间自动机的智慧通信模式设计

以比较复杂的有连接点对点通信模式为例,介绍基于时间自动机的通信模式设计与实现。

3.1 有连接时间自动机的数据结构

在传输层定义时间自动机结构体用以保存连接时间自动机在各个时刻的属性值,涉及的参数包括:(1)地址参数,用于保存建立连接的接收端或发送端源地址;(2)时间自动机状态参数,用于保存时间自动机当前状态属性值;(3)数据帧下标参数,保存当前数据帧的操作次数,用于管理重接和重发数据帧;(4)时间属性参数,保存连接时间属性值和确认时间属性值,用于管理时间约束情况。

连接时间自动机(Connec_Timer_Object)结构体设计参考如下:

Struct Connec_Timer_Object

{

/* ID is the Serial number of this connect */

Struct Address [ ID]

{

Send_addr; //// Address of Send Target

Rcv_addr; // Address of Receive Target

}

Status[ ID]; // Status of Connect

Struct SeqNoes [ ID]

{

SeqNoSend; //Serial number of Send Data Frame

}

Struct AutoTimer [ ID]

{

ConnectTimer; //Timer for connect overtime

AckTimer; // Timer for acknowlege overtime

}

}

连接时间自动机结构体的各部分值可独立存取操作,并以下标序号ID来保证整个时间自动机的统一操作。当输入事件发生时,系统调用连接时间自动机结构体读取当前状态参数和时间约束参数,根据约束机制完成操作后向自动机结构体写属性值。一次通信事件周期完成后自动设置时间自动机参数置位或清零动作。一个连接通信由单独的时间自动机管理,使用多个连接可申请多个有连接时间自动机来管理,连接数量受设备存储空间和处理速度限制。发送端和接收端的连接时间自动机状态转移,需机制统一和时间同步才能确保连接通信能有序、稳定、可靠地进行。

3.2 感知层设备通信工作过程

图5所示为感知层设备通信时各层工作任务和结构的布局。基于时间自动机的通信过程控制和管理主要由链路层、网络层和传输层实现,时间自动机的定义和控制主要在传输层实现。控制信息存放在升降机中,链路层、网络层和传输层根据本层任务可以读取和写入控制字段中信息。

链路层提供数据帧的差错检测功能并实现对数据链路地址的识别。接收信息时,它负责从接收缓冲区检测数据帧的校验字符,判断帧的完整性,放弃校验错误或目的地址不属于本设备的数据帧,对正确接收的数据帧反馈接收正确回复帧,错误的帧反馈接收错误回复帧,并将接收缓冲区(外部变量表)的数据帧和本层判定写入的自动机属性值加载到升降机中,告知网络层接收处理完成。发送时,它根据帧的任务需求在升降机加载相应类型的地址信息,计算并添加数据帧的校验字符,形成完整数据帧后复制到发送缓冲区(外部变量表),通知物理层进行发送。发送完成后,处理接收方发送回复帧。如果发送失败,读取时间自动机时间限制和发送帧序号完成限定时间内的重发功能。

网络层实现网络路由的分配和识别工作,判断当前数据帧的通信模式,并据此对数据信息进行分服务处理。接收时,它负责从升降机中提取并识别地址类型、路由信息、设备类别、自动机地址属性等信息,根据识别结果将不同通信模式的数据帧进行分类处理,通知传输层进行工作。发送时,它根据通信模式的不同,在升降机中对应位置上添加相应地址类型标识,加载设备路由及设备类别信息,通知链路层进行工作。

传输层负责分配、识别传输层控制字段信息,对属于不同通信模式的数据信息提供不同的传输层原语服务,例如指示、请求、确认等原语。传输层支持无连接和有连接等多种通信模式。在接收处理帧时,它从升降机中提取数据帧及自动机控制信息,据此判断帧的通信模式,响应该模式的指示原语服务,调用应用层的应用服务进行后续处理;在发送封装帧时,根据应用层应用服务对通信模式的不同需求,响应请求、确认原语,并将数据帧及自动机控制信息封装进升降机中,通知网络层进一步封装加载数据帧信息。

图5 感知层设备通信各层任务和结构布局

4 应用举例——智慧实训室照明子系统

智慧实训室照明子系统采用EIB通信协议,定义有开关节点设备、被控灯具等设备。以上位机向接收端设备写地址服务为例来分析基于时间自动机通信模式的实现过程及结果。图6为写地址服务流程序列。

图6 写地址服务流程序列

写地址服务可以对接收端的物理地址、组地址表和关联表信息进行配置。设计测试用例完成对目标程序的测试,从调试窗口察看程序运行过程,比较写地址操作的执行结果。其中1个测试用例是将0x0001、0x0024、0x0002、0x0003、0x0004等5个地址内容写入物理地址存储的内存位置。图7是写地址操作时接收和回复数据帧信息。

图7 数据帧传输情况串口监测

根据数据帧往返情况可以看出,发送端与接收端经发送请求、写地址数据帧请求、数据接收确认后,实现对接收端地址的写操作,应答帧及时反馈了写地址的结果。从调试窗口观察到的时间自动机状态转移结果均符合设计要求,在连接或确认超时情形下,能适时正确处理,回到初始状态。

5 结语

在智慧实训室感知层通信中应用时间自动机理论并得到验证。这一研究的结果有助于提升物联网系统的智慧性、稳定性、可靠性和运行效率。随着单设备连接自动机数量增多,通信线路上设备并发数增多,系统复杂性也将急剧增加并影响处理速度,通信冲突等情况也有可能出现。在进一步的研究中将继续深入检验和验证基于时间自动机的通信模式在多连接、多设备并发处理时的状态执行情况和稳定性。

References)

[1] 黄丽芬,黄大荣,陈迪泉,等.数据驱动的智慧实训室服务模式设计[J].实验室研究与探索,2017,36(2):125-130.

[2] 罗国涛,裴广,邓祖朴,等.面向物联网的工作流服务架构模型[J].计算机应用与软件,2014,31(2):9-13.

[3] 丛新宇,虞慧群.基于实时UML顺序图的物联网交互模型[J].计算机科学,2014,41(11):79-87.

[4] 李力行,金芝,李戈.基于时间自动机的物联网服务建模和验证[J].计算机学报,2011,34(8):1365-1377.

[5] 邓雪峰,孙瑞志,聂娟,等.基于时间自动机的温室环境监控的物联网系统建模[J].农业机械学报,2016,47(7):301-308.

[6] 姬莉霞,马建红.基于时间自动机的UML模型转换与验证研究[J].郑州大学学报(理学版),2013,45(1):50-55.

[7] 任龙涛,张超,崔磊,等.基于时间自动机的嵌入式软件压缩与验证[J].计算机工程与设计,2016,37(5):1217-1223.

[8] Alur R, Dill D L. A Theory of Timed Automata[J]. Theoretical Computer Science, 1994, 126(2): 183-235.

[9] Larsen K G,Pettersson P, Wang Y. Uppaal in a nutshell[J]. International Journal on Software Tools for Technology Transfer,1997,1(1):134-152.

[10] 陈迪泉,黄丽芬.谈物联网感知层的技术特征与实现方法[J].智能建筑,2012(9):68-72,75.

[11] 全国工业过程测量和控制标准化技术委员会.控制网络HBES技术规范 住宅和楼宇控制系统:GB/T20965—2013[S].北京:中国标准出版社,2013.

[12] 徐艳萍.KNX/EIB协议栈的研究与实现[D].合肥:合肥工业大学,2014.

猜你喜欢

自动机接收端时钟
基于扰动观察法的光通信接收端优化策略
几类带空转移的n元伪加权自动机的关系*
别样的“时钟”
{1,3,5}-{1,4,5}问题与邻居自动机
顶管接收端脱壳及混凝土浇筑关键技术
一种设置在密闭结构中的无线电能传输系统
基于多接收线圈的无线电能传输系统优化研究
古代的时钟
一种基于模糊细胞自动机的新型疏散模型
一种基于模糊细胞自动机的新型疏散模型