仿真模型图

关键词: 频谱 引言 用户 认知

仿真模型图(精选八篇)

仿真模型图 篇1

Joseph Mitola在上世纪提出认知无线电(CR)系统[1]用于解决无线频谱资源匮乏问题[2]。CR系统通过探测授权用户(PU)未使用的频谱,在不影响PU的前提下,将空闲频段分配给认知用户(CU)使用,可以提高频谱利用率。CR技术的两个最关键的问题是:1)探测“频谱空洞”[3],分配给PU,但在某特定时间段和空间地理位置并不使用的频谱段;2)设计动态频谱分配算法[4]。如何建立一个中央控制系统或者创立一种CU接入机制,管理频谱分配。在验证频谱分配算法效率的时候,必须对频谱分配算法进行仿真。为此,必须建立一种符合实际的CU仿真模型。但是,以往的仿真往往采用随机均匀生成CU的方案,忽略了CU本身所具有的概率特征,导致仿真结果不能反映真实情况。

本文提出一种图论模型[5]下的CU仿真模型(CSG,Cognitive users Simulation in Graph model),根据一般概率分布和均匀分布关系,产生符合特定分布的随机序列用于模拟CU的需求。然后根据地区通信要求,设置通信基站,让CU在地区路网随机分布并按照一定的方式移动,不断计算相应图论模型中的空闲矩阵、可用矩阵、干扰矩阵及带宽需求矩阵。最后和实际情况中CU数量、平均可用信道数及平均干扰数的统计信息进行符号检验,验证了仿真模型的正确性。

1 CSG仿真模型的建立

本文建立的CSG模型,首先随机产生CU,使得单位时间内CU数目服从泊松分布,CU的带宽需求服从正态分布;其次让CU在地区中以不同的随机速度运动;最后随机生成符合基本通信要求的通信服务基站,根据CU和基站的位置关系统计计算可用矩阵、干扰矩阵,并根据CU的移动变化情况实时更新。

1.1 产生符合特定分布的随机数序列

产生符合特定分布的随机数序列是基于以下这个定理[6]:

定理1.1:

(1)如果随机变量ξ的分布函数为F(x),则θ=F(ξ)服从[0,1]上的均匀分布;

(2)反之,对于任意y∈[0,1],如果定义F-1(y)=inf{x:F(x)>y}作为F(x)的反函数{θ n}n,若θ =服从[0,1]上的均匀分布,则ξ= F-1( θ)是服从分布函数为F(x)的随机变量。

证明:

这就说明θ ~U(0,1)。

这就说明ξ的分布函数为F(x)。

以上定理说明,如果要产生分布函数为F(x)的随机变量,我们首先产生[0,1]上的均匀分布的随机数列{θ n}n,再利用ξ= F- 1(θ )得出{ξn}n即为所求。

1.2 产生CU

产生符合特定分布的CU需要用到以下的结果:命题1.2[7]:如果单位时间T内请求系统服务的CU数量n服从参数为λT的泊松分布,则CU申请服务的时间间隔tg将服从参数为λ的指数分布

由此可知,欲使CU数服从泊松分布,只要计算出相应的时间间隔,按照此间隔生成CU即可。如:要让1min内请求系统服务的CU数量服从参数为60的泊松分布,则相应的间隔时间(单位:s)应服从参数为1的指数分布

Step1:生成用户申请系统服务的间隔时间序列 ,则(tn)n对应CU申请服务的时刻。对第一个CU,他将在时刻t1申请服务,而第二个CU将在时刻t2申请服务,依次类推。记CUi申请服务的时刻为tii。

Step2:产生CU服务时间序列(tsi)i代表CUi的服务时间,可以假设ts服从参数为( μ,σ 2)的对数正态分布[8]。如果设用户初次获得系统服务的时刻为tai,那么对用户i,他结束使用系统服务的时刻为tai+tsi,记为tei。(注:在不考虑频谱分配的等待时间时,可以假设tai= tii。)

Step3:产生CU带宽需求序列(bwi)i,假设bw满足一定的比例关系

Step4:生成每个CU移动速率序列(vi,n)n及移动方向序列( θi,n)n,其中i代表CU,v的设定需满足不同交通工具速率(或静止)的比例关系。对于移动方向序列( θi,n)n,可以先指定一个方向作为初始方向,当CU移动到交通路口时按给定的转向比例进行转向即可(实际上,还需要确定CU是否移动到交通路口,我们放到后面一并说明)。

Step5:将每个CU的相关信息联合在一起,组成CU结构体Ui(t),代表时刻t时CUi的相关信息。Ui(t)具有4项属性:Ui(t).st为服务状态,值为0代表未申请系统服务,值为1代表获得系统服务;Ui(t).bw代表其带宽需求;Ui(t).v代表移动速率;Ui(t). θ代表其前进方向。

1.3 产生通信基站及路网

Step1:根据通信基站的设置要求,一般每km2应设置3个以上的基站。我们在2km长,5km宽的范围内进行仿真。设置不同覆盖范围的基站共计30个,令它们在仿真区域内均匀分布

Step2:指定信道总数,对不同基站按覆盖范围对其指定不同的信道,但是其中不同基站的信道将有一部分信道使用相同频带,在它们覆盖范围的公共区域使用这些信道会产生干扰。

Step3:设置道路。人工设置6条有交叉的道路,设其路宽分别为10m三条、15m两条、23m一条。计算交叉路口的坐标、道路方向。(注:交叉路口可能方向为交叉道路的所有方向。)

Step4:画出通信基站及路网的图形。

1.4 产生CSG仿真模型

Step1:产生1.3小节中所提及的通信基站及路网。

Step2:产生1.2小节中Step1~Step3所提及的CU信息。

Step3:令部分CU在路网上均匀分布具体做法为:将路网对应点的坐标做成一个2行1列的矩阵,在时刻t时,如果有CU申请服务,则从中随机抽出一列作为此时申请服务的CU的初始位置,根据用户位置,指定其移动速率和移动方向(即所在道路的道路方向),特别地,如果CU位于交叉路口,则随机指定一个道路方向。

Step4:让CU在路网上移动。具体做法为:让每个用户沿Step3中所指定的移动速率和移动方向,计算下一时刻用户位置,并加入对速率的扰动,使每个用户的速率产生变化。

Step5:统计可用矩阵和干扰矩阵。具体做法为:1)可用矩阵:计算某个CUi离各基站的距离,将距离小于基站覆盖范围的基站的信道全部取出作为用户i的可用信道,再将所用用户的可用信道统计出来即可;2)干扰矩阵:对CUi,找出其可用信道对应的全部基站(TBSk)k∈Ki,找出位于TBSk覆盖范围内的CU的全体(Uk,j)j∈Jk,则干扰矩阵C=(Ci,k,jk),其中Ci,k,jk=1,如果i∈I, k∈Ki, j∈Jk,否则为0。

2 CSG模型仿真

仿照文献[9]中的仿真数据设置,按照CSG模型进行仿真。下面是仿真模型所得示意图。

每个圈代表一个基站的覆盖范围,黑线代表道路,其上每一点的道路方向可用相邻点的差分进行计算,标记“*”代表CU当前时刻所处位置,从图1中可以看出,部分用户位于道路以外,表示其以相对较低的速度运动。在不同道路上的用户有不同速度。

2.1 关于CU数量的比较

(a)仿真数据 (b)调查数据

图2认识用户数量统计直方图 (参见右栏)

根据仿真产生的CU数量(随机抽取40个时刻)与调查所得的用户数量(见图2),基本是相似的。在显著性水平为5%下进行符号检验,结果示于表2。

表2中显示,数据一致性比例为0.7359,通过一致性检验,两者基本可以认为具有相同分布函数。

2.2 关于平均可用信道数的统计结果

平均可用信道数为每个CU可用信道数的平均值,显然它应服从正态分布。从CSG模型的仿真结果中随机抽取50个时刻进行直方图拟合,如图3所示,发现其基本服从正态分布。拟合得到的正态分布参数估计为:

2.2 关于平均干扰数的统计结果

某时刻的平均干扰数 按照以下方法定义:计算当前时刻,用户i使用信道k会对ci,k个用户产生干扰,则 ,其中Ki代表用户i的可用信道之集,而│Ki│代表Ki中信道数目。 其中I代表CU的全体,│I│代表CU数量。

随机抽取50个时刻,计算平均干扰数,对其进行直方图拟合,见图4。

图4平均干扰数直方图拟合

从图4可以看出,平均干扰数基本符合正态分布,与理论结果类似。对应拟合的正态分布参数为:

4 结论

仿真模型图 篇2

关键词:梯形图; 组态; 仿真; 执行理论

中图分类号:TP391.9 文献标识码:A 文章编号:1006-3315(2013)06-172-001

一、绪论

梯形图起源于电气系统的继电器逻辑和执行线路,它用不同的图符来表示不同的指令,用串、并联等概念组织图符的顺序位置来表述逻辑。它沿用继电器的触点、线圈、串并联等术语和图形符号来表达元件以及它们之间的逻辑关系。对于具有电气专业背景的人来说,非常容易接受,而且不需要学习更深的计算机知识。

目前,有的仿真组态平台是人为把梯形图转换成逻辑模块,界面效果不好,如果进行阅读还要重新翻译回去,既费时,效率也不高。因此,组建一个有电气背景知识的人员来进行组态或阅读梯形图的仿真组态平台是非常有意义的,这样的平台可以有很好的逼真性和很高的仿真度。

二、梯形图编程语言简介

梯形图主要的组成元素为[3]:

1.电源轨线

梯形图电源轨线(Power Rail)也称作母线。其图形表示是位于梯形图左侧和右侧的两条垂直线,左侧的垂直线称为左电源轨线,或左母线。右侧的垂直线称为右电源轨线,或右母线。梯形图中,能流从左电源轨线开始,向右流动,经连接元素和其他连接在该梯级的图形元素后到达右电源轨线。

2.常开(闭)触点

如果常开(闭)触点相关布尔变量的状态是0N(OFF),那么将左边链接的状态复制到右边链接。否则,右边链接的状态是0FF。

3.线圈

左边链接的状态被复制给相关布尔变量和右边链接。

4.取反线圈

左边链接的状态被复制给右边链接。左边链接的相反状态被复制给有关布尔变量,也就是若左边链接的状态是OFF,则有关变量的状态是ON,反之亦然。

5.置位(复位)线圈

当左边链接处于ON状态时,有关布尔变量被置位为ON(OFF)状态,并保持该状态直到由RESET(SET)线圈复位。

三、梯形图执行设计总体思路

如图1中所示梯形图,我们把每个触点看成一个可以开合的开关,而左母线看成一直是通电状态的供电电源,而触点之间的连线看成是一种导线,只是通电的一个过程。而本文最后程序处理是把这个问题转化成了通路的问题,即从左母线开始共有几条通路能到达线圈5,即使得线圈5有电状态。由上例可以看出,共有两条通路,一条是通过触点1、4到达线圈5,第二条是通过触点2、3、4到达线圈5。

而这种思路的优点是运行时候不必全部把这些通路执行一遍,而是只要先判断出来一条通路是通着的,即线圈5有电,则下面的通路都不用执行,这样省略了执行时间,提高了程序运行效率。

通过上述分析就可以将梯形图转化成AOV图,将用户编写的高级语言程序转换成与之等价的低级语言程序供下位机使用。源码是梯形图,是面向图形的,应该转化成计算机能够识别的语言,即驱动程序。基于这个目的,本文的梯形图转化策略主要完成两个工作:

(1)如果直接将用户编辑的梯形图转化成计算机能识别的目標码,难度比较大,所以先将梯形图转化成AOV图;

(2)再有AOV图通过查找最短路径和通路数来实现驱动程序的编写。

四、梯形图向AOV图转换程序设计

AOV图是一种有向图,用顶点表示活动,用弧表示活动的优先关系。因此,我们可以将梯形图各触点和线圈映射成AOV图的顶点,触点和线圈之间的前驱后继关系映射成AOV图的弧。转换程序主要思想为:

(1)先从图元即AOV图顶点集合中找出一个引脚坐标最小的图元A,当做搜索起始点;

(2)根据连线信息找出与作为起始点的图元引脚相连接的图元,作为该图元的后继结点。若连线信息搜索完毕,即没有与图元A的引脚相连接的连线,搜索停止;

(3)将与起始点图元相连的图元压栈;

(4)然后将栈中的图元依次出栈;

(5)转(2)。

根据上述算法,就可以将梯形图转换成AOV图,从而转换成了通路的问题,并且可以进一步利用最短路径算法,求出最短路径,则最优通路就是最短路径,更加提高了程序的运行效率。

本文主要是对梯形图执行顺序进行了理论研究,把梯形图执行看成是两点之间一共有几条通路,以及哪条通路能使得线圈通电的问题。这样,可以把梯形图转化成AOV图,然后采用搜索后继方法找到两点之间共有几条通路,这样可以大大提高程序的执行效率。

参考文献:

[1]王俊梅等.面向对象组态软件流程图CAD的开发与实现,工业控制计算机,2000,13(3):25-27

[2]彭瑜,何衍庆.IEC61131-3编程语言及应用基础[M]北京:机械工业出版社,2009:41-80

仿真模型图 篇3

利用维修仿真技术对机务维修人员培训,突破了以往训练中对地点、时机等条件的限制,提高维修效率[1]。测试过程是维修过程的重要环节,测试过程仿真使得在没有实物对象时就可开展部分的测试训练工作,同时还可针对维修测试训练中的关键点与难点合理、方便地安排训练项目,对机务人员维修技能提高有重要意义。但目前大多数过程仿真模型针对整个维修任务,而非维修任务执行的各个工序(测试、测量、拆装等)[2],对测试过程仿真模型研究相对匮乏。

多信号流图是目前较有效的测试性分析模型,其利用有向图表征系统故障和测试依赖关系[3,4,5,6]。进行测试性分析时,需诊断分析测试点与故障的关系,从而确定测试点的分布。此外,还需根据采集的测试点信息,判断故障类型、状态等属性。本文利用多信号流图模型进行测试过程仿真建模,无需分析考虑上述问题,模型中的测试点分布以及故障属性均通过飞机故障定位手册TSM(Trouble Shooting Manual)得到。基于多信号流图模型,构建故障-测试矩阵、故障-故障矩阵,确定测试顺序,实现对测试过程仿真。结合A320飞机前货舱烟雾探测系统实例,证实了该方法在测试仿真过程中可行、有效。

1 维修测试过程仿真

1.1 维修测试过程

维修测试的一般结构如图1所示。

飞机各个系统的自动测试设备(BITE)接收并处理来自传感器、探测器等终端设备传送的故障信息。维护计算机采集并将这些故障数据记录在数据库中,通过一套复杂的基于逻辑方程的诊断来完成故障综合诊断。多功能控制显示组件MCDU(Multi-functional Control and Display Unit)可以与维护计算机通话,启动系统测试,显示故障数据等为维护人员提供故障报告和维护信息。

1.2 仿真思想

本文是对维修测试过程即图1中的故障信息与维护计算机以及MCDU之间的信息传递过程进行仿真。而不是仿真系统的自动测试设备(BITE)内部处理过程。

测试过程中的信号传递过程实质就是故障传播及故障确认的过程。多信号流图模型,通过构造故障-测试矩阵、故障-故障矩阵以及故障传播层次图对系统的故障传播过程进行数学描述,符合测试过程仿真的要求。利用多信号模型对故障传播进行建模,不必要建立系统准确的定量关系,只需确定系统重要的功能属性[3]。最终,由测试较容易的识别故障原因,并将测试结果显示在MCDU上。

2 测试过程仿真模型

测试过程仿真模型主要包括多信号流图模型、故障-测试矩阵、故障-故障关联矩阵以及测试过程矩阵四部分。

2.1 多信号模型

故障隔离结论、测试点、有向图为多信号模型的三个组成元素[4]。模型中用fi表示故障隔离结(j=1,2,…,m;m为系统的故障隔离结论总数),当fj对应的故障发生时为“1”,反之为“0”。用ti表示测试点(i=1,2,…,n;n为系统的测试总数),若ti输出正常,则为“0”,反之为“1”。用有向图将故障与测试的关系联系起来[5]。

与测试性分析不同的是,维修测试的多信号流图模型中,故障隔离结论(故障原因)是可预知的。测试结果可查阅故障定位手册TSM(Trouble Shooting Manual)的ECAM章节部分确认。ECAM列表主要由Source、Message、Isolation Procedure等列组成。其中Source指故障信息的来源,通常为具有自动测试设备(BITE)的组件如起落架控制接口组件(LGCIU)、烟雾探测控制组件(SDCU)、引气监控计算机(BMC)。Message为系统在故障情况下进行MCDU测试的最终结果。Isolation Procedure为故障任务号。若仿真的测试结果已知,查阅ECAM的Message确认,由与之对应Isolation Procedure列便可定位故障任务号。每个故障任务号都包含可能的故障原因内容,该部分内容即为多信号模型中的故障隔离结论。

模型中的测试点同样是可预知的,指TSM手册Fault Isolation章节中要求的测量位置。本文的测试点不同与测试性分析时的实际物理测量位置。是依据飞机系统原理手册ASM(Aircraft Schematics Manual)以及飞机线路图手册AWM(Aircraft Wiring Manual)的电路模型构造的模拟测试点。

信号流图中的有向图不直接描述故障与测试的关联关系,而是将故障与测试的关系以功能信号为纽带联系起来。

2.2 故障-测试关联矩阵

故障-测试关联矩阵描述了故障与测试的相关性信息[6],记为FT=[ftij]m×n,表示如下:

其元素定义为:

其中行表示故障源,列表示测试[7]。行向量为所对应的组成单元故障在各个测试上的反应信息,记作Fi=[fi1,fi2,…,fij];列向量为所对应的测试可测得的故障信息,记作Fi=[fi1,fi2,…,fij]T。关联矩阵FT可通过可达性算法或列(行)矢量法得到。从故障fj所在组件出发,沿输出方向搜索多信号模型,凡是能够到达的测试点节点tj,即为该故障可达测试点,测试关联矩阵中对应的元素ftij值为“1”。若搜索过程中,fj无法到达测试点节点tj,ftij值为“0”。

2.3 故障-故障关联矩阵

故障-故障关联矩阵描述的是故障之间的传播关系,记为FF=[fij]m×n,表示如下:

其元素定义为:

对于有m个故障源的系统,其故障-故障关联矩阵由邻接矩阵R得到[8]:

邻接矩阵R描述了相邻故障源的传播关系,记为R=[rij]m×n,元素定义为:

故障传播邻接矩阵R可以由多信号流图模型得到。式中“+”表示布尔矩阵意义下的逻辑加运算。“Rm”表示布尔矩阵意义下的m次幂。

2.4 测试过程矩阵

观察故障-故障关联矩阵,若列向量Fj=[f1j,f2j,…,fij]T仅含一个不为0元素,则对应的故障隔离结论fj即为测试过程矩阵的源节点(第一层节点);若行向量Fi=[fi1,fi2,…,fij]中仅含一个不为0元素,则对应的故障隔离结论fi为阱节点(最后一层节点)。消去故障-故障关联矩阵中源节点所在的行和列,观察新生成的矩阵,仅含一个不为0元素的列向量对应的故障隔离结论为第二层节点,按照此方法依次划分到阱节点。若源节点fm仅影响一个其它的节点fn,假设fn属于第k层,则将fm等效为第k-1层节点。按照从左到右的顺序依次排列第一层至最后一层的节点,最终得到测试过程矩阵。由测试过程矩阵得到故障传播层次图[9]。

对测试过程的仿真如下:测试顺序为先低层测试点后高层测试点,同一层次的测试点不分先后。各层次中的测试点均无故障测试,测试结果正常。任一个测试节点有故障,测试结果为该节点指向的所在层次为单一节点的测试点信息。若故障的测试节点单独构成一个层次,测试需进一步明确是本身功能故障还是与其它组件相关联功能故障,若本身故障测试结果显示其本身信息;若与其他组件相关联的功能故障,测试结果显示与之相关联的组件信息。

3 仿真实例

以A320前货舱烟雾探测系统的测试过程为例,对其建立多信号流图模型,构建故障-测试、故障-故障关联矩阵、故障传播层次图,实现对其维修测试过程的仿真。

3.1 前货舱烟雾探测系统

前舱烟雾探测系统主要两个烟雾探测器、烟雾探测控制组件(SDCU)等构成。SDCU内部装有自动检测设备(BITE)和监控系统,采集烟雾探测器的信息并与中央故障显示系统(CFDS)接合,记录有问题的组件和系统的故障,并最终通过在多功能控制显示组件(MCDU)的测试结果呈现给机务维修人员。其测试过程功能如图2所示。

3.2 维修测试过程仿真

从A320系列故障定位手册TSM的26章防火系统中总结出与前货舱烟雾探测系统相关联的测试结果(故障信息)如表1所示。

表1中Source为SDCU,意味着故障信息被SDCU的机内自检设备(BITE)检测到,Message是MCDU上的最终测试结果。由Isolation Procedure栏定位任务号为26-16-00-810-801,该任务下的故障原因包括C/B(12WQ)、C/B(11WQ),供电信号线Wire1、Wire2、Wire3、Wire4、Wire5、Wire6,烟雾探测控制组件SD-CU,烟雾探测器1WH、2WH。故障原因即为模型中的故障隔离结论。同时任务中要求的检测信号分为3类,直流28V电压V1,电阻R,以及接地电压V2。模型设置了14个测试点,其中t1、t2、t3、t4为直流28V电压V1的检测,t5、t6、t7、t8、t9、t10、t11、t12为电阻R的检测,t13、t14为接地压V3的检测。最终将故障与测试用有向图连接起来,形成多信号流图模型,如图3所示。

根据多信号流图模型,分析各检测信号与故障之间的关系,得到故障-测试关联矩阵FT如表2所示。

由多信号流图模型可得到故障传播邻接矩阵R。依据式(5)便可得到故障-故障关联矩阵FF如表3所示。

根据故障-故障关联矩阵FF,得不同层次的测试点(节点)。第一层:f1、f3、f12、f13;第二层:f2、f4;第三层:f5;第四层:f6、f7;第五层f8;第六层:f9、f10;第七层:f11。其中f12仅对第五层的f8有影响,将f12等效为第四层测试点。f13仅对第七层的f11有影响,将f13等效为第六层测试点。最终得到测试过程矩阵见表4所示。

由测试过程矩阵得故障的传播层次图如图4所示。

前货舱烟雾测试过程仿真如下:依次测试第一层至第七层的测试点,若均无故障,显示测试结果正常如图5所示。

若f1、f3、f2、f4中任一节点故障,测试结果显示f5故障信息;f6、f7、f12任一节点故障,测试结果显示f8故障信息;f9、f10、f13中任一节点故障,测试结果显示f11故障信息;若f5(f8或f11)自身功能故障,则显示f5(f8或f11)故障信息;若f5与f8之间的接口故障,则显示f8故障信息,同理若f8与f11之间的接口故障,则显示f11故障信息。以出现f9节点故障为例,其测试结果如图6所示。

故障信息可通过测量测试点t9、t10测试点进行确认,f9无故障时,模拟测试点t9,t10之间的测试电阻应该为0Ω,如图7所示;出现断路故障时,测试电阻应该为无穷大,如图8所示。由此确认图6的测试结果由f9断路故障引起。

4 结语

本文以前货舱烟雾探测系统为例,构建多信号模型、故障-测试关联矩阵、故障-故障关联矩阵、故障传播层次图模拟了机载测试的过程。模型借助定性关联分析,只定性地考虑故障与测试的关联关系,最后生成包含元素0和1的相关性矩阵,是一种较粗糙的定性建模方法,忽略了一些有用的定量信息,结果可能造成一定的偏差,因此有待进一步的深入探讨。

参考文献

[1]柳辉,郝建平.基于虚拟维修仿真的维修性分析系统设计与实现[J].系统仿真学报,2006,18(2):378-394.

[2]周栋,吕川.虚拟维修仿真建模与控制实现[J].北京航空航天大学学报,2006,32(7):843-846.

[3]薛凯旋,等.基于多信号模型的测试性分析与故障诊断策略设计[J].弹箭与制导学报,2008,28(4):225-228.

[4]张帅,等.基于多信号模型的空间站某典型产品测试性建模与分析[J].空间控制技术与应用,2011,37(5):45-48.

[5]Somnath Deb,Krishna R Pattipati,et al.Multi-signal flow graphs:A novel approach for system testability analysis and fault diagnosis[C]//Proceeding of 1994 IEEE AUTOTESTCON,Anaheim,CA,1994,9:361-373.

[6]杨智勇,等.基于多信号模型的系统测试性建模与分析[J].工程设计学报,2007,14(5):364-368.

[7]Azam M,TuF,Pattipati K R,et al.A dependency model-based approach for identifying and evaluating power quality problems[J].IEEE Transactions on Power Delivery,2004,19(3):1154-1166.

[8]杨鹏,等.基于扩展的关联模型的测试性分析技术研究[J].系统工程与电子技术,2008,30(2):371-374.

仿真模型图 篇4

业界认为,5G与4G相比,需要满足传输速率提高10 ~100倍、连接设备密度提升10 ~ 100倍、流量密度提升100 ~1 000倍等技术指标,实现用户体验速率达到0. 1 ~ 1 Gbit / s、用户峰值速率达到10 Gbit/s,支持移动性达到500 km/h以上[1]。采用何种技术来满足这些需求成为5G研发面对的难题,为了解决频谱有效性和功率有效性的问题,需要在组网技术、网络系统结构和无线传输技术等方面实现新的突破。为了解决未来移动通信的频谱效率和功率效率,文献[2]、文献[3]提出了使用大规模阵列天线的方法,在基站覆盖区域内集中配置数十根甚至上百根的天线形成大规模MIMO无线通信环境。利用大规模阵列天线提供的空间自由度,分布在基站覆盖区域内的多个用户占用同一时频资源同时与基站进行通信,提高了频谱资源的复用能力; 同时,利用基站大规模天线配置所提供的分集增益和阵列增益,每个用户与基站之间通信的功率效率也可以得到进一步提升。在4G无线通信系统中,基站侧采用4或者8根天线,当天线数量增加一个量级或以上甚至达到上百根后会引发一系列的技术难题[4,5,6,7,8]。本文对阵元数量增加时阵列天线成形性能进行了研究,比较了均匀直线阵的阵元数目由8根增加到128根时的方向图,得出了各阵列天线的波瓣宽度,并仿真分析了阵元数目增加时均匀圆阵的方向图,最后分析了信道估计准确度对大规模阵列天线成形性能的影响

1 阵列天线方向图

阵列天线可以达到能够同时自动跟踪若干个用户的目的,能够对当前的传输环境进行最大可能匹配。阵列天线的激励由幅度I和相位φ两部分组成,设阵元i的激励为wi,则有

在给定阵元数目情况下,调整阵列天线辐射方向图的方法有3种: 调整阵元激励幅度、调整阵元激励相位和调整阵元空间分布。按照阵元的空间排列方式不同,阵列天线可分为直线阵、平面阵和三维阵。

1. 1 均匀直线阵

对于直线阵,将其方向矢量表示为α( θ) ,可以得到阵列的辐射方向图函数为

对于各阵元间距相等的均匀直线阵,在工程实际应用中阵元的激励幅度和相位都对称分布。第四代通信系统中基站侧采用4或8根天线,本文中研究的大规模阵列天线的阵元数目为2的幂次,当天线数目为偶数时,均匀直线阵方向图函数为

式中: N为天线阵列的阵元数目; d为阵元间距。

1. 2 均匀圆阵

均匀圆阵列天线是由在一个圆周上或多个同心圆周上均匀分布的天线单元构成的,均匀圆阵坐标系如图1所示,阵元为N,半径为R,设目标位于图中位置,信号的俯仰角θ为目标信号入射方向与z轴的夹角,方位角φ为从x轴沿逆时针方向到信号入射方向在阵列平面上投影的夹角,则方向矢量为r = ( sinθcosφ,sinθsinφ,cosθ) 。均匀圆阵 的方向图 函数[9]为

2 方向图与主瓣宽度

仿真得出阵元天线数目为8、16、32、64、128时,均匀线阵的方向图如图2 ~ 图4所示。

由仿真结果可知,主瓣宽度和阵元数目成反比,随着天线阵元数目增加,主瓣宽度越窄、幅值越高,旁瓣的幅值越低,即功率汇聚效果越好,目标指向性越强。对于均匀直线阵,其阵列天线方向图对称分布,阵列天线的增益与阵元数目成比例,因此大规模天线阵列可以获得更高的增益。单个偶极子天线的方向性随着尺寸的增加而增大,但在实际设计中天线尺寸不能无限增大,所以通过改变单个天线的尺寸而增强方向性的做法的适用范围是有限的,因此大规模阵列天线对于方向性的控制和辐射波瓣的成形具有显著的优势。随着阵元数目的变花,不同规模的阵列天线的主瓣宽度见表1。

均匀圆阵的方向图随着阵元数目增加的变化如图5所示。当阵元数目为32或者64时可得到较高的主瓣增益。相对于线阵和传统的平面相控阵,圆阵列天线具有一些独特的优势。线阵提供的方位角最大只有180°,方向图特性和增益等随着扫描角的改变而不同。传统的平面相控阵天线的波束宽度随着扫描角的增大而增大,其波束扫描范围较窄,局限在120°以内; 另一个缺点是传统的平面相控阵天线的测角精度和增益随着扫描角的增大而降低,即它的精度和增益与波束宽度和扫描角是矛盾的,不能同时得到最优; 此外,传统的平面相控阵天线单元之间的互耦效应是扫描角的函数,难于保持平衡。均匀圆阵列天线可以同时提供方位角和俯仰角信息,可以提供360°的方位角覆盖,波束指向通过循环移动阵列激励就可以完成,操作灵活简单。

由图5仿真结果可知,随着天线数目的增加,阵列增益和指向性能越好,但是第一副瓣的高度也明显增加了,且第一零点的深度变浅,这是均匀圆阵列天线的局限性所在。因此,相对较高的副瓣电平和较浅的零陷深度是大规模均匀圆阵列天线设计和使用过程中需要重点考虑的问题。

3 信道估计的影响

本节研究信道估计准确度对天线方向图成形的影响

3. 1 信道估计与预编码

假设基站侧配置的天线数目为M,M∈{ 8,16,32,64,128} ,支持的用户数量为K,在发送端做预编码可得第k个用户的接收信号为

式中: Hk为发送端到用户k的信道矩阵; Wk为对用户k的数据做预编码使用的矩阵; dk为发送给第k个用户的数据信息;nk为用户k信道上的噪声。

在预编码系统中,发送端使用的信道矩阵Hk依赖于接收端所做的信道估计和反馈。假设用户k估计出的信道矩阵为,然后将信道信息反馈至发送端,发送端接收到所有K个用户的反馈 信息后可 得到信道 矩阵的估 计值,则发送端实际使用的预编码矩阵为

3. 2 仿真分析

在数字通信系统中,基于信道估计设计均衡器可以抵消信道引起的信号失真,接收端可以采用插入导频、盲估计或者半盲估计的方法进行信道估计。相对于接收端,发射端获得信道状态信息要相对困难。对于TDD模式的LTE系统,在相干时间内信道满足互易性,基站可利用接收到的信息进行信道估计并以此作为下行信道的状态信息; 对于FDD模式的LTE系统,信道互易性不成立,信道估计需要依靠接收端反馈信息到发射端。由于反馈时延、反馈信道带宽有限、反馈过程中存在噪声干扰以及信道状态信息量化过程不可避免地存在量化误差等原因,导致发射端获得的信道状态信息为非理想的信道状态信息,即部分信道状态信息。发射端根据信道状态信息进行预编码设计,可以实现功率分配、波束形成和自适应调制,提高系统性能和功率利用率,同时降低接收端检测和恢复信号的复杂度。阵列天线激励权值的确定是方向图成形的核心环节,在无线通信系统中,假设通过反馈机制,发射端能够预先获得关于信道状态的相关信息,阵列天线根据这些信息通过不同准则的自适应算法计算得出波束形成的最优权值,然后对每个阵元的激励幅值和相位进行调解,能够提高系统可靠性。基站相对终端具有更强大的信号处理能力,移动终端体型较小且依靠电池供电,在发射端做预编码能够大大降低接收端信号检测的复杂度。

信道估计的准确度会影响自适应权值的计算结果和天线阵列的方向图。根据图6和图7的仿真结果,在信道估计不准确时,主瓣幅值降低,旁瓣的功率增加。64和128阵元的阵列天线具有极窄的主瓣,这意味着当用户偏离主瓣方向时,接收效果明显变差,因此要求大规模阵列天线具有较强的跟踪效果来保证用户通信的可靠性。

在大规模或者超大规模的阵列天线系统中,信道矩阵的阶数相对较高,增加了反馈信道的开销和频谱负担,反馈序列较长时,更容易受到时延和信道噪声的影响,因此信道优化估计问题有着重要意义。

4 小结

仿真模型图 篇5

近些年来,已有部分学者对航空组件建模进行了研究。邹冰根据飞机环境控制系统中基本组件的工作原理、结构性能参数和部件试验曲线等,利用MATLAB / SIMULINK仿真平台开发了组件的仿真模型[7]。马麟龙运用机理建模方法,根据飞机空调系统基本组件的工作原理,建立了热交换器、涡轮冷却器、压气机和传感器等组件的精确数学模型[8]。耿宏将LRU按照内部结构和功能划分为不同的模块,再采用离散事件系统DEVS的原子模型和组合模型描述组件的功能模型[9]。刘睿等人提出了基于模型重构的航天器部件级故障建模方法,将部件划分为不同的功能单元进行建模[10]。以上建模方法均详细分析了组件的结构和工作原理,从而得到了较为准确的组件功能模型。但对于数量庞大的航空电子组件来说,这些建模方法较为费时费力,并且不具有良好的重用性。而建立适用于飞机维修仿真的组件模型,关键在于保证模型能满足飞机维修仿真过程中的维修行为,而并不需要详细分析组件的具体工作原理。

针对上述问题,本文提出SCM( simulation component model) 方法建立规范化的航空电子组件模型,以满足飞机维修仿真过程中系列维修行为的需要。航空电子组件,即飞机四类LRU中的重要一类,主要包括计算机、收发机、传感器、显示器等组件。因此,在建模过程中,遵照SCM建模规范和框架,依据航空电子组件在维修过程中的特性和功能,具体定义模型输入和输出信号接口的离散状态变量组成,定义模型运算规则,由此衍生出组件操作、测试、拆装、排故等维修行为。模型应用时,先与适配器进行消息映射,再通过适配器实现与中间件的交互,可使仿真模型适用于不同的开发和运行环境。该建模方法简单高效,既可满足组件的维修仿真功能,又便于程序的开发和扩展,提高了仿真模型的重用性和兼容性。

1 建模过程

1. 1 建模方法

仿真组件模型SCM是在基于组件设计思想( component-based design,CBD) 的基础上提出的通用仿真开发模型[11—13]。SCM主要由仿真功能主体和适配器组成。仿真功能主体由控制接口、输入/输出接口、用户接口和模型运算规则组成。仿真功能主体对任何开发和运行环境的中间件都适用,不需更改; 适配器是连接仿真功能主体与不同中间件的桥梁,为两者的交互提供服务。

SCM使用统一的描述标准和设计方法实现组件模型,既具有CBD平台无关模型的优点,又是针对不同中间件的仿真组件模型[14,15]。仿真组件可通过适配器运行在不同的中间件上,从而适用于不同的开发环境和运行环境。

基于SCM的航空电子组件仿真模型如图1 所示,采用控制接口、用户接口、输入信号接口、输出信号接口的接口规范,并通过消息映射的方式与适配器相连。

1. 2 模型描述

1. 2. 1 控制接口和用户接口描述

控制接口是模型的默认接口,负责组件模型的仿真控制,包含6 个接口函数: 模型初始化、仿真推进、仿真暂停、仿真恢复、仿真停止、仿真退出,可由式( 1) 表示。

在模型仿真时,每一时刻只调用一个函数,当某函数被调用时,定义其返回值分别为CY。式( 1) 中各函数的具体内容及其返回值表示如下:

CInt: 模型初始化函数。指在仿真系统加载组件模型后,组件模型完成初始化动作,如分配物理内存、加载模型资源、读入外部配置文件、完成功能实例化等。定义CY= 1。

CStep: 仿真推进函数。指组件模型按照一定的时间间隔推进仿真进行,并通过该接口完成仿真算法。定义CY= 1。

CPause: 仿真暂停函数。指中断模型的仿真推进,从而使模型保持当前状态。定义CY= 0。

CRestart: 仿真恢复函数。指模型从暂停状态恢复至仿真推进状态。定义CY= 1。

CStop: 仿真停止函数。指模型结束仿真推进状态,并持久保持当前状态。定义CY= 0。

CExit: 仿真退出函数。指结束模型仿真,释放物理内存。定义CY= 0。

用户接口是模型预留接口,是为特定环境下的仿真功能提供的接口,用户可根据实际建模的具体需求定义该接口。

1. 2. 2 输入信号接口描述

航空电子组件仿真模型的输入信号( X) 包括:开关量输入( XB) 、功能信号输入( XS) 、故障信号输入( XF) 和拆装信号输入( XR) 。表示如下:

式( 2) 中,输入信号XB指与模型相关的仿真驾驶舱控制面板上按钮电门或跳开关的动作输入。式( 3)表示组件仿真模型A可接收来自若干个按钮或跳开关Bi的动作输入,其中,每个动作输入均为布尔型变量,取值如式( 4) 所示。式( 3) 和式( 4) 中的符号A或Bi均用组件在手册中的FIN表示。

输入信号XS指与模型直接相连的上一级组件模型的功能输出信号。式( 5) 表示组件仿真模型A可接收来自若干个上一级组件模型Cj的功能信号输入,其中,每个功能信号输入均为布尔型变量,取值如式( 6) 所示: 式( 5) 和式( 6) 中的符号A或Cj均用组件在手册中的FIN表示。

输入信号XF来自维修仿真系统控制端的故障注入,为布尔型变量,表示可以设置和取消故障。取值如下:

输入信号XR指来自飞机维修3D仿真环境中的组件拆装状态输入信号:

1. 2. 3 输出信号接口描述

组件输出信号包括功能信号输出( YM) 和拆装驱动信号输出( YD) : YM输出信号指组件模型的功能信号输出,用于作为下一级组件模型的输入信号,或者传递给FWC、CFDIU及DMC,在仿真驾驶舱上显示效应( 正常效应或故障效应) ; YD输出信号指驱动3D仿真环境中的组件做平移或旋转运动,从而实现拆装维修行为。输出信号表示如下:

1. 2. 4 模型运算

( 1) 功能信号输出YM的逻辑运算。

功能信号输出YM是模型逻辑运算的结果,实现了航空电子组件仿真模型的主要功能,其数学表达式如下:

式( 10) 中,运算符号* 定义为与、或、与非、或非这四种运算中的任意一种,由组件输入信号之间的实际逻辑关系决定。

f( X) 可根据不同的输入信号及其相应的逻辑运算,实现模型的功能信号输出,输出信号用于驱动其他组件和显示相应驾驶舱效应,从而满足组件操作、测试和排故等维修行为。在满足CY= 1 的情况下: 若XF = 1,表明组件模型无故障输入,处于功能正常状态,经过对开关量输入和功能信号输入的运算,YM输出模型正常功能信号; 若XF = 0,表明组件模型有故障输入,处于故障状态,则YM输出故障信号,实现组件的排故维修行为。

( 2) 拆装驱动信号输出YD的条件运算。

设需拆装组件的初始位置坐标p0,初始角度为θ0,位置坐标和角度改变量分别为 Δp和 Δθ 。若XR = 1,表示3D仿真环境中有拆装输入,需对组件进行拆装,拆装行为分为平移和旋转,具体表现为组件坐标和角度的变化; 若XR = 0,表示3D仿真环境中无拆装输入,组件位置坐标和角度无需变化。数学表达式如下:

1. 2. 5 消息映射

采用SCM建模,消息映射是指可在模型代码中直接调用消息发送函数,通过适配器完成与中间件的数据映射,实现数据转换。从而可根据适配器的不同,使组件模型适用于中间件,提高了组件模型的重用性和兼容性。

2 建模举例

飞行增稳计算机( FAC) 属于航空电子组件,用于维持飞机飞行姿态的稳定,主要功能包括: 偏航阻尼器功能、方向舵配平功能、方向舵行程限制、特性速度的计算和飞行包络的保护。飞机上一共有2 台飞行增稳计算机,FAC1 主控,FAC2 备用。由于篇幅限制,本文只以方向舵配平功能为例建立FAC1仿真模型。根据飞机维修手册,分析归纳出FAC1的输入输出信号,如图2 所示。

方向舵配平功能一共有两种控制方式: 自动控制和人工控制。自动控制通过自动驾驶仪AP接通时执行来自FMGC的配平指令完成; 人工控制通过方向舵配平控制面板上的人工输入配平指令完成,人工输入配平指令分为配平控制指令和配平复位指令。自动控制方式具有优先权。在正常操作中,FAC接收方向舵配平指令,并将配平指令发送给方向舵配平作动筒,进而改变方向舵的配平位置。同时,方向舵配平位置传感器将方向舵的位置信号传输至下ECAM的F/CTL页面和方向舵配平控制面板上的显示器显示。

2. 1 FAC1 的输入信号接口描述

2. 1. 1 开关量输入信号XB

①仿真驾驶舱顶板49VU上的跳开关5CC1 的输入信号,5CC1 控制汇流条801PP提供给FAC1 的28 V直流电压。定义5CC1 的状态变量为XB5CC1,取值如下:

②方向舵配平控制面板上的配平复位按钮电门8CC的输入信号,定义8CC的状态变量为XB8CC,取值如下:

③方向舵配平控制面板上的配平控制电门9CC的输入信号,定义控制电门9CC的状态变量为XB9CC,取值如下:

④仿真驾驶舱顶板23VU上的FAC1 按钮电门12CC1 的输入信号,定义12CC1 的状态变量为XB12CC1,取值同式( 12) 。

由式( 12) ~ 式( 14) 可得,FAC1( 1CC1) 的开关量输入信号集合为:

2. 1. 2 功能输入信号XS

①来自FMGC1( 1CA1) 和FMGC2( 1CA2) 的自动驾驶仪接通指令输入,定义状态变量分别为XS1CA1、XS1CA2,取值同式( 5) 。

②汇流条801PP通过跳开关5CC1 提供的28 V直流电压信号,定义变量为XS801PP,取值如下:

综上可知,FAC1 ( 1CC1) 的功能输入信号集合为:

2. 1. 3故障输入信号XF1CC1和拆装输入信号XR1CC1

取值如式( 7) 和式( 8) 所示。

2. 2 FAC1 的输出信号接口描述和模型运算

2. 2. 1 输出信号YM

指FAC1 对输入信号处理后输出的方向舵配平指令,作用于方向舵配平作动筒。YM可分为FAC1的自动控制配平指令输出YMauto和人工控制配平指令输出YMmanu,人工控制配平指令YMmanu又分为配平控制指令YMmanu-C和配平复位指令YMmanu-R。

由模型运算关系式( 10) 可得:

式( 18) 中,

式( 20) 中,

式( 22) 中,

2. 2. 2 输出信号YD

由于FAC1 是计算机,其拆装行为只涉及平移,不涉及旋转,可得:

2. 3 仿真结果

自制的飞机维护综合训练器上验证本文所建立的FAC1 仿真模型。定义模型的控制接口,并编程实现组件功能和维修过程,再通过定义适配器,使仿真模型可以在基于不同中间件的仿真平台中重用。

飞机在地面上,并且FAC1 无故障时,可以测试人工控制下的正常方向舵配平功能。由式( 22) 和式( 23)可知,当各输入信号满足条件时,通过操作方向舵配平控制电门9CC,可以实现方向舵向左或向右的配平,仿真结果如图3 所示。同理,若式( 20) 中各输入信号满足条件,通过操作方向舵复位按钮电门8CC,可以实现方向舵的复位功能,仿真结果如图4 所示。

当FAC1 故障时,FAC2 立即接管FAC1 的功能,变为主控,方向舵的配平功能仍能实现。而由式( 18) 、式( 20) 、式( 22) 和式( 23) 可知,当XF = 0 时,经逻辑运算,FAC1 的输出信号YMauto、YMmanu-R、YMmanu-F和YMmanu-C均为0,表明FAC1 处于故障状态。上述输出信号传输给FWC及CFDIU处理后,再传给驾驶舱显示组件显示故障效应,仿真结果如下图5 所示。

FAC1 故障后,需对其排故,按照排故手册步骤,需更换FAC1,在3D维修仿真平台完成拆装,由式( 24) 可规划其运动路线。拆卸的部分过程如图6所示。更换FAC1 后,故障效应消失,FAC1 正常工作。

3 结论

航空电子组件是飞机维修仿真的重要组成单元,采用SCM方法建立了航空电子组件仿真模型,详细介绍了模型建立过程和模型运算方法。该建模方法简便易用,可运行在不同的中间件上完成仿真功能。经实例建模和验证,确实可满足航空电子组件在飞机维修仿真中的操作、故障和拆装等维修行为。

摘要:在飞机维修仿真中,针对航空电子组件仿真模型不统一、重用性差的问题,提出基于SCM(simulation component model)的规范化建模方法建立组件模型。采用SCM规范定义模型框架后,依据航空电子组件在维修过程中的特性和功能,将组件的输入信号归纳为开关量输入、功能信号输入、故障信号输入和拆装信号输入四类,输出信号定义为功能信号输出和驱动信号输出两类,然后进一步界定了模型输入信号、控制信号和输出信号之间的运算规则,以满足组件操作、测试、拆装、排故等维修行为。最后,以飞行增稳计算机组件为例,在自制的飞机维护训练器上实现其模型化表达,仿真结果表明该方法可行。

仿真模型图 篇6

随着电力系统规模不断扩大电子计算机技术飞速发展, 数字仿真已经成为电力系统领域工程技术人员研究复杂电力系统的有效手段之一[1]。实时数字仿真 (RTDS) 的出现是计算机技术、并行处理技术和数字仿真技术发展的产物。随着电力系统规模不断扩大以及高压直流 (HVDC) 和新型灵活交流输电系统 (FACTS) 设备不断接入系统, 采用RTDS全电磁暂态针对大规模电力系统进行实时仿真研究渐渐成为一种发展趋势。中国南方电网就是典型的世界上最大规模交直流混合电力系统, 2010年将形成“八交五直”主网架系统, 要采用RTDS系统对南方电网进行研究, 其实时仿真建模工作的难度更大。

南方电网仿真实验室在大规模电力系统实时仿真方面开展了大量研究工作。针对南方电网2008年规模, 建立了含10个计算机架单元 (Rack) 的RTDS模型, 并且指出搭建大系统仿真模型的难点之一是如何划分网络, 即将整个网络合理地分配到各个Rack中[2]。根据网络结构图对整个等值网络进行合理划分将直接影响仿真模型能否在RTDS系统上正常运行。

目前计算资源的划分工作一般都采用人工分配, 并在多次试凑后才能获得合理的分配方案, 获得的分配方案只是可行但并非一定最优。本文提供一种减少人工划分计算资源工作量, 并保证计算资源最优分配的电力系统实时仿真计算资源划分方法。该方法通过子图同构算法自动获得最优的计算资源分配方案, 为大规模电网RTDS系统的Rack自动最优划分提供了一种解决方案。该方法已成功应用于大型电力系统实时仿真建模 (2010年南方电网模型) 工作中, 可以减少人工分配的工作量, 提高Rack分配的准确程度。

1南方电网RTDS系统构成

RTDS系统是计算机技术、并行处理技术和数字仿真技术发展的产物, 具有并行处理技术和专门设计的硬件, 可保证运行的实时性。RTDS系统可以在50 μs级的步长上实时仿真较大规模的电力系统[3]。另外, RTDS系统的元件模型和仿真算法建立在电磁暂态分析标准技术的基础上, 其仿真正确性已获得公认[4]。RTDS系统以其良好的计算性能, 可以实现实时的数模混合仿真, 已广泛应用于继电保护[5]、直流控制保护[6,7]、安稳装置[8]的测试中。

RTDS系统的基本组成部分称为Rack, 每个Rack 在物理上独立, 一般包括1块工作站连接同步卡、1块Rack间通信 (IRC) 卡、若干处理器卡以及若干与处理器卡相连的输入/输出接口卡。Rack与Rack之间的通信采用660 MHz 通信通道, Rack与工作站之间采用10 Mbit/s 以太网进行通信, 所有通信都采用并行方式。IRC卡处理Rack之间的数据通信, 每个IRC 卡都拥有6个通信接口, 可以分别与6个Rack相连, 所以一个包含7个Rack 的RTDS 系统可以实现Rack之间两两相连。目前南方电网18个Rack之间的连接关系如表1所示, 其联络关系见附录A图A1。本研究使用Rack3~Rack20共18个Rack, 其中Rack5和Rack6连接直流 (兴安/高肇/天广直流) 实际控制保护装置。

2子图同构算法

在电力系统实时仿真过程中, 模型的建立是关键的技术工作。大型电力系统结构复杂, 其电网的联络复杂, 尤其是远距离、大容量的HVDC输电系统的存在使拓扑关系更为复杂[9]。大型电力系统仿真工具一般都采用多个处理器并行处理计算以提高计算效率, 而不同处理器之间需要通过通信进行连接。由此产生了2种拓扑结构:一是仿真电网的实际物理连接;二是处理器之间的拓扑连接关系。本文应用图论中的子图同构原理, 针对2种拓扑结构, 通过寻找同构的子图, 获得可行的计算资源分配方案, 并以通信连接数目最小为目标, 获得计算资源的最优分配方案, 以提高计算效率, 同时减少计算资源人工分配的工作量[10]。

子图同构问题是图论中的一个重要分支[11], 可以比较2个图拓扑结构是否匹配, 在模式识别中得到广泛应用[12]。子图和同构的定义分别如下。

定义1 对一个图H, 满足H的所有顶点都包含于图G的顶点集, H的边都包含于G的边集, 且H中边的端点分配与G中一样, 则称HG的子图, 记为HG

定义2 如果图G中顶点uv的连线uv属于图G边的集合E (G) , 则uv映射到图H中的顶点f (u) 和f (v) 的连线f (u) f (v) 也属于图H边的集合E (H) , 反之亦然, 则称图G和图H同构, 即从简单图G到简单图H的同构是一个双射f:V (G) →V (H) , 使得uvE (G) 当且仅当f (u) f (v) ∈E (H) , 记为GH

子图同构问题是一个典型的NP问题, 是计算复杂度理论领域至今没有得到很好解决的问题[13]。

3模块划分实现

在南方电网RTDS系统建模的过程中, 由于RTDS计算规模限制, 必须将南方电网中的各个电气元件分配到各个Rack中, 通过Rack之间的通信, 实现整个南方电网的实时仿真。因此, 首先对南方电网进行划分, 确保每个模块 (Block) 都可以用现有的Rack板卡进行计算。根据Rack的个数, 将南方电网划分为18个Block, 如图1所示。划分过程中还要考虑直流系统之间的连接, 固定其中8个Block与Rack的对应关系, 即Rack3~Rack8, Rack16, Rack17分别对应天广直流、高肇直流、兴安直流和云广特高压直流输电系统的整流侧和逆变侧, 具体的联络关系图见附录A图A2。

根据联络图, 分别生成Rack关联矩阵MRack和Block关联矩阵MBlock, MRack的行和列均是从Rack3到Rack20, MBlock的行和列均是从Block1到Block18。矩阵中, 元素1表示2个节点存在直接联络关系, 0表示2个节点无直接联络关系

关联矩阵MRack和MBlock分别为:

ΜRack=[011010100001000001100001111100000000100110100010000000001001111100000000101001010000000011010110101100000000111101010000000000010110101100000000010101010110000000010101011010000000001000001101110000100000000010111010000000000011011100000000000011101110000000000001110111000000000000111011000010000001011101100010000000001110

ΜBlock=[011000000000001000101000000000000000110000110000000000000011001100000000000101000001000000000110101000000100001001010010000000001000101000100000000101010100000000000100001011010000000000100100010000000010000100100000000000010001010000000000000110101110100000000000010001000001000000010001000000000000010001000000000000001110

Block的联络关系是一个电气连接关系, 是由电网结构确定的。Rack的联络关系是一个通信连接关系, 是由IRC的硬件配置决定的。建立南方电网的大规模RTDS模型, 实质上就是在Rack的联络图中, 找到一个与Block联络图同构的子图, 从而将南方电网中的各个Block分配到Rack中进行仿真计算。因此, Block划分与RTDS系统中Rack物理联系之间的匹配关系可以理解为图论中的子图同构问题。

Rack和Block的数目相同, 但联络关系不同, 即2个图的顶点数相同, 但边的数目不同。子图同构即是在Rack的联络图中找到一个子图与Block的联络图同构, 从而得到Block与Rack的对应关系

子图同构算法是将MBlock进行行列变换, 当变换后矩阵为MRack的子矩阵时, 则实现子图同构, 否则不同构。变换后的矩阵排序, 即为Block与Rack的对应关系

利用子图同构算法求解搜索所有的可行方案, 可获得如表2所示的Block与Rack的对应关系, 共6种方案。其中R表示Rack, B表示Block。

综上, 本文提出的基于子图同构的对电力系统实时仿真的计算资源划分方法步骤概括如下:

1) 分析RTDS系统中各Rack之间的通信联络, 建立各Rack之间的关联关系, 并建立各Rack的关联图;

2) 分析仿真电网中各电网模块Block的拓扑结构, 建立各Block中的关联关系, 并生成各Block之间的关联图;

3) 通过在各Rack关联图中寻找与各Block关联图同构的子图, 获得计算资源分布的可行方案。

4结语

本文针对南方电网大规模电力系统RTDS系统建模过程中所遇到的Block划分和Rack计算资源分配问题, 在国内首次提出了基于子图同构算法的RTDS系统Block划分方法。利用子图同构的思想, 把Block划分和Rack分配对应为在Rack的联络图中寻找与Block联络图同构的子图, 并自动生成Block与Rack的对应方案, 获得最优的Rack分配方案。通过南方电网建模过程实例, 验证了算法的可行性, 为今后大规模电网RTDS系统的Rack自动最优划分提供了一种解决方案。

仿真模型图 篇7

车辆悬架直接影响着汽车行驶平顺性和操纵稳定性。主动悬架一般都涉及到多个能量域 (液压、电磁流变液等) , 用传统的建模与分析方法 (如微分方程法) 会十分复杂繁琐, 也不利于整车模型的分析。键合图理论的发展[1], 为整车动力学分析提供了有效的手段, 也利于不同汽车子模块的耦合分析, 现今不少用于整车仿真的软件也是基于键合图的原理实现的。

本文将使用键合图语言构建1/4 主动油气悬架 (AHP) 的模型, 推导其状态方程, 并利用MATLAB仿真分析悬架的相关性能。

1 1/4主动油气悬架 (AHP)

典型的1/4主动油气悬架振动模型如图1所示, 由电磁阀驱动控制, 油液作为介质压缩气室中的惰性气体, 实现刚度特性, 采用管路中的小孔节流实现阻尼特性[2]。

图1的振动模型主要考察的是在垂直方向上的运动特性 (减振效果) 。在垂直方向上的3个位移量zr, zus, zs分别表示路面不平的输入、非簧载质量的运动和簧载质量的运动;轮胎模型在垂直方向简化为弹簧kt及非簧载质量mus;车架等悬挂在悬架上的质量统一为簧载质量ms;控制器采集车身的加速度a产生控制电流is控制电磁阀的动作, 使之产生通往液压缸 (液压缸内压力pc) 的油液流量Qv;电磁阀的具体控制是将高压泵产生的高压 (psys) 油液压入液压缸 (此时is>0) 或者使液压缸的油液回流油箱 (油箱内压力pres即为外界大气压, 此时is<0) ;储能器的作用是产生弹力效果, 气室内 (氮气) 压力与体积分别为ps和Vs, 液压缸经由节流阻尼Rd (通过流量Qs) 连接储能器。

2 油气悬架的键合图模型

在不影响模型正确性的前提下, 对油气悬架作如下假设和规定:所有管路都是刚性的, 且系统没有泄漏;储能器 (气室) 中的油液压力与气体压力处处相等, 在动态条件下没有热交换[3];伺服阀动态特性并入控制系统作为控制的一部分;规定能量的方向为满足压缩为正。

2.1 键合图模型

根据前述的振动模型和假设规定, 建立含有信号键的主动油气悬架混合键合图模型, 如图2所示。在图2中, 根据标准化的规定, 阻性元件、容性元件以及惯性元件分别用R, C, I这些符号表示。转换器TF通过液压缸的活塞 (面积Ac) 将机械能中的力与速度分别转换为液压能量中的压力与流量。图2的键合图模型在每个键合图元的旁边均标出了键合图元与图1对应的物理振动模型参量之间的对应关系

表1给出了在键合图中计算所用的符号与传统物理变量符号之间的对应关系, 以便后续方程的使用与计算。

对于储能器的特性, 由于不是线性的, 所以不需要确定其容度参数, 但是作为容性元件在键合图中表示[4]。

2.2 状态方程

在键合图模型中, 含有3个容性元件C2, C14和C18, 分别对应于物理参量表示轮胎刚度、油液压缩率和气囊弹性容度;2个惯性元件I4和I8分别表示非簧载质量和簧载质量。确定1/4主动油气悬架的状态变量为:

输入源变量如下:

首先确定各储能元件和阻性元件的特性, 即:

活塞与液压缸壁之间的摩擦使用非线性模型[5], 从而阻性元件R11的非线性关系为 (其值取负值) :

Fc, Fm, k1, k2确定了非线性摩擦模型的静摩擦与动摩擦的组合方程的参数;dv为存在相对速度时动摩擦的速度影响系数。

对于气囊, 在动态条件下, 惰性气体通常没有足够的时间与外界环境交换更多的热, 由压力—容积的等熵定律pVγ=p0V0γ (γ 是在固定压力和体积条件下特定的热度比值, p和V是气体的瞬时压力和体积, p0与V0是初始时刻的压力和体积) , 可以得到非线性容性元件C18的关系式:

根据因果关系和功率流方向依次列出及的流方程和势方程如下:

将输入源U及式 (1) 、 (2) 和 (3) 代入式 (4) 最终得到微分方程与代数方程混合形式的非线性油气悬架系统的状态方程如下:

2.3 参数及初始状态

表2给出了系统主要物理参数, 以及计算所需的物理常量, 包括重力加速度g、液压油体积模量E、液压缸油液未受到压力时的自然体积Vc0。

根据表2的参数, 由于油液的压缩率极小, 油液的体积液容可由油液的体积模量线性化得到[6]:

初始状态由车辆静止时的状态决定, 此时轮胎、油液、储能器下室均受到来自车重的影响, 因此初始状态计算需要根据车辆静平衡计算得到, 即:

3 控制仿真

汽车悬架性能指标主要有车身加速度、悬架动挠度以及车轮动载荷。在这3个性能指标中最能反映车身振动特性的是车身加速度。图2的键合图中控制器就是以车身加速度来进行控制的。

控制器的控制规则 (将伺服阀的动态特性包含到控制器中) 如下:

其中:e为PID的控制输入, 也是偏差值;ad为期望的车身加速度;kp, ki分别是控制的比例系数、积分系数。方程 (6) 即是PI的控制方程。

根据前述假设, 定义伺服阀的流量与压力差的平方根成正比, 伺服阀流量特性如式 (7) 所示:

其中:kv为伺服阀的增益。控制参数见表3。

本文路面激励使用白噪声干扰模型, 这也是描述路面形态最常用的模型[7]。用时域内速度功率谱密度G·q (f) 描述路面不平度的统计特性:

式中, 参考空间频率n0=0.1m-1;路面不平度系数Gq (n-0) =128×106 m2/m-1, 相当于B级路面上限, C级路面下限;v是车速。则实际路面轮廓可由白噪声通过积分器产生, 即:

其中:w (t) 为零均值单位白噪声。

图3为路面随机激励 (车速30m/s) , 图4为被动与主动悬架车身加速度对比。可看出在图3的路面随机激励下, 由于伺服阀的主动控制, 车身加速度相比被动悬架得到了很好的抑制作用。

为了更好地显示车辆受到路面冲击时电磁阀的动作情况, 做如下仿真, 输入的冲击路面信息如图5所示 (车速以15m/s过障) 。图6 为冲击路面下车身加速度。

可以清晰地看出, 在车辆受到路面冲击的时候, 主动油气悬架提高了车身的稳定性, 减少了车身的振动。

4 结论

本文根据键合图模型详细推导了具有非线性特性的油气悬架状态方程, 通过MATLAB的数值仿真, 直观体现了主动控制油气悬架能明显降低车身加速度, 提高了车辆舒适性。

摘要:基于2自由度1/4主动油气悬架的振动模型, 建立了其对应的键合图模型。根据键合图模型详细推导了具有非线性特性的油气悬架状态方程, 充分体现了键合图理论在分析不同能量域耦合系统中的优越性。利用MATLAB强大的计算能力, 对状态方程进行仿真, 对比了主动油气悬架与被动悬架的特性, 结果表明主动控制的油气悬架有效减少了车身加速度, 提高了行驶平顺性。

关键词:键合图,非线性,主动油气悬架,仿真

参考文献

[1]危淑平.基于键合图法的多领域系统建模与仿真[D].兰州:西北师范大学, 2012:5-9.

[2]史文库.现代汽车新技术[M].北京:国防工业出版社, 2011.

[3]庄德军.主动油气悬架车辆垂向与侧向动力学性能研究[D].上海:上海交通大学, 2006:3-8.

[4]Dean C Karnopp.System Dynamics——Modeling and Simulation of Mechatronic Systems) [M].刘玉庆, 译.北京:国防工业出版社, 2012.

[5]Knorn F.Modeling and control of active hydro-pneumatic suspension[R].[s.l.]:Daimler Chrysler Research&Technology and Otto-von-Guericke-Universitat Magdeburg, 2006:9-17.

[6]王中双.键合图及其在系统动力学中的应用[M].哈尔滨:哈尔滨工程大学出版社, 2007.

仿真模型图 篇8

上述方法多关注于顺序图中系统的部分行为和某些消息序列,但顺序图中所有对象的交互事件序列与对应的所有对象的状态图之间的一致性才是真正的一致性。

1 系统概述

文中提出一种用NuSMV进行UML状态图和顺序图的一致性检测方法。研究的顺序图包含选择、可选以及并行片段的异步消息和同步消息;状态图包含组合状态以及并发状态。检测的基本步骤如下:首先根据需求文档,用状态图来模拟交互的行为,用顺序图来描述交互的顺序;接着对状态图和顺序图建立模型,把一致性表示为时序逻辑,作为NuSMV的输入,这样就可以检测消息的行为和顺序的一致性。

图1为UML验证工具的框架。它提供前端XML转换器和后端SMV程序产生器。XML转换器从XML中提取出UML图的结构,用中间语言表示;SMV程序产生器模拟UML图的表达,把中间语言转换成表示模型的布尔公式和表示性质的时序逻辑CTL。把模型和性质作为NuSMV的输入,根据产生的结果判断顺序图与状态图的一致性。

2 UML状态图

UML状态图是在有限状态机的基础上引入了状态的层次化、并发以及互斥来提高自身的描述能力,所以状态图是有限状态机的一种扩展[6]。它可以通过对象的状态以及状态间的转换来描述一个对象基于事件反应的动态行为。

2.1 UML状态图的语法

在有限状态机的形式化定义的基础上,文中对状态图进行形式化定义。

定义1 UML状态图是一个六元组StD=(S,S0,π,T,δ,λ),其中:

(1)S是一组有限状态集,任何时候,都只允许处于一个确定的状态。

(2)S0是初始状态。

(3)π是一组事件集合,πe代表从外部接收的事件,πa代表响应事件。

(4)T是一组状态变迁集合,TS×πe×Guard×πa×S′,其中S=source(ti)为源状态名,S=target(ti)为目标状态名,Guard是πa发生的监护条件,为布尔条件。

(5)δS→2s表示状态间的层次关系,对于任一状态s,δ(s)表示s的所有直接子状态。如果δ(s1)=δ(s2),那么s1=s2,即为同一个状态。

(6)λS→(AND,OR)表示状态的与(AND)分解、或(OR)分解。当为OR时代表的是互斥子状态,为AND时为并发子状态。

2.2 UML状态图的转换

根据状态图的形式化定义,下面给出状态图到SMV的转换规则:

规则1 状态图中的状态集、事件集都表示为布尔变量,都初始化为false(初始状态为true)。只有在状态被激活时状态变量为true;执行了响应事件后,响应事件变量为false。

规则2 顶层状态图中的初始状态所指的状态作为初始值,初始化为true;对于子状态中的初始状态,在该子状态被激活后初始状态为true。

规则3 对于状态图中的每一个变迁ti,转换SMV程序中变迁的一部分。每一个变迁act(ti)都是由变迁发生的前置条件pre(ti)、后置条件pose(ti)以及不变量inv(ti)组成,用布尔公式表示为

act(ti)=pre(ti)∧post(ti)∧inv(ti) (1)

规则4 变迁ti的pre(ti):变迁的源状态source(ti)处于激活状态,同时外部接收的事件πe处于激活状态,并且监护条件Guard为真,布尔公式表示为

pre(ti)≡source(ti)∧πe∧Guard (2)

规则5 变迁ti的post(ti):变迁的目标状态target(ti)处于激活状态,源状态source(ti)处于去激活状态,响应事件πa处于激活状态,从外部接收的事件πe处于去激活状态,布尔公式表示为

post(ti)≡target(ti)∧πa∧┐source(ti)′∧┐πe′ (3)

规则6 变迁ti的inv(ti)布尔公式表示为

inv(ti)=vunchanged(ti)(v=v)(4)

其中,unchanged(ti)表示在ti变迁中没有发生改变的元素v,包括状态以及外部接收的事件。

规则7 若状态为OR状态,且为原子状态,则表示为SMV程序的布尔变量;若OR状态的子状态仍然是OR状态或者AND状态,则对其进行分解,直到分解为原子状态。

规则8 若状态为AND状态,则将其分解为多个并行的原子状态,再将原子状态对应为SMV程序的变量。

规则9 若一个变迁的目标状态是一个复合状态,则在进行上述变迁转换后同时要激活一个控制变量,使得子状态能够被激活。

综上所述,一个状态图就可以用布尔公式B表示,它是状态图中对所有变迁进行析取,即

BtiΤact(ti)(5)

由于研究的是一个系统中多个对象状态图与顺序图的一致性,所以在建立状态图模型时需要描述多个状态图合作完成。在UML状态图转换过程中,每个状态图都包含在顶层的状态图中,这样可以把多个状态图处理为多个并发运行的状态,对多个状态图的处理也就转化为对拥有多个并发状态的问题[7,8]。

3 UML顺序图

UML顺序图展示了一种交互,由一组对象和对象之间的关系组成,着重体现对象间消息传递的时间顺序[9]。

3.1 UML顺序图的语法

定义2 UML顺序图可以表示为一个六元组SD=(Obj,Msg,Loc,F,K,ComFrags),其中:Obj是顺序图中有穷对象的集合;Msg是顺序图中消息的集合;Loc是顺序图中位点的集合。位点是对象的生命线上发送或者接收消息的点。每个位点都形如:ei.j,其中表示第i个对象;j为对象i中从上到下的位点;F∶Msg*{s,r}→Loc是顺序图中从消息到位点的一个函数关系s表示消息的发送r表示消息的接收;消息类型函数K∶→{s,a},把一条消息映射为同步消息或者异步消息,s表示同步,a表示异步;ComFrags=〈comfrag1,comfrag2,…,comfragn〉是顺序图中所有组合片段的集合,每个组合片段comfrag是一个六元组。comfrag=〈type,Obj,Msg,Loc,subcomfrags,operates〉,其中,type是该组合片段的交互操作符,其值为type∈{opt,alt,par,assert,neg,loop,seq,strict,break,ref};Obj是该组合片段覆盖的对象集合;Msg是该组合片段所包含的消息集合;Loc是该组合片段所包含的位点的集合;Subcomfrags是该组合片段内所嵌套的组合片段集合,若无嵌套,则为空operates是该组合片段包含的交互操作集合,当type为opt、loop、break、neg任意一个时,组合片段只能包含一个交互操作。

3.2 UML顺序图的转换

根据顺序图的形式化定义以及语义描述,下面给出顺序图到SMV程序的转换规则,其中,每一个事件act(ei.j)由事件发生的前置条件pre(ei.j)、后置条件post(ei.j)以及不变量inv(ei.j)组成的,用布尔公式表示为

act(ei.j)≡pre(ei.j)∧post(ei.j)∧inv(ei.j) (6)

规则10 对于异步消息的发送:由于异步消息是指发送消息者可以在发送消息后进行其他的工作,而不用等待接受者的回应;同时,还要求发送消息之前要等待前一个事件的完成,所以异步消息发送事件ei.j的前置条件pre(ei.j)的公式

pre(ei.j)≡ei.j-1∧┐ei.j∧┐mi.j (7)

其中,ei.j-1表示对象在事件ei.j之前需要完成的事件;mi.j表示事件ei.j要发送的消息。

后置条件post(ei.j)表示事件ei.j发生后,消息mi.j处于激活状态,公式表示为

post(ei.j)≡ei.j′∧mi.j′ (8)

不变量inv(ei.j)表示除了事件ei.j变化外,其他事件都处于原来的状态,公式表示为

inv(ei.j)eE/ei.je=e(9)

规则11 对于异步消息的接收,由于消息的发送事件必须在接收事件之前,并且一个对象上的事件之间的顺序也要满足上方事件先于下方事件,所以异步消息的接收事件ei.j前置条件pre(ei.j)的公式

pre(ei.j)≡┐ei.jei.j-1∧ek.lmi.j (10)

其中,ek.l表示事件ei.j中消息的发送事件。

后置条件post(ei.j)表示事件ei.j 发生后,消息mi.j处于去激活状态,公式表示为

post(ei.j)≡ei.j′∧┐mi.j′ (11)

不变量inv(ei.j)表示除了事件ei.j变化外,其他事件都处于原来的状态,公式表示为

inv(ei.j)eE/ei.je=e' (12)

规则12 对于同步消息的发送:同步消息是在发送消息之后要等待对方的回应之后才可以继续进行另外一个事件,所以发送事件ei.j的前置条件pre(ei.j)的公式

pre(ei.j)≡ei.j-1∧┐ei.j∧┐mi.j (13)

由于同步消息要求事件ei.j在发送完消息后不能进行另外的事件,所以后置条件post(ei.j)的公式

post(ei.j)≡┐ei.j′∧mi.j′ (14)

不变量inv(ei.j)表示除了事件ei.j变化外,其他事件都处于原来的状态,公式表示为:

inv(ei.j)eE/ei.je=e(15)

规则13 对于同步消息的接收:由于同步消息发送消息之后仍要等待回应才可以进行另外一个事件的特点,所以接收事件ei.j的前置条件pre(ei.j)的公式

pre(ei.j)≡┐ei.j∧┐ek.lei.j-1∧ek.l-1∧mi.j (16)

同理,后置条件post(ei.j)的公式

post(ei.j)≡ei.j′∧ek.l′∧┐mi.j′ (17)

不变量inv(ei.j)的公式

inv(ei.j)eE/ei.jek.le=e(18)

综述所述,一个顺序图的语义就可以用布尔公式S表示,它是顺序图中每个对象的所有事件进行析取组合,即

Sei.jEactei.j(19)

以上的表示只能用于简单的顺序图的表示,不能表示UML2.0中用来描述复杂结构的组合片段的顺序图。在此基础上,对以上方法进行扩充。文中主要关注UML2.0顺序图组合片段中的选择片段Alt、可选片段Opt以及并行片段Par。

规则14 对于Alt组合片段:

(1)每个分支使能条件中的变量应该设置为布尔型的全局变量,初始值为false,以便于该顺序图中除该对象以外的其他对象可以根据该使能条件进行执行路径的选择。对于具有嵌套结构的复合组合片段,在转换成布尔公式时,将父分支的使能条件与子分支的使能条件的和作为对象分支的使能条件。

(2)每个分支中事件的前置条件中添加使能条件变量,只有当变量为true时事件才发生。

(3)每个分支中事件的前置条件中前一事件的发生应该是Alt组合片段之前的事件。

(4)Alt组合片段之后事件的前置条件应该是Alt每个分支上事件的析取。

规则15 对于Opt组合片段:Opt为可选组合片段,相当于Alt组合片段中else分支为空的情况,所以处理与Alt组合片段处理类似。

规则16 对于Par组合片段:与Alt片段比较,Par片段的不同是它表示并发区域中的事件是并行执行的,所以表示方法与规则14的(4)不同,Par组合片段之后事件的前置条件应该是Par每个区域上事件的合取。

4 一致性检验准则及实验

4.1 一致性检验准则

采用NuSMV作为模型检测工具,需要把顺序图和状态图转换为NuSMV的输入语言,即SMV程序。文中的模型主要是针对含有多个逻辑语义的顺序图和多层状态图,因此定义了一个新的一致性检验准则:多个状态图进程同时执行时出现的踪迹与顺序图表示的事件序列一致,则顺序图与状态图一致。

具体实现方法如下:

(1)将顺序图的每个事件表示为布尔公式,然后进行析取组合得到顺序图的语义S

(2)将多层状态图进行分解,然后按照给定的规则把每一个状态机转换成一个模块,父状态机与子状态机的关系变成父模块创建子模块;状态机中的变迁都用布尔公式表示,然后进行析取组合得到状态图的语义B

(3)把布尔公式BS进行析取作为NuSMV的输入,其表示一个系统中状态图所满足的变迁关系和顺序图所满足的消息时间关系

(4)检测的CTL性质表示为ei.jEEFei.j。如果满足一致性检验准则,则顺序图与状态图是一致的;如果不满足,则给出反例,指出不满足一致性的路径。

4.2 实验

以飞机订票系统为例,讲述状态图和顺序图的一致性检测。飞机订票系统作为机场与顾客之间的桥梁,顾客可能通过系统来咨询飞机航班的信息,或者预订飞机票。图2为订票系统的状态图,图3是订票系统的顺序图。

状态图转换成的SMV部分程序如下:

MODULE Airport(book,requestticket,hasticket,success,noticket,failure,query,answer,cancel,active)

VAR

service:boolean;//状态都定义为boolean类型

stopped:boolean;

VAR

bookticket_sub:Sub_bookticket(book,requestticket,hasticket,success,noticket,failure,in_service);//调用并发子状态service的一个子状态,子状态用一个MODULE表示

query_sub:Sub_query(query,answer,in_service);//调用并发子状态service的一个子状态

DEFINE

in_service:=servie & active;//由父状态的active来决定是否激活

in_stopped:=stopped & active;

INIT

active->service & !stopped//初始状态为true,其他状态均为false

TRANS

((in_service & cancel & next(stopped) & !next(service)& !next(cancel))

| !active)//每一个变迁转换为TRANS的一部分

将顺序图转换成的SMV部分程序如下:

((!e1.1 & !book & next(e1.1) & next(book)

& next(e1.2)=e1.2 & next(e1.3)=e1.3& …)//事件e1.1的布尔公式,表示发送book消息

|(!e1.2 &e1.1 &success &e2.4 & next(e1.2) &!next(success)

&next(e1.1)=e1.1 &next(e1.3)=e1.3 &……)//事件e1.2的布尔公式,表示接收success消息

| ……)

把建立好的UML顺序图和状态图的模型作为NuSMV的输入,运行结果如下:

NuSMV>read_model-i e:smvexbook_air.smv

NuSMV>go

NuSMV>check_ctlspec

——specification EF(e1.1&e1.2 &e1.3 &e1.4 &e1.5 &e2.1 & e2.2 &e2.3 &e2.4 &e2.5 &e2.6 &e2.7 &e2.8 &e3.1 & e3.2 &e3.3) is true

可以看出运行的结果为“true”,说明顺序图和状态图是一致的。在顺序图与状态图不一致的情况下,运行的结果为“false”,并且会显示出一条反例路径,指出不一致的地方。

5 结束语

提出一种用NuSMV进行UML顺序图和状态图一致性检测的方法。该方法提出了一种新的顺序图和状态图的一致性检测准则,可以处理有选择、可选和并行片段的多逻辑语义以及异步消息的顺序图与状态图的一致性检测。

摘要:用户可使用UML从不同角度对系统进行建模,但不同视图间存在信息冗余,会导致视图不一致的问题。文中提出形式化与可视化UML互补建模的方法,探讨用模型检测验证UML模型中的状态图和顺序图的一致性问题。针对具有复合片段的顺序图提出分析方法,将复杂层次结构的状态图转换为有限状态机,再用模型检测工具NuSMV对建立的模型进行验证。最后通过实例对此转换方法进行验证,实验结果表明了此方法的有效性。

关键词:UML,模型检测,NuSMV

参考文献

[1]KUSTER J M,STEHR J.Towards explicit behavioral consis-tency concepts in the UML[C].Portland,USA:Proc.of the 2nd International Workshop on Scenarios and State Ma-chines:Models,Algorithms,and Tools,2003.

[2]XU D,MIAO H,PHILBERT N.Model checking UML activity diagrams in FDR[C].IEEE ACIS Internaitonal Conference on Computer and Information Science,2009:1035-1040.

[3]LITVAK B,TYSZBEROWICZ S S,YEHUDAI A.Behavioral consistency validation of UML diagrams[J].IEEE Computer Society,In Proceedings of SEFM,2003(6):118-125.

[4]ZHAO X,LONG Q,QIU Z,Model checking dynamic UML consistency[J].ICFEM,ser.Lecture Notes in Computer Sci-ence,2006,4260:440-459.

[5]HARADA S,YOKOGAWA T,MIYAZAKI H,et al.A tool support for verifying consistency between UML diagrams by SMV[C].ITC-CSCC,2009:897-900.

[6]LU Gongzheng,ZHANG Guangquan.An approach to check the consistency between the UML2.0dynamic diagrams.[C].20105th International Conference on Computer Science and Education(ICCSE),2010:1913-1917.

[7]董威,王戟,齐治昌.UML Statecharts的模型检验方法[J].软件学报,2003,4(14):750-756.

[8]ZHANG SHAOJIE;LIU YANG.An automatic approach to model checking UML state machines[C].2010Fourth Inter-national Conference on Secure Software Integration and Reli-ability Improvement Companion(SSIRI-C),2010:1-6.

本文来自 古文书网(www.gwbook.cn),转载请保留网址和出处

相关文章:

仿真实验分析02-20

模型仿真02-20

功耗分析仿真软件02-20

仿真教学仪器分析论文02-20

管理咨询之谜02-20

仿真程度分析02-20

三维仿真分析02-20

有限元仿真分析02-20

工资薪金核算02-20

施工仿真分析02-20

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:仿真实验分析 下一篇:仿真程度分析