SDL状态迁移图分解方法,起始状态点A有n条输入弧、m条输出弧与中间状态点连接,把A分解为A’和A”;m条有向弧由A’指向中间状态点,n条有向弧由中间状态点指向A”。中间状态点B有k条自环绕弧、n条输入弧、m条输出弧,把B分解成B’和B”,n条输入弧由B’进入,m条输出弧由B”输出,并以k+2条有向弧连接B’和B”,其中k+1条方向由B’指向B”,1条方向由B”指向B’。这样便于计算机自动处理图形。(*该技术在2019年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术涉及计算机图形处理技术,具体涉及一种用于简化SDL状态迁移图的图形分解方法。SDL(Specification Description Language)是CCITT制定的一种形式化的描述语言,它主要着眼于规定电信系统的行为,将一种信息准确的从一个人传递到另一个人,因此它在电信行业中应用相当广泛。SDL状态迁移图在一些书中也称为状态概览图,主要目的在于给出SDL进程中各个状态的概括描述以及它们之间可能有的一些跃迁,该图由状态符号、表示跃迁的有向弧、引起状态迁移的激发消息、状态迁移过程的输出消息以及可以任选的启动和停止符号等组成。附图说明图1所示为一个简单的SDL状态迁移图,这类图形有两个突出的特征(1)SDL状态迁移图的起始状态和终了状态有可能重合,如State0状态点。(2)SDL状态迁移图中的有些状态有自环绕弧。这类状态的一些有向弧的弧头和弧尾均连接到本状态,如State1状态点中的Signal_In4、Signal_In5,和State2状态点中的Signal_In8、Signal_In9、Signal_In10。由于SDL状态迁移图的这些特殊性,普通描述图的数据结构表示这类SDL状态迁移图都有一定的局限,使得计算机自动识别SDL状态迁移图比较困难,阻碍了SDL状态迁移图的自动化处理。对于这类SDL状态迁移图,现有技术中,还没有比较有效的分解简化方法。本专利技术的目的,就是提供一种分解及简化SDL状态迁移图的方法,使之能用普通的数据结构表示SDL状态迁移图,同时也使得采用计算机自动处理SDL状态迁移图变得简单、可行,如采用计算机自动遍历状态迁移图等等。为了达到分解及简化SDL状态迁移图的目的,本专利技术采用同一构思的以下技术方案一、对SDL状态迁移图中起始和终了状态重合的情况进行分解,使得SDL状态迁移图的起始状态点和终了状态点分离;方法如下起始状态点A有n条输入弧、m条输出弧与中间状态点连接,把起始状态点A分解为两个虚拟状态点A’和A”;m条有向弧由A’状态点指向中间状态点,n条有向弧由中间状态点指向A”状态点;即A’状态点只有m条输出弧,没有任何输入路径,而A”状态点只有n条输入弧,没有任何输出路径。二、对SDL状态迁移图中具有自环绕的状态点进行分解简化,使得整个SDL状态迁移图没有自环绕连接,方法如下B状态点有k条自环绕弧、n条输入弧、m条输出弧;把B状态点分解成两个虚拟点B’和B”,与该状态点B有关的n条输入弧均由虚拟节点B’进入,m条输出弧全部由虚拟节点B”输出,并以k+2条有向弧线连接这两个虚拟节点B’和B”,其中k+1方向是由B’指向B”,剩下1条方向是由B”指向B’。三、对SDL状态迁移图中起始和终了状态重合、且起始状态具有自环绕弧的状态点进行分解简化,方法如下起始状态点A有n条输入弧、m条输出弧与中间状态点连接,且有k条自环绕弧;把起始状态点A分解为两个虚拟状态点A’和A”;m条有向弧由A’状态点指向中间状态点,n条有向弧由中间状态点指向A”状态点;同时,k条有向弧直接连接虚拟状态点A’和A”,方向均由虚拟状态点A’指向A”。SDL状态迁移图经过本专利技术方法分解简化后,可以直接采用邻接表、十字链表、邻接多重表等标准数据结构进行存储、描述以及计算机自动处理等。实施本专利技术提供的SDL,可以有效的分解简化复杂的SDL状态迁移图。本专利技术提供的分解方法并不局限于某一产品,是一种通用的图形分解方法,利用本方法可大大降低SDL状态迁移图用数据结构表示的难度,为计算机自动处理SDL状态迁移图提供帮助。下面通过具体的实施例并结合附图对本专利技术作进一步详细的描述。图1,是实施例一的SDL状态迁移图;图2a,是图1中起始和终了状态State0重合的首尾相接的状态图;图2b,是图2a分解后首尾分离的状态图;图3a,是图1中有自环绕弧的State1状态节点图(简化前);图3b,是图3a中State1状态的分解简化图;图4a,是图1中有自环绕弧的State2状态节点图(简化前);图4b,是图4a中State2状态的分解简化图;图5,是图1所示SDL状态迁移图的分解简化图;图6,是实施例二的SDL状态迁移图;图7a,是图6中起始和终了状态State0重合的首尾相接的状态图;图7b,是图7a分解后首尾分离的状态图;图7c,是起始和终了状态重合点State0的自环绕弧的分解图;图7d,是图6中State1状态点的分解简化图;图7e,是图6所示SDL状态迁移图的分解简化图;图8,是实施例三的SDL状态迁移图;图9a,是图8中State0状态点的分解简化图;图9b,是图8中State1状态点的分解简化图;图9c,是图8所示SDL状态迁移图的分解简化图。实施例1如图1中的State0状态点,即为SDL状态迁移图中起始和终了状态重合的状态点,它有5条输入弧Signal_In6、Signal_In19、Signal_In17、Signal_In16、Signal_In21和4条输出弧Signal_In1、Signal_In2、Signal_In3、Signal_In20。为了更清楚地说明问题,如图2a,将图1中其他状态点归纳为中间状态点OtherStates;为了做到等效分解简化,把起始状态State0分解为两个虚拟状态点State0’和State0”,参见图2b;4条有向弧Signal_In1、Signal_In2、Signal_In3、Signal_In20由State0’状态点指向中间状态点OtherStates,5条有向弧Signal_In6、Signal_In19、Signal_In17、Signal_In16、Signal_In21由中间状态点OtherStates指向State0”状态点;即虚拟State0’状态点只有4条输出弧,没有任何输入路径,而虚拟State0”状态点只有5条输入弧,没有任何输出路径。按照这个等效简化方法就把本来首尾相环的SDL状态迁移图(如图2a所示)分解为首尾分离的SDL状态迁移图(如图2b所示)。如图1中的状态点State1和State2,分别有自环绕弧(注自环绕弧有时也称自环绕通路)Signal_In4、Signal_In5和自环绕弧Signal_In8、Signal_In9、Signal_In10。这两个有自环绕弧的状态点在没有简化前如图3a、4a所示。参见图3a,状态点State1有两条输入弧Signal_In1和Signal_In2、两条输出弧Signal_In6和Signal_In7、两条自环绕弧Signal_In4和Signal_In5。为了做到简单、等效地分解简化,将状态点State1分解成两个虚拟点State1’和State1”,如图3b;并且与该状态点有关的所有输入有向弧Signal_In1、Signal_In2均由虚拟节点State1’进入,输出弧Signal_In6、Signal_In7全部由虚拟节点State1”输出;并以2+2=4条有向弧线连接这两个虚拟节点,其中3条有向弧Signal_In4、Signal_In5、NULL1是由State1’指向State1”,剩下1条有向弧NULL2是由State1”指向State1’。这里增加2条本文档来自技高网...
【技术保护点】
一种SDL状态迁移图分解方法,起始状态点A与终了状态点重合,且A有n条输入弧、m条输出弧与中间状态点连接,其特征在于:把起始状态点A分解为两个虚拟状态点A’和A”;m条有向弧由A’状态点指向中间状态点,n条有向弧由中间状态点指向A”状态点;即A’状态点只有m条输出弧,没有任何输入路径,而A”状态点只有n条输入弧,没有任何输出路径。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘日昇,刘玉平,
申请(专利权)人:深圳市中兴通讯股份有限公司,
类型:发明
国别省市:44[中国|广东]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。