一种从tasm时间抽象状态机到扩展nta自动机的转换方法_2

文档序号:9579063阅读:来源:国知局
SM时间抽象状态机中的条件语句中的判断子句中的操作符,替换为扩展NTA自动机中的操作符; (4. 1. 2)将TASM时间抽象状态机中的条件语句中的判断子句中的语句结构,替换为扩 展NTA自动机中的语句结构; (4. 1. 3)将TASM时间抽象状态机中的条件语句中的变量标识符,替换为扩展NTA自动 机中的标识符,该标识符的访问名按照步骤3中所述方法处理; (4. 1. 4)按照与TASM时间抽象状态机中用来表示自动机状态的枚举型用户定义变量 对应的扩展NTA自动机变量的名称,创建名称相同的扩展NTA自动机的自动机状态,并将转 换后的扩展ΝΤΑ自动机中的卫士条件中操作这些自动机状态变量的语句全部删除; 步骤4. 2,将原条件语句中的执行语句,使用扩展ΝΤΑ自动机的语法转换为分派任务, 具体做法是: (4. 2. 1)将TASM时间抽象状态机中的条件满足后的执行语句中的判断子句中的操作 符,替换为扩展ΝΤΑ自动机中的操作符; (4. 2. 2)将TASM时间抽象状态机中的条件满足后的执行语句中的判断子句中的语句 结构,替换为扩展ΝΤΑ自动机中的语句结构; (4. 2. 3)将TASM时间抽象状态机中条件满足后的执行语句中的变量标识符,替换为扩 展NTA自动机中的标识符,该标识符的访问名按照步骤3中所述方法处理; (4. 2. 4)按照与TASM时间抽象状态机中用来表示自动机状态的枚举型用户定义变量 对应的扩展NTA自动机变量的名称,创建名称相同的扩展NTA自动机的自动机状态,并将转 换后的扩展NTA自动机中的卫士条件中操作这些自动机状态变量的语句全部删除; 步骤5,将步骤2、3和4中的创建的规则添加到ATL转换规则文件中; 步骤6,将编辑完成的ATL转换规则,使用持久化技术存入数据库中。
[0022] 在上述技术方案中,按照步骤(3)中所述的方法实施TASM时间抽象状态机源模型 到扩展NTA自动机目标模型的转换,具体步骤如下: 步骤1,将TASM时间抽象状态机源文件,使用持久化技术将aaxl模型文件储存在数据 库中; 步骤2,使用数据库技术,将TASM时间抽象状态机源模型到扩展NTA自动机目标模型 的ATL模型转换中所需要的TASM时间抽象状态机源文件、TASM时间抽象状态机元模型文 件、扩展NTA自动机元模型文件从数据库中提取出来,并输入到ATL模型转换虚拟机中;使 用ATL模型转换虚拟机将生成模型转换后的扩展的NTA自动机模型文件; 步骤3,使用持久化技术,将生成的扩展NTA自动机模型文件存入数据库中。
[0023] 本发明方法与现有技术相比具有以下优点:其一,沿用标准化的TASM时间抽象状 态机模型作为本发明的输入,用户可以沿用以前的开发流程以及习惯;其二,对TASM时间 抽象状态机模型的验证与实时仿真功能进行了扩充,使得用户可以在模型开发的各个阶段 对模型进行实时仿真与验证;最后,TASM时间抽象状态机模型在转换为扩展NTA自动机模 型后,使得用户在无需投入更多资源开发的情况下,充分利用扩展NTA自动机模型所兼容 的工具,获得更多功能。
【附图说明】
[0024] 图1为本发明方法的整体框架示意图。
[0025] 其中:持久化控制器,为使用持久化技术编写,用来将文件转储到持久化介质(数 据库)或恢复到文件系统中的程序。
【具体实施方式】
[0026] 下面结合附图和实施例对本发明作进一步的描述。
[0027] 本实施例提供一种从TASM时间抽象状态机到扩展NTA自动机的转换方法,本具体 实施方式各步骤中所涉及到的名词由表1所示。
[0028] 表1.【具体实施方式】中所涉及到的名词表
本实施例的具体实施步骤如下: 步骤1,搭建开发环境。
[0029] 假设当前平台仅有操作系统,操作系统为Windows(如Windows7x),现建立满足 本发明的开发环境。
[0030] 步骤1. 1,搭建Eclipse开发环境。
[0031] 下载并安装任意兼容Eclipse的开发环境套件(如Eclipse的各实现版本、 MyEclipse、0SATE等)。
[0032]步骤1.2,安装EMF框架开发包。
[0033]下载并安装Eclipse官方所提供的EclipseModelingFramework。
[0034] 步骤1. 3,安装ATL集成开发环境。
[0035] 下载并安装EclipseMarketplace中的AtlasTransformationLanguageSDK开 发包。
[0036] 步骤1· 4,安装测试用实验环境。
[0037] 根据需要安装测试用实验环境,如可安装UPPAAL仿真验证工具作为测试用实验 环境。
[0038] 步骤2,建立基于TASM时间抽象状态机源模型结构和扩展ΝΤΑ自动机目标模型结 构的元模型。
[0039] 步骤2. 1,使用步骤1. 2中的EMF框架所提供的编辑器,根据TASM时间抽象状态 机的模型语法结构建立TASM时间抽象状态机的元模型;根据扩展ΝΤΑ自动机模型结构, 建立扩展ΝΤΑ自动机元模型;具体实施如下:在本节步骤1. 1中的Eclipse开发环境中, 新建EclipseModelingFramework(EMF)中的EcoreModel,设置该模型的顶层组件为 EPackage,并在此基础上依据TASM语法,建立满足TASM定义的Ecore模型的各子项,必要 时可以通过Property窗口来编辑所建立TASM元模型的各种属性。
[0040] 步骤2. 2,将Ecore建模器所分别建立的TASM模型的元模型与NTA模型的元模型, 使用持久化技术存入数据库中。
[0041] 步骤3,创建TASM时间抽象状态机源模型到扩展NTA自动机目标模型的转换规则。
[0042] 本步骤分为6个子步骤进行实施。
[0043] 步骤3. 1,使用本节步骤1. 3中的ATL集成开发环境提供的ATL转换规则编辑器, 创建ATL模型转换中的TASM时间抽象状态机源模型的元模型与扩展NTA自动机目标模型 的元模型之间的转换规则集。具体做法是,在本节步骤1. 1中的Eclipse中建立ATL模型 转换工程,并新建模型ATL转换规则文件,填写源模型与目标模型的信息,包括元模型名称 与对应的元模型文件,ATL集成开发环境将自动生成ATL模型转换中所用到的配置文件; 步骤3. 2,针对TASM时间抽象状态机构件中的变量创建转换规则,对于扩展NTA自动 机中直接支持的那些变量类型,直接通过OCL语言复制到转换后的扩展NTA自动机目标文 件中,对于无法用单一变量表达的TASM时间抽象状态机中所定义的变量类型,使用扩展的 NTA自动机中所提供的标准变量类型解释为变量集,并用OCL语言在扩展的NTA自动机文件 中创建这样的变量集; 步骤3. 3,针对TASM时间抽象状态机构件中的规则创建转换规则,将TASM时间抽象状 态机中所定义的规则集中以条件语句出现的形式,解释为以〈卫士条件,分派任务〉的二元 变量组。原条件语句中的条件使用扩展NTA自动机的语法转换为卫士条件;原条件语句中 的执行部分则使用扩展NTA自动机的语法转换为分派任务。最后将这些变量组使用OCL语 言填充到扩展的NTA自动机目标文件中。
[0044] 步骤3. 4,针对TASM时间抽象状态机构件中的作用域创建转换规则,将TASM 时间抽象状态机中的一个自动机单元,使用OCL语法填充在扩展NTA自动机中的一个 "〈template〉"标签中,并将该标签的属性"name"设置为唯一标识字段(如自动机名或校验 码等)。
[0045] 步骤3. 5,将本节步骤3. 2、3. 3和3. 4中的创建的转换规则添加到ATL转换规则文 件中,将该规则用以下的模板表达。
[0046] -注: 一(1)上下文:ATL转换虚拟机在进行转换时驻留在改转换规则区域内的对象定义环 境 -(2)附加的判定条件:用来从获取的上下文中筛选出特定上下文的过滤条件-OpathTASM=tasm对应的ecore文件 -OpathNTA=扩展的NTA自动机对应的ecore文件 moduleTASM; createOUT:NTAfromIN:TASM;rule规则名称{ from 源文件的上下文:源模型对应的元模型中的构件(附加的判定条件)using{ 使用的额外变量 } to目标上下文1:目标模型对应的元模型中的构件( 目标文件的上下文1〈_源上下文的语义转换结果 目标文件的上下文1〈_源上下文的语法转换结果 ) 目标文件的上下文2, 目标文件的上下文η } } 步骤3. 6,将编辑完成的ATL转换规则,使用持久化技术存入数据库中。
[0047] 步骤4,利用转换规则,实施TASM时间抽象状态机源模型到扩展NTA自动机目标模 型的转换。
[0048] 步骤4. 1,将提供的TASM时间抽象状态机源文件,使用持久化技术将aaxl模型文 件储存在数据库中。
[0049] 步骤4. 2,首先,使用数据库技术,将TASM时间抽象状态机源模型到扩展NTA自动 机目标模型的ATL模型转换中所需要的TASM时间抽象状态机源文件、TASM时间
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1