1.一种基于颜色Petri网及动态切片技术的高速ETC系统的建模和分析方法,其包括如下步骤:S100:通过颜色Petri网对高速ETC系统的业务流程进行建模;
S200:利用颜色Petri网的动态切片技术对所建模型进行形式化分析;
其中,
所述颜色Petri网CPN具体定义为:颜色Petri网是一个九元组CPN = ( P, T, A, Σ, V, C, G, E, I ), 其中,(1) P是一组有限的库所集,用圆圈表示;
(2) T是一组有限的变迁集,用矩形表示,并且 ;
(3) 是一组有向弧集,用有向弧表示;
(4) 是一组有限的非空颜色集;
(5) V是一组有限的变量集,对于所有的变量 , ;
(6) 是一个颜色集函数,指每一个库所映射一个颜色集;
(7) 是一种保护函数,它为每一个变迁t设置一个布尔表达式来判断变迁是否满足发生条件,使得 ;
(8) 是一个弧表达式函数,它给每一条弧赋予一个弧表达式,使得, 其中p是与弧a连接的库所, 表示多重集;
(9) 是一个标识初始化函数,每一个库所都对应唯一的标识,使得;
步骤S100进一步包括如下步骤:
S101:对车辆行驶过程中可能发生的状态和事件进行建模;
S102:对ETC系统内部发生的状态和事件进行建模;
S103:对栏杆控制系统和栏杆的状态进行建模;
S104:将上述三个所建模型组合起来,建立了基于CPN的高速ETC系统模型;
步骤S200进一步包括如下步骤:
S201:计算CPN的静态切片标准,并根据静态切片算法抽取CPN的静态切片;
S202:计算CPN的前向切片标准,并根据前向切片算法抽取出颜色Petri网的前向切片;
S203:取CPN的静态切片和前向切片的交集,最终得到CPN的动态切片;
其中,
所述静态切片标准为目标库所和目标变量;
所述前向切片标准为初始标识、目标库所和目标变量;
所述静态切片算法的步骤如下:
第1步:初始化库所集合 ,对于每一个 , (pi) , , , , , , ,
, , ;
第2步:判断库所 的输入弧表达式上的变量是否被包含在目标变量集合W中,从而找到所有能够传递相关token到库所 的变迁 ;
第3步:对于变迁 ,抽取向其输入token的库所,根据这些库所的颜色集类型,将它们分别放入集合Q或集合S中;
第4步:继续对集合Q和S中的库所进行回溯,并将已经回溯的库所从集合Q或S中移除,直至集合Q和集合S均为空,算法结束;
所述前向切片算法的步骤如下:
第1步:初始化 , , ,
, , ;
第2步:考虑初始标识 下,所有能够启动和发生的变迁;
第3步:对于这些变迁,如果其输入库所个数为1,而且输入库所的 的数据类型与目标库所集合 的 数据类型不一致,则抽取此变迁及其输入库所、输入弧;如果其输入库所个数不止一个,那么只有当其所有输入库所的 数据类型均与目标库所集合的 数据类型一致,而且其输入弧上的变量都不是目标变量的情况下,舍弃这个变迁及其输入库所、输入弧,否则,抽取这些元素作为前向切片的一部分;
第4步:对于已经抽取出来的变迁,继续抽取其输出库所和输出弧;
第5步:计算该变迁发生后得到的可达状态M,对于可达状态M下能够启动和发生的变迁,继续从第3步开始执行,直至在初始状态M0的任意可达状态下,能够启动和发生的变迁均被包含在前向切片中;
所述形式化分析具体为检测车辆是否存在逃费违规状态。
2.根据权利要求1所述的方法,其中,如果发现模型存在车辆逃费违规状态,则提醒对存在漏洞的高速ETC系统的交易流程作进一步改进。