CN109828746A - 一种基于自适应序列图转换为时间自动机的方法 - Google Patents

一种基于自适应序列图转换为时间自动机的方法 Download PDF

Info

Publication number
CN109828746A
CN109828746A CN201811383088.4A CN201811383088A CN109828746A CN 109828746 A CN109828746 A CN 109828746A CN 201811383088 A CN201811383088 A CN 201811383088A CN 109828746 A CN109828746 A CN 109828746A
Authority
CN
China
Prior art keywords
state
template
attribute value
converted
stated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811383088.4A
Other languages
English (en)
Inventor
陈滨
蔡运克
方景龙
魏丹
王兴起
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201811383088.4A priority Critical patent/CN109828746A/zh
Publication of CN109828746A publication Critical patent/CN109828746A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于自适应序列图转换为时间自动机的方法,将自适应序列图中节点信息转换为UPPALL中的全局参数声明;将对象转换为UPPALL中的进程;将Local转换为模板的私有参数声明,将状态start s转换为模板中的位置T;设置迁移FL→T的值为状态S的更新属性值;设置迁移FL→T的约束为状态S的组合片段约束和状态S与源状态FS之间的状态间约束;若源状态FS存在发送或接收消息,设置迁移FL→T的通道message!或message?;若状态S不为over状态,设置源状态FS为状态S,设置源位置FL为位置T,遍历所有节点及序列图中所有对象。提高了建模效率、可靠性及自适应软件的开发效率。

Description

一种基于自适应序列图转换为时间自动机的方法
技术领域
本发明是对自适应序列图模型提出的一种自动转换算法,旨在使得该技术处理后的自适应软件模型能够通过UPPAAL验证自适应软件的可靠性。
背景技术
随着计算机技术的不断发展,软件的规模和复杂性不断增加,希望软件系统具有多功能、可靠性等诸多特点,这些给软件开发、维护方面带来极大的困难。因此,提出了软件自适应技术,以应对环境和用户需求变化的自适应能力,使得软件在运行过程中实时获取上下文信息,并根据预定好的方案对自身进行调整,便以应对需求变化的影响。具有这种自适应调整能力的软件称为自适应软件。
为了提高自适应软件开发的效率以及模型的可靠性,国内外学者都做了大量研究,杨启亮等人改进了IBM提出的MAPE-K自治计算模型,提出了MV4SAS模型,并将可视化的UML序列图模型与状态图进行有机结合,提出了用以描述自适应软件的自适应序列图模型。
发明内容
本发明针对现有技术的不足,提出了一种基于自适应序列图的转换时间自动机方法。
步骤一:将自适应序列图的Note信息转换为UPPAAL中的全局参数声明;
若Note节点中存在整型变量,则在UPPAAL相应声明一个整型变量;若Note中存在时钟变量,则在UPPAAL相应声明一个时钟变量;若Note中存在不变量,则在UPPAAL中相应声明一个不变量。
步骤二:将对象Object Lifeline转换为UPPAAL中的进程,在UPPAAL中声明一个模板取名为ID,在模型声明system项中声明进程,以ID中第一个字母小写作为进程名称,并在UPPAAL模型声明实例项中模板进行实例化得到进程。
步骤三:对象Object Lifeline中本地变量转换为模板的私有参数声明;
若本地变量Local存在整型变量,则在模板相应声明一个整型变量;若本地变量Local存在时钟变量,则在模板相应声明一个时钟变量;若本地变量Local存在不变量,则在模板中相应声明一个不变量。
步骤四:对象Object Lifeline中状态State节点转换为模板中的位置节点;若状态S为Over状态且模板未声明Over Location,在模板中声明一个紧迫位置T,否则获取模板中已经声明的位置T;若状态S是对象Object Lifeline中第一个状态,在模板中声明一个初始位置T,若状态S的状态内部约束属性值为t<=n形式,设置位置T的不变式属性值为状态S的状态内部约束属性值,并转到步骤七;否则在模板中声明一个位置T,若状态S的状态内部约束属性值为t<=n形式,设置位置T的不变式属性值为状态S的状态内部约束属性值,将位置T设置为常规位置;若状态S的状态内部约束的属性值为t<=0形式,将位置T设置为紧迫位置,设置位置T的不变式属性值为t<=0;若状态S的状态内部约束的属性值为must,将位置T设置为坚定位置,设置位置T的不变式属性值为t<=0;其中t表示时钟变量,n表示常数;
步骤五:在模板中声明一条迁移FL→T;
若状态S的状态内部约束属性值为t==n形式,设置迁移FL→T的卫士约束属性值为t==n,将位置T设置为常规位置;
步骤六:设置迁移FL→T的属性值为状态S的更新属性值;设置迁移FL→T的卫士约束值为状态S的组合片段约束和状态S与源状态FS之间存在的状态间约束;
设置迁移FL→T的选择值为状态S的用户参数属性值;
若状态FS存在发送消息message,设置迁移FL→T的通道属性值为message!;若状态FS存在接收消息message,设置迁移FL→T的通道属性值为message?;步骤七:若状态S不为Over状态,设置源状态FS为状态S,设置源位置FL为位置T,返回步骤四继续执行,直到遍历完对象Object Lifeline中状态State节点,返回步骤二,直到遍历完自适应序列图中所有对象Object Lifeline,结束。
本发明的有益效果:发明旨在降低自适应软件建模和验证的复杂度,提高了自适应软件的建模效率、自适应软件的可靠性以及自适应软件的开发效率。
具体实施方法:
(1)Object Lifeline转换为UPPAAL中的进程(Process)
自定义序列图中Object Lifeline为自适应类的实例,即为
{monitor,analyzer,planner,executer,knowledgebase,user,environment,soft-self},生命线(lifeline)是一条虚线,清晰的描述了生命周期内的状态变化。
UPPAAL中模板(Template)带有参数,通过给模板传递参数可以实例化得到进程(Process)。UPPAAL中系统由并发进程组成,每个进程都由时间自动机进行建模,即每个进程带有位置、迁移以及变量信息。
将生命周期内的状态变化映射为UPPAAL中的一个模板,通过实例化模板得到的进程作为UPPAAL中系统交互的实体。
(2)Object Lifeline名称转换为模板(Template)声明与进程(Process)声明
在UPPAAL中需要声明组成系统的进程,即先声明进程名称,再通过实例化模板(Template)得到进程
为了便于转换,在建立自适应模型时对Object Lifeline命名规则如下:
Name→<<ClassName>>:ID
以生命线名称中“:”为分割点,取后半部分ID作为模板(Template)名称,在UPPAAL中模型声明system项中声明进程,以ID中第一个字母小写作为进程名称,并在UPPAAL模型声明实例项中对模板进行实例化得到进程。
(3)Note信息转换为UPPAAL中的全局参数声明(global declarations)
UPPAAL中的全局声明(global declarations)包含整数变量、时钟、通道和常量声明。全局声明是TAN中所共有的数据变量或时钟,并非单个TA所存在的。
在自适应序列图中Note组件可以对某个元素进行补充说明,也可以对自适应序列图进行补充说明,因此在建模时在Note组件中添加全局变量声明以便于转换。
(4)本地变量(Local)转换为模板(Template)的参数声明(local declarations)
模板(Template)的参数声明与上文全局声明的区别在于私有参数声明是某个模板(Template)独有的参数声明,即该声明数据只能在该模板(Template)中使用,类似于对象中的私有变量,声明数据类型与全局声明中数据类型一致。
为了方便转换,本文在自适应序列图中Lifeline组件中添加Local标签,对应模板(Template)的参数声明(local declarations)
(5)State节点转换为模板(Template)中位置(Location)
状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应,即描述一个对象所处的可能状态以及状态之间的转移。自定义序列图的描述的状态与状态图中所描述的一致,即在生命周期中的一种状况,处于某个状态的对象必然会满足某些条件,执行某些动作或者等待某些事件。转移是两个状态之间的关系,它表示当发生指定事件并且满足指定条件时,第一个状态中的对象将执行某些操作并进入第二个状态。当发生这种状态变更时,即“触发”了转移。在触发转移之前,可认为对象处于“源”状态;在触发转移之后,可认为对象处于“目标”状态。
UPPAAL中的系统由一系列进程组成,进程由时间自动机进行建模。时间自动机由位置集合组成,这些位置之间的转换定义了系统的行为。这与自适应序列图中状态定义一致。UPPAAL中存在三种位置类型:
normal location(常规位置):Invariant值可以为空。
urgent location(紧迫位置):在紧迫位置没有时间延迟,使用它可以减少模型中时钟的个数,减少分析的复杂度。
committed location(坚定位置):坚定位置也没有时间延迟,下一个转换必须即刻离开所有的坚定位置。坚定位置的使用可以显著减少状态空间。
State节点转换为位置(Location)的难点在于存在三种不同类型的
Location,对于如何确定自适应序列图中状态转换为对应的Location,本发明如下定义:
若State节点的State-Invariant属性为t<=0,则将其转换为urgent location且该Location的Invariant属性为t<=0;若State节点的State-Invariant属性格式为t<=n,就转换为normal location,且该Location的Invariant属性为t<=n。若State节点的State-Invariant为must时,就将该状态转换为committed location,且该Location的Invariant属性为t<=0;若State节点的State-Invariant属性为空,则转换为normallocation,且该Location的Invariant属性为空。
(6)状态内部约束(State-Invariant)转换为模板(Template)中位置(Location)不变式(Invariant)
自定义序列图中定义了状态内部约束(State-Invariant),描述了状态发生转移时的时间约束。通常应用于该状态处于特定的时间量,或转换到该状态的时间约束。
状态内部约束(State-Invariant)语义如下:
模板(Template)中位置(Location)不变式(Invariant)是一个满足以下条件的表达式:它是无作用的;仅引用时钟,整数变量和常量;表达形式为x<e或x<=e,其中x是时钟,e是整数。
不变式(Invariant)的语义:系统在一个特定位置(Location)的持续时间不能超过时间t,否则必须发生时间转移。
状态内部约束(State-Invariant)转换为位置(Location)不变式(Invariant)难点在于当状态内部约束(State-Invariant)为空时表示为当前状态可以持续任意时间。为了消除自适应序列图中Invariant值为空的所带来的二义性,本发明规定若不予许在某个状态存在时间流逝,即在该状态不存在停留时间,将该状态的属性State-Invariant值设为<=0。当检测到该状态属性State-Invariant值为<=0时,便转换为urgent location(紧迫位置)。当检测到该状态属性State-Invariant值为must时,便转换为committedlocation(坚定位置)。状态属性State-Invariant值为空时,转换为normal location(常规位置)。若State-Invariant值为t==n形式,在自适应序列图模型中表示为:若存在转换到该状态的迁移,那么该迁移的约束条件之一为t==n。在UPPAAL中表示为:对应转换后的位置(Location)为T,即若存在一条S→T的迁移,将该迁移的卫士约束(Guard)属性值添加约束t==n。
(7)组合片段约束(FG Condition)和状态间约束(State-Constraint)转换为模板(Template)中迁移的卫士约束(Guard)
自定义序列图中约束SA为状态内部约束(Sintra)和状态间约束(Sinter)的集合,约束条件SA用表示激活状态的阈值条件。状态内部约束(State-Invariant)即上文提到的不变式(Invariant),状态间约束(Sinter)即State-Constraint。
状态间约束在某种意义上与alt组合片段是等价的,alt组合片段是用于刻画不同的自适应行为,而状态间约束(Sinter)则用于刻画激活状态的流向,是激活状态的阈值条件。
自定义序列图中状态间约束(State-Constraint)语义为:是一个选择器,通过定义不同的约束条件来确定状态激活的流向。
自定义序列图中组合片段(FG)可以限制消息只有在满足某些条件时才会发送或只有满足某些条件时才会激活状态转换。
自定义序列图中定义了三种组合片段:
Sim:sim为简单片段,其执行条件为空。
Alt:alt为选择片段,根据执行条件来决定激活下一个状态的转换。
Loop:loop为循环片段,只要满足执行条件时便激活状态的转换。
通过定义Sim片段将自适应序列图分为连续的组合片段;通过定义Alt片段可以方便的描述不同的自适应行为;通过定义Loop片段可以清晰的刻画自适应环。
UPPAAL中卫士约束(Guard)是满足以下条件:卫视约束对边e(e∈E)是无作用的,它只用来表示一个布尔值,是建立在时钟变量和数据变量上的约束条件。
UPPAAL中卫士约束(Guard)的语义是:只有当卫视约束(Guard)表达式求解为真时才会激活转换,反之则不激活转换。
因此得出组合片段中的约束(FG Condition)和状态间约束(State-Constraint)与卫士约束(Guard)是等价的。组合片段约束(FG Condition)和状态间约束(State-Constraint)转换为TA位置中卫士约束(Guard)是可行的。
(8)更新(Assignment)转换为模板(Template)中迁移的update属性
自适应序列图中定义Assignment表示为一种更新操作状态,状态S的更新(Assignment)标签值不为空,表示为:若存在转换到状态S的的迁移,那么迁移伴随着对更新时钟或更新变量的操作。
UPPAAL中update是这样一种操作:是用逗号分隔的带有作用的表达式列表;表达式只能引用时钟,整数变量和常量,并且只能将整数值分配给时钟。他们也可能会调用函数。
UPPAAL中update语义:在转换时可以重置时钟或更新整型变量。
由此可见,更新(Assignment)与update有相同的语义,将更新(Assignment)转换为模板(Template)中迁移的update属性是一个合理的转换。
(9)用户参数(CustomParameters)转换为模板(Template)迁移中选择(Select)属性
UPPAAL中选择(Select)包含一个逗号分隔的表达式列表,参数是由名称:类型表达式这样一种结构组成,即[Name]:[Type]。其中名称是变量名,类型是定义类型(内置或自定义)。这些变量只能在相关联的边上访问,并且它们将在各自类型的范围内取非确定性的值。
为了便于转换,自适应序列图在状态节点中定义用户参数(CustomParameters)标签,即用于随机模拟产生应用逻辑参数的动态变化。
(10)消息(Message)转换为TAN的通道(Channel)
自适应序列图中消息(Message)是从一个对象(发送者)向另一个对象(接受者)发送信号,或由一个对象(发送者至调用者)调用另一个对象的操作。消息是对象和对象协同工作的载体,它代表了一系列实体间的通信内容。
UPPAAL中两个不同的模板(template)通过同步通道(Channel)进行同步转换、传递信号。一个通道对应两个信号,分别为“!”和“?”,如图所示。“chan!”表示发送信号,相当于发送者,“chan?”表示接收信号,相当于接收者。
UPPAAL中存在三种类型的通道(Channel):
Broadcast channel(广播同步通道):在广播同步通道中,一个发送信号c!可以与当前任意数量的接收信号c?匹配。任何接收信号在当前状态都必须与c!同步。如果没有接收信号,发送信号c!仍然可以执行,即广播发送永远不会被终止。
Urgent synchronisationchannel(紧急同步通道):在转换条件允许时,立即开始同步转换,不存在延时情况,即转换条件中时钟约束是不允许的。
Binary synchronisationchannel(二元同步通道):被声明为Chan c。若存在多组“c!”信号、“c?”信号,系统将随机选取一组作为同步信号。
Message与Channel存在一定的相似性,都用于对象或模板(template)之间的交互,传递信息,同时也都存在接收者与发送者。由此可以得出,消息(Message)转换为TAN的通道(Channel)是合理的。
一种基于自适应序列图的转换时间自动机方法,具体包括以下步骤:
第一步:若自适应序列图中存在Note节点,转第二步,否则转第三步。
第二步:若Note节点中存在整型变量,则在UPPAAL相应声明一个整型变量;若Note中存在时钟变量,则在UPPAAL相应声明一个时钟变量;若Note中存在不变量,则在UPPAAL中相应声明一个不变量,转第三步。
第三步:若对象Object Lifeline不为空,转第五步,否则转第四步。
第四步:结束
第五步:在UPPAAL中声明一个模板(Template)取名为ID,在模型声明system项中声明进程,以ID中第一个字母小写作为进程名称,并在UPPAAL模型声明实例项中对进程进行实例化,转第五步。
第六步:若对象Object Lifeline中本地变量Local不为空,转第七步,否则转第八步
第七步:若本地变量Local存在整型变量,则在模板(Template)相应声明一个整型变量;若本地变量Local存在时钟变量,则在模板(Template)相应声明一个时钟变量;若本地变量Local存在不变量,则在模板(Template)中相应声明一个不变量,转第八步。
第八步:若对象Object Lifeline中状态State S不为空转第九步,否则转第三步。
第九步:若状态S为Over状态,转第十步,否则转第十一步
第十步:若模板(Template)未声明Over Location(位置),在模板(Template)中声明一个Urgent Location(紧迫位置)T,否则获取模板(Template)中已经声明的OverLocation(位置)T,转第十六步
第十一步:若状态S是对象Lifeline中第一个状态,转第十二步,否则转第十四步
第十二步:在模板(Template)中声明一个初始位置(Initial Location)T,转第二十六步
第十三步:若状态S的状态内部约束(State-Invariant)属性值为t<=n形式且n不为0,设置位置T的Invariant属性值为状态S的状态内部约束(State-Invariant)属性值,将位置T设置为normal Location(常规位置);若状态S的状态内部约束(State-Invariant)属性值为t==n形式,设置迁移FL→T的卫士约束(Guard)属性值为t==n,将位置T设置为normal Location(常规位置);若状态S的状态内部约束(State-Invariant)的属性值为t<=0,将位置T设置为urgent Location(紧迫位置),设置位置T的Invariant属性值为t<=0;若状态S的状态内部约束(State-Invariant)的属性值为must,将位置T设置为urgentLocation(紧迫位置),设置位置T的Invariant属性值为t<=0。转第十六步。
第十四步:在模板(Template)中声明一个位置(Location)T,转第十五步;
第十五步:在模板(Template)中声明一条迁移FL→T,转第十三步;
第十六步:若状态S的更新(Assignment)属性值不为空,转第十七步。
第十七步:设置迁移FL→T的Update值为状态S的更新(Assignment)属性值,转第十八步。
第十八步:若状态S的组合片段约束(FG Condition)不为空或状态S与源状态FS之间存在状态间约束(State-Constraint),转第十九步。
第十九步:设置迁移FL→T的卫士约束(Guard)值为组合片段约束
(FG Condition)和状态间约束(State-Constraint),转第二十步。
第二十步:若状态S的用户参数(CustomParameters)属性值不为空,转第二十一步,否则转第二十二步。
第二十一步:设置迁移FL→T的选择(Select)值为状态S的用户参数(CustomParameters)属性值,转第二十二步。
第二十二步:若状态FS存在发送消息message,转第二十三步,否则转第二十四步。
第二十三步:设置迁移FL→T的通道(Sync)属性值为message!,转第二十七步。
第二十四步:若状态FS存在接收消息message,转第二十五步,否则转第二十七步。
第二十五步:设置迁移FL→T的通道(Sync)值为message?,转第二十七步。
第二十六步:若状态S的状态内部约束(State-Invariant)属性值为t<=n格式,设置位置T的Invariant值为状态S的状态内部约束(State-Invariant)属性值,转第二十七步
第二十七步:若状态S不为Over状态,设置源状态FS(Front State)为状态S,设置源位置FL(Front Location)为位置T,转第八步。
自适应序列图表示为一个五元组ASD:=(OA,STA,MA,FG,SA)其中,OA表示参与软件自适应过程的对象的有限集合OA={monitor,analyzer,planner,executer,knowledgebase,user,environment,soft-self};STA表示对象生命线上状态的有限集合,自适应序列图中的状态用对象生命线上的圆角矩形表示;MA是有穷消息的集合,对每个消息m∈M,m!表示消息的发送事件,m?表示消息的接收事件;FG表示组合片段集合,自适应序列图在UML序列图基础上定义了sim,alt,loop这3种片段,即FG={sim,alt,loop},每个片段由片段名和执行条件组成,即[Name]:[Condition]。sim为简单片段,其执行条件为空;alt为分支选择片段,其执行条件决定对象下一个状态的流向;loop为循环片段,条件为真时所包含对象转为激活状态;SA表示约束的有限集合,SA=Sintra∪Sinter,其中Sintra=State-Invariant,即状态内部约束,Sinter=State-Constraint,即状态之间约束。
UPPAAL中时间自动机可表示为一个六元组TA:=(L,lO,S,A,E,I),其中,L是有限位置的集合,lO∈L表示初始位置initial location;S是边E上约束的集合,A是所有动作的集合,包括输入、输出和内部3类动作,A={a!|a∈Chan}∪{a?|a∈Chan}∪{τ};E是有向边的集合,表示从位置l到位置l′的迁移,迁移过程伴有卫式约束g、赋值操作u和动作a;I是不变式invariant的集合,用以约束位置的状态。
由多个并发时间自动机构成的网络称为时间自动机网络,记为TAN≡TA1||TA2...||TAn,在UPPAAL中每个时间自动机称为一个模板Template。
自适应序列图实现为自适应软件进行建模,清晰的刻画了各软件实体之间的交互关系,同时也清晰的描述了软件实体在生命周期的状态变化,但缺乏形式化的验证,无法确保模型的可靠性,利用UPPAAL可以对自适应序列图模型进行仿真和验证。但自适应序列图模型不能直接通过UPPAAL进行仿真和验证,需要将自适应序列图模型转换为UPPAAL中时间自动机模型,再通过UPPAAL进行仿真和验证。
本文使用的UML建模工具是开源的Violet UML Editor建模平台,基于上文杨启亮等人提出的自适应序列图,依据UML扩展机制,对开源建模平台中UML序列图模型进行扩展,为UML序列图添加必要的构造型与标签,扩展部分如下:
·在绘制组件中添加State构造型节点。
·在绘制组件中添加State-Constraint构造型节点。
·为State节点添加Select、Assignment、CustomParameters、State-Invariant标签值。
·为Lifeline节点添加Local标签值。

Claims (1)

1.一种基于自适应序列图转换为时间自动机的方法,包括以下步骤:
步骤一:将自适应序列图的Note信息转换为UPPAAL中的全局参数声明;
若Note节点中存在整型变量,则在UPPAAL相应声明一个整型变量;若Note中存在时钟变量,则在UPPAAL相应声明一个时钟变量;若Note中存在不变量,则在UPPAAL中相应声明一个不变量;
步骤二:将对象Object Lifeline转换为UPPAAL中的进程,在UPPAAL中声明一个模板取名为ID,在模型声明system项中声明进程,以ID中第一个字母小写作为进程名称,并在UPPAAL模型声明实例项中对进程进行实例化;
步骤三:对象Object Lifeline中本地变量转换为模板的私有参数声明;
若本地变量Local存在整型变量,则在模板相应声明一个整型变量;若本地变量Local存在时钟变量,则在模板相应声明一个时钟变量;若本地变量Local存在不变量,则在模板中相应声明一个不变量;
步骤四:对象Object Lifeline中状态State节点转换为模板中的位置节点;
若状态S为Over状态且模板未声明Over Location,在模板中声明一个紧迫位置T,否则获取模板中已经声明的位置T;若状态S是对象Object Lifeline中第一个状态,在模板中声明一个初始位置T,若状态S的状态内部约束属性值为t<=n形式,设置位置T的不变式属性值为状态S的状态内部约束属性值,并转到步骤七;否则在模板中声明一个位置T,若状态S的状态内部约束属性值为t<=n形式,设置位置T的不变式属性值为状态S的状态内部约束属性值,将位置T设置为常规位置;若状态S的状态内部约束的属性值为t<=0形式,将位置T设置为紧迫位置;若状态S的状态内部约束的属性值为must,将位置T设置为坚定位置;其中t表示时钟变量,n表示常数;
步骤五:在模板中声明一条迁移FL→T;
若状态S的状态内部约束属性值为t==n形式,设置迁移FL→T的卫士约束属性值为t==n,将位置T设置为常规位置;
步骤六:设置迁移FL→T的属性值为状态S的更新属性值;设置迁移FL→T的卫士约束值为状态S的组合片段约束和状态S与源状态FS之间存在的状态间约束;设置迁移FL→T的选择值为状态S的用户参数属性值;若状态FS存在发送消息message,设置迁移FL→T的通道属性值为message!;若状态FS存在接收消息message,设置迁移FL→T的通道值为message?;步骤七:若状态S不为Over状态,设置源状态FS为状态S,设置源位置FL为位置T,返回步骤四继续执行,直到遍历完对象Object Lifeline中状态State节点,返回步骤二,直到遍历完自适应序列图中所有对象Object Lifeline,结束。
CN201811383088.4A 2018-11-20 2018-11-20 一种基于自适应序列图转换为时间自动机的方法 Pending CN109828746A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811383088.4A CN109828746A (zh) 2018-11-20 2018-11-20 一种基于自适应序列图转换为时间自动机的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811383088.4A CN109828746A (zh) 2018-11-20 2018-11-20 一种基于自适应序列图转换为时间自动机的方法

Publications (1)

Publication Number Publication Date
CN109828746A true CN109828746A (zh) 2019-05-31

Family

ID=66859782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811383088.4A Pending CN109828746A (zh) 2018-11-20 2018-11-20 一种基于自适应序列图转换为时间自动机的方法

Country Status (1)

Country Link
CN (1) CN109828746A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049603A (zh) * 2012-12-13 2013-04-17 南京大学 一种带并发的状态机图转换到自动机的方法
CN104375842A (zh) * 2014-12-05 2015-02-25 中国人民解放军理工大学 一种自适应软件uml建模及其形式化验证方法
US20180089163A1 (en) * 2016-09-28 2018-03-29 Service Friendz Ltd. Systems methods and computer-readable storage media for real-time automated conversational agent

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049603A (zh) * 2012-12-13 2013-04-17 南京大学 一种带并发的状态机图转换到自动机的方法
CN104375842A (zh) * 2014-12-05 2015-02-25 中国人民解放军理工大学 一种自适应软件uml建模及其形式化验证方法
US20180089163A1 (en) * 2016-09-28 2018-03-29 Service Friendz Ltd. Systems methods and computer-readable storage media for real-time automated conversational agent

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
肖 乐,方景龙,王兴起,冯博洋: ""时序图到时间自动机自动转换与布局算法"", 《计算机工程与设计》 *
韩德帅, 杨启亮, 邢建春: ""一种软件自适应UML建模及其形式化验证方法"", 《软件学报》 *

Similar Documents

Publication Publication Date Title
Arbab Puff, the magic protocol
CN111859638A (zh) 一种实时高效分布式虚实结合仿真系统及构建方法
CN106648658B (zh) 面向实况/虚拟/构造混合系统的仿真方法
CN107633125B (zh) 一种基于带权有向图的仿真系统并行性识别方法
CN101504688A (zh) 一种基于hla的仿真软件交互方法
CN109614093B (zh) 可视化智能合约系统以及智能合约的处理方法
CN101442555A (zh) 面向hla的仿真资源代理服务系统
CN110321644A (zh) 一种面向卫星系统的分布式仿真系统及其仿真方法
CN105608247A (zh) 面向ima资源安全性分析的aadl到ecpn模型转换方法
CN110569615B (zh) 一种多源异构嵌入式软件协同仿真测试方法
CN103761388A (zh) 一种基于hla通用化的异构仿真系统互联方法
CN109828746A (zh) 一种基于自适应序列图转换为时间自动机的方法
CN105093964B (zh) 工业电子嵌入式系统仿真用设备模型的构建方法
CN102609260B (zh) Tasm2uppaal模型转换方法
CN101986268A (zh) 一种基于aadl描述的可靠性模型向gspn模型的转换方法
CN107066697A (zh) 面向服务的大型舰船作战模型集成方法
Pawlaszczyk et al. A hybrid time management approach to agent-based simulation
RU2004137211A (ru) Автоматическая генерация кода моделирования схемы обмена сообщениями
CN104933267A (zh) 一种工业电子系统的行为逻辑建模方法
Megherbi et al. A distributed multi-agent tracking, awareness, and communication system architecture for synchronized real-time situational understanding, surveillance, decision-making, and control
Hassine et al. Abstract operational semantics for use case maps
CN113094260A (zh) 一种分布式系统时序关系建模与仿真分析方法
Tarpin-Bernard et al. AMF: a new design pattern for complex interactive software?
Schmidt et al. A shared-medium communication architecture for distributed discrete event systems
Heitsch et al. High-level Petri Nets for a Model of Organizational Decision Making

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190531

RJ01 Rejection of invention patent application after publication