TASM2UPPAAL模型转换方法技术

技术编号:7614791 阅读:268 留言:0更新日期:2012-07-27 00:24
本发明专利技术涉及一种模型转换方法,用于将TASM模型转换为UPPAAL模型,使用KM3描述目标语言UPPAAL的元模型;针对TASM模型的环境变量与抽象机,执行规则语法元素,使用环境变量的转换方法和主抽象机与执行规则的转换方法,将TASM模型转换为UPPAAL模型。

【技术实现步骤摘要】

本专利技术涉及一种模型转换方法,尤其涉及将TASM模型转换为UPPAAL模型的方法。
技术介绍
嵌入式实时系统是一种需要在满足实时计算约束条件下实现特定功能的计算控制系统。其广泛应用于航空电子、航天器、汽车控制等领域,这些系统具有资源受限、实时响应、容错、专用硬件等特点,对强实时性、可靠性等性质有较高的要求。由于软硬件规模及复杂度的增大以及计算精度、实时响应的要求的提高,这类系统变得越来越复杂,学术界和工业界一直在深入地研究如何在开发时间与成本受限的条件下更好地设计、实现高质量的复杂嵌入式实时系统并对其功能进行验证。抽象状态机(AbstractState Machines, ASMs)是由 Yuri Gurevich 在 1980 年代提出的一种用于系统工程形式建模的一种形式化方法。在此方法的基础上又产生了 XASM(extensible Abstract State Machine)、AsmL(Abstract State Machine Language) 等语言和工具上的扩展。但是ASMs和这些扩展并没有提及如何考虑时间和资源等非功能属性。针对这一问题,麻省理工学院的Martin Ouimet等人于2006提出了时间抽象状态机 (Timed Abstract State Machine,下文简称为TASM)语言。TASM语言是一种用来对于嵌入式实时系统的行为进行规范化和仿真的建模语言。它是ASMs的一个扩展。TASM能够支持时间、资源、同步、并发等多种功能及非功能属性进行描述,具有语义描述简洁、可读性好等特点。UPPAAL是由瑞典Uppsala大学和丹麦Aazborg大学联合开发的模型检测工具。它以R. Alur和Dill提出的时间自动机(Timed Automata)作为形式化理论基础,可以对以时间自动机网络为模型的实时系统进行模拟和模型检测。时间自动机在有穷状态机的基础上增加了时钟变量,它采用了连续时间模型并且所有时钟变量是同步前进的。在UPPAAL中,实时系统被建模为并发执行的时间自动机网络模型。有界整型变量被引入到时间自动机的概念中,它们的值可以被读取也可以被修改以及被用于计算。状态在时间自动机网络中被定义为所有时间自动机所处位置,时钟约束和普通变量的值的组合。通过自动机位置间的迁移或与其它自动机的同步,模型从当前状态迁移到新的状态。由于TASM工具TASM toolset对于逻辑行为、时间行为的验证能力偏弱,我们选择利用UPPAAL模型检测工具对其功能正确性(有无死锁)、非功能正确性(时间等约束条件) 进行进一步的形式化验证。为此,本专利技术研究一种从TASM子集到UPPAAL的模型转换方法实现两种模型的自动转换。
技术实现思路
一种模型转换方法,用于将TASM模型转换为UPPAAL模型,其特征在于使用KM3描述目标语言UPPAAL的元模型;针对TASM模型的环境变量与抽象机,执行规则语法元素,使用环境变量的转换方法和主抽象机与执行规则的转换方法,将TASM模型转换为UPPAAL模型。所述UPPAAL的元模型包括(I) nta:UPPAAL模型的根节点,下辖节点包括对UPPAAL模型定义的普通变量、时钟变量及同步通信信道进行声明的节点declaration,时间自动机模板集合的节点template,对时间自动机进行声明及实例化的节点system ;(2) declaration nta的下辖节点,放置用户定义的变量的声明及初始化定义;(3) templatenta的下辖节点,定义时间自动机模板,其下辖以下节点· name :时间自动机的名字;· declaration :时间自动机局部变量,时钟的声明;· Parameters :时间自动机的输入参数,在实例化中使用;· location :时间自动机中的位置,在位置上设置属性紧急urgent、不变量 invariant ;· transition :各个位置之间的迁移,包括迁移的起始位置source和目的位置 target,上面设置转换条件guard,对变量的赋值update,时间自动机之间的同步sync ;· init :定义时间自动机的初始位置location ;(4) system nta的下辖节点,对UPPAAL模型的时间自动机模板进行声明及实例化;(5) Label 在时间自动机的元模型定义中,时间自动机位置(location)上的属性以及状态转换(transition)上的条件(guard)、赋值(assignment)、同步(synchronization)都在元模型中的label节点中被描述。其中将TASM的整型、布尔型以及用户自定义类型的数据类型转换为UPPAAL模型中的有界整型一种数据类型,包含以下规则整型变量映射为UPPAAL中的int,布尔类型的变量boolean {False,True}映射到 UPPAAL中的类型为int ,即取值范围为O或I的整型变量拥有η个取值el到en的用户自定义变量User-defined type {el, e2, . . . . en}被映射到UPPAAL中的类型为int ,即取值范围为O到η-i的整型变量,其中el被映射到0,en被映射到n_l。其中所述主抽象机(main machine)与执行规则的转换方法包括以下规则主抽象机到UPPAAL时间自动机(automata)的转换每一个主抽象机对应UPPAAL 中的一个时间自动机,为每一个时间自动机定义一个中心紧急位置(urgent location) pivot以及时钟变量c ;主抽象机规则的转换方法在时间自动机上为与其对应抽象机的每一条规则定义一个中间位置,时间将在中间位置上消耗时间直到进行状态变迁,每一条规则的执行被映射为UPPAAL时间自动机中的两个状态变迁,其中,各种类型规则所对应的转换方法为I) 一般规则到UPPAAL的转换设一般规则为Ri = <Gi, t,Ei>,其中,Gi为规则Ri的约束条件(guard),t为Ri 的执行时间,被表示为t = , tmin ( tmax, Ei为规则的执行动作,对此规则, 定义中间位置Ri,定义从pivot到Ri的状态变迁,约束条件为Gi,执行动作为重置时钟,在位置Ri上定义时间不变量c < = tmax,定义从Ri到pivot的状态变迁,约束条件定义为c >=tmin,执行动作为Ei ;2)带有同步的一般规则到UPPAAL的转换设带有同步的一般规则Ri = <Gi,t,Ei>,其中,Gi为规则Ri的约束条件(guard), t为Ri的执行时间,被表示为t = , tmin ^ tmax, Ei为下列语句Update ; Syn ;其中Update为除同步通信以外的动作语句集合;Syn语句为同步通信语句,发送同步信号为“chan !”,接收同步信号为“chan ”,此规则,定义中间位置Ri,定义从pivot至Ij Ri的状态变迁,约束条件为Gi,执行动作为重置时钟,在位置Ri上定义时间不变量c < = tmax,定义紧急位置U,定义从Ri到U的状态变迁,约束条件定义为c > = tmin,执行动作为Update,定义从位置本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:胡凯张腾杨志斌顾斌蒋树姜泮昌
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术