CN105975695B - 不确定性环境下ThingML模型的量化分析方法 - Google Patents

不确定性环境下ThingML模型的量化分析方法 Download PDF

Info

Publication number
CN105975695B
CN105975695B CN201610300114.7A CN201610300114A CN105975695B CN 105975695 B CN105975695 B CN 105975695B CN 201610300114 A CN201610300114 A CN 201610300114A CN 105975695 B CN105975695 B CN 105975695B
Authority
CN
China
Prior art keywords
thingml
model
npta
converted
quantitative analysis
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.)
Active
Application number
CN201610300114.7A
Other languages
English (en)
Other versions
CN105975695A (zh
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.)
East China Normal University
Original Assignee
East China Normal 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 East China Normal University filed Critical East China Normal University
Priority to CN201610300114.7A priority Critical patent/CN105975695B/zh
Publication of CN105975695A publication Critical patent/CN105975695A/zh
Application granted granted Critical
Publication of CN105975695B publication Critical patent/CN105975695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种不确定性环境下ThingML模型的量化分析方法,包括以下步骤:步骤一:对ThingML的语法与语义进行扩展,使得ThingML能够对环境中存在不确定性进行建模,用户提供所需的服务质量要求;步骤二:利用Java来解析得到ThingML的元模型,获得ThingML的每个所需要的字段;步骤三:将ThingML元模型转化成NPTA模型,包括其前台与后端配置;步骤四:将用户服务质量性质转化成UPPAAL‑SMC的查询语句,对系统进行量化分析。本发明能够对物联网应用的服务质量进行评估进而进行相应设计层面的修改以使服务质量得到保证。

Description

不确定性环境下ThingML模型的量化分析方法
技术领域
本发明属于计算机领域,尤其涉及一种不确定性环境下ThingML(物体建模语言-针对物联网应用建模语言)模型的量化分析方法。
背景技术
在基于现有ThingML的开发方法下,有以下不足:
1. 不能进行量化分析,也就是说,在代码部署前无法对ThingML生成的代码的性能指标进行评估。尽管可以保证正确性,但是物联网应用的服务质量无法得到保证。
2. 没有不确定性描述语义,因为物联网中的实体处于真实环境中,而真实环境是不确定的,即会呈现某种变化的。由于缺乏对环境不确定性描述语义,便无法进行不确定性分析。
这就不足之处导致一个问题:对ThingML模型本身的质量难以进行评估,因此就无法保证软件的可靠性。
发明内容
本发明的目的提供一种不确定环境下物联网设计模型的量化分析方法,对ThingML模型在不确定性环境下转换成UPPAAL模型,通过对UPPAAL模型的量化分析得到原模型的服务质量性质,从而能够在早期系统设计的时候及时发现错误,调整相关系统参数,降低在不确定性环境中运行可能产生的错误以及运行时效率和性能。
实现本发明目的的具体技术方案是:
一种不确定性环境下ThingML模型的量化分析方法,特点是该方法包括以下具体步骤:
步骤一:对ThingML的语法与语义进行扩展,使得ThingML能够对环境中存在不确定性进行建模,用户提供所需的服务质量(QoS)要求;
步骤二:利用Java(一种计算机编程语言) 来解析得到ThingML的元模型,获得ThingML的每个所需要的字段;
步骤三:将ThingML元模型转化成价格时间自动机网络(NPTA)模型;
步骤四:将用户服务质量性质转化成UPPAAL-SMC的查询语句,对系统进行量化分析。
所述对ThingML的语法与语义进行扩展不确定性进行建模,包括:变量分布、动作延时、网络延时及各种数学分布;其中,
所述数学分布用于指定所服从的概率分布,包括正太分布、指数分布和随机分布,通过随机分布函数构造其他分布函数;
所述变量分布用于建模与描述外界输入所服从的分布;
所述动作延时用于建模与描述由动作引起的操作延时;
所述网络延时用于建模与描述由网络状况引起的通讯延时。
所述ThingML模型转换为NPTA模型,是针对ThingML元模型中的物体状态机、架构模型、扩展的分布信息、用户提供的服务质量要求分别使用映射以及转换和不确定语义添加方法,将ThingML模型转换为NPTA模型。
所述映射以及转换,是将ThingML元模型映射成NPTA,包括:物体状态机,架构模型以及扩展的分布信息分别进行转化;其中,
所述物体状态机转化用于将物体的动态变化转化成NPTA的前台;
所述架构模型转化用于将物体的实例化信息以及物体通讯转化成NPTA的后端配置;
所述扩展的分布信息转化用于将环境不确定性描述转换为NPTA中后端配置以及前台信息。
所述物体状态机转换,包括:迁移规则、行为规则和事件触发规则;其中,
所述迁移规则用于将ThingML扩展迁移的转化规则,其中扩展迁移为服从时间分布的执行行为转化成NPTA具有延迟可能性的迁移;
所述行为规则用于将ThingML的行为(包括函数调用、变量赋值等等)转化成NPTA迁移的触发行为;
所述事件触发规则用于对ThingML的守护条件转化成NPTA对应迁移前的判定规则。
所述不确定语义添加方法,包括:扩展的分布信息;其中,
所述扩展的分布信息将描述不确定性的变量添加到NPTA后端的对应变量或延迟中;另外,将所有描述不确定性的所需特殊分布转换成UPPAAL中的后端函数的定义,该函数产生的结果需要满足刻画的分布。
所述架构模型转化,包括:
消息,ThingML模型中对通讯数据结构的封装,用于物联网物体之间的通讯,被对应转化成NPTA后台的模型变量申明;
扩展信道,ThingML模型中对通信之间方式的定义,每个信道有其对应延迟函数,扩展信道被转化成NPTA前台;
连接器,对物体通讯介质的实例化,经由端口进行通讯,转化成NPTA的后端部分;
端口,对物体接受和发送消息的方向的指定,无需直接映射。
所述用户提供所需的服务质量要求,包括:
状态查询,对于某一物联网物体到达某一状态所需的时间,被转化成UPPAAL的约束时序逻辑;
消耗查询,对于某一个系统指定资源花费超过一定时间的概率,被转化成UPPAAL的约束时序逻辑。
本发明为了对ThingML模型进行量化分析,将ThingML模型转换为NPTA模型,并使用Java 类描述源语言TingML的元模型。针对ThingML系统的各个元素使用转化规则转使扩展ThingML模型换为NPTA模型。
本发明使用UPPAAL-SMC 工具对转化后的ThingML模型进行量化分析。UPPAAL-SMC是基于统计模型检测(Statistical Model Checking)技术,它通过多次随机模拟系统的运行来获得满足系统某一属性的概率。通过对这些量化分析,可以得出并且进行不同模型的服务质量的比较,得出物联网的最佳解决设计方式。
通过对ThingML进行扩展,使得ThingML能够对环境中存在的不确定性进行建模,这样能极大地增强ThingML的建模能力,即反应现实真实环境的能力;通过量化分析可以更好地帮助开发者早期找出系统中可能存在的服务质量问题,并且相应地调整ThingML模型。这样可以降低在软件开发后期引起的不足而导致的返工及开销。
附图说明
图1为本发明中所用到ThingML元模型的示意图;
图2为本发明中ThingML模型和NPTA模型结构对应关系图;
图3为本发明中由UPPAAL中Random函数产生正太分布的代码图。
具体实施方式
结合以下具体实施例和附图,对发明作进一步的详细说明。
本发明提供了一种在不确定性环境下对ThingML模型进行量化分析方法,包括以下步骤:
步骤一:对ThingML的语法与语义进行扩展,使得ThingML能够对环境中存在不确定性进行建模,并且用户提供所需的服务质量(QoS)要求;
步骤二:利用Java 类解析ThingML的元模型,解析获得ThingML的每个所需要的字段;
步骤三:将ThingML元模型转化成NPTA模型,包括其前台与后端配置
步骤四:将用户服务质量性质转化成UPPAAL-SMC的查询语句,对系统进行量化分析,这样可以对物联网的应用的服务质量进行评估进而进行相应设计层面的修改以使服务质量得到保证。
本发明中对ThingML的扩展内容包括:
变量(在ThingML表示为性质):变量用于将系统中外部不确定性具体化,用变量的方式描述系统中存在的不确定性。
信道:信道上的延迟是由于通讯介质引起的不确定的影响,ThingML本身认为信道都是理想信道,即没有延迟,没有丢包等等。用注释的方式指明信道上的延迟情况。默认情况(不指明时)信道延迟可以忽略。
动作:ThingML假定动作都是瞬间完成,然而由于操作动作在真实情况下都不可能瞬时触发,所以在对某些需要考虑完成时间的动作,指定了其完成时间,同样采取的是注释的方式。默认情况(不指明时)动作的操作时间可以忽略。
查询:查询用于描述系统的需求,该需求包含限制和表达式两部分,表达式通过数学公式的方式描述,限制通常是针对某一变量,形式为变量小于等于某一常量。
分布:分布指定变量所服从的概率分布,包括正太分布、指数分布和随机分布,还可以通过随机分布函数构造其他分布函数。
本发明中,ThingML的映射转换方法将一个组件转化映射成PTA的前台和后端模型,该转换方法包括以下内容:
数据结构:所有的消息都被映射成消息定义;所有ThingML性质(有别于服务质量性质,以及UPPAAL验证性质)被映射成UPPAAL后台变量。
状态:映射成NPTA前台的位置信息。
扩展迁移:映射成NPTA前台的迁移以及相应的不变式。
事件:被映射成NPTA前台信道的接受机制。
动作:被转换成NPTA的前台信道的发送机制或者NPTA的前台更新机制。
端口:由于UPPAAL直接采用了信道的机制,所以ThingML的这部分信息变成了冗余。
属性规则:将不确定性附属子语言中的属性转化为UPPAAL中查询语句。
过程调用:ThingML中有两种过程调用,函数和操作符,它们都被转换成NPTA的函数定义。然而ThingML的过程调用与NPTA(UPPAAL-SMC)的函数格式不同,需要做相应的个事转换。
基于以上发明方法,本实施例开发了一个ThingML到UPPAAL模型的转换工具,针对选取ThingML模型自动地转换成对应的UPPAAL模型,并调用UPPAAL-SMC对UPPAAL模型进行量化分析。具体的实施步骤如下:
1.ThingML文本格式解析
ThingML本身提供了一套解析API,通过调用这套函数,可以解析成ThingML的元模型(如图1所示),可以以一种层次化的结构存储起相应逻辑以及对应各系,这样可以方便的抽取ThingML的各个字段,为进一步转换成UPPAAL前台模型与后端配置做好了保证。
2. 模型转换方法:
本发明为了对ThingML模型进行量化分析,将对应ThingML模型转换为UPPAAL模型。针对ThingML模型中的数据结构、状态机、架构模型以及过程调用分别使用转换对应规则,转换规则如图2所示。最后,通过解析设计需求文件,对UPPAAL-SMC工具对转换后的UPPAAL模型进行统计模型检测,获得量化分析结果。
执行结构以及语义转换方法:
由于ThingML模型中的执行语义和结构在NPTA中几乎都有对应的部分,因此需要通过转化规则的到其UPPAAL的前台与后端模型。
2.1前台模型
前台模型被用来描述事物的统计行为。前台模型主要来自Thing的状态机。UPPAAL前台模型的大部分可以从ThingML通过映射规则直接映射得到。譬如说,状态,迁移,以及守卫条件。为了对其局部变量进行相应的初始化,需要引入一个新的位置,叫做开始位置,并且在开始位置不能有任何延迟。所以把它设定为一个初始紧急位置,并有initialize()函数对相应的变量进行初始化等待工作(这是由后端配置完成的)。对于动作的延迟,以及通讯的延迟则需要引入一些局部时钟,并且通过进入边上的不变式,以及出去边上的守护条件所来达到。默认情况下如果没有给予指定延迟的话,那么这些延迟可以不考虑。通常来说这些延迟都是服从某些分布的,通过给变量上赋予函数分布,并且设置相应的不变式以及守护条件。
对于通讯机制,ThingML和NPTA的通讯都是通过同步机制来实现的。ThingML的通讯是通过消息来实现的,在UPPAAL中,将其转换成信道的全局定义。对一个同步事件来说,对于ThingML采用的是通过事件来实现等待(信道末尾加“”),而通过动作是来实现发送(信道末尾加“!”)。在UPPAAL的同步机制同时照顾了这两种机制,因而全部转换成对应边上的同步机制。对于已经在连接器上指定延迟情况的类似地需要设置不变式和守护条件。
2.2 后端配置
对于后端配置包括了三部分内容:系统申明,全局后端配置,每个PTA的局部后端配置。
系统申明:从ThingML结构模型中,可以得到每件事物的细节(类型,名字等等)。通过这些信息可以很容易转换出系统的定义信息。
全局后端配置:全局后端配置中包括了通过random()函数定义各种数学函数的分布库,如图3所示。还有各种全局事物之间通讯所需要的信道,为了方便起见,全部将其设置为紧急广播(urgent broadcast)信道,以及一些全局变量的申明等等。对于消息,都不采用结构体的方式,而是分别定义每一个变量。这是因为UPPAAL对结构体的某些类型(double)不支持。
NPTA局部后端配置:局部后端配置还是主要关于数据结构的定义。对于ThingML中的所有性质(有别于UPPAAL验证性质,以及服务质量性质),定义了两种不同变量,对于在ThingML有readonly标识符的将其设置成常量(constant variable),否则的话申明为普通变量。对应在ThingML出现的所有过程调用,譬如function以及operator,由于其格式不同,要进行关键字的匹配,将其转换UPPAAL中的类C函数。
本发明提出的不确定性环境下THingML模型量化分析方法能够在较短的时间内获得不确定性环境下的物联网系统服务质量的量化结果,提高系统在不确定性环境下运行的安全性。并且可以对不同设计(在不同参数下的系统)进行比较,方便设计者的决策分析。

Claims (8)

1.一种不确定性环境下ThingML模型的量化分析方法,其特征在于该方法包括以下具体步骤:
步骤一:对ThingML的语法与语义进行扩展,使得ThingML能够对环境中存在不确定性进行建模,用户提供所需的服务质量要求;
步骤二:利用Java 来解析得到ThingML的元模型,获得ThingML的每个所需要的字段;
步骤三:将ThingML元模型转化成NPTA模型;
步骤四:将用户服务质量性质转化成UPPAAL-SMC的查询语句,对系统进行量化分析。
2.如权利要求1所述的量化分析方法,其特征在于所述对ThingML的语法与语义进行扩展不确定性进行建模,包括:变量分布、动作延时、网络延时及各种数学分布;其中,
所述变量分布用于建模与描述外界输入所服从的分布;
所述动作延时用于建模与描述由动作引起的操作延时;
所述网络延时用于建模与描述由网络状况引起的通讯延时;
所述数学分布用于指定所服从的概率分布,包括正太分布、指数分布和随机分布,通过随机分布函数构造其他分布函数。
3.如权利要求1所述的量化分析方法,其特征在于,所述ThingML模型转换为NPTA模型,是针对ThingML元模型中的物体状态机、架构模型、扩展的分布信息、用户提供的服务质量要求分别使用映射以及转换和不确定语义添加方法,将ThingML模型转换为NPTA模型。
4.如权利要求3所述的量化分析方法,其特征在于,所述映射以及转换,是将ThingML元模型映射成NPTA,包括:物体状态机,架构模型以及扩展的分布信息分别进行转化;其中,
所述物体状态机转化用于将物体的动态变化转化成NPTA的前台;
所述架构模型转化用于将物体的实例化信息以及物体通讯转化成NPTA的后端配置;
所述扩展的分布信息转化用于将环境不确定性描述转换为NPTA中后端配置以及前台信息。
5.如权利要求4所述的量化分析方法,其特征在于,所述物体状态机转换包括:迁移规则、行为规则和事件触发规则;其中,
所述迁移规则用于将ThingML扩展迁移的转化规则,其中扩展迁移为服从时间分布的执行行为转化成NPTA具有延迟可能性的迁移;
所述行为规则用于将ThingML的行为转化成NPTA迁移的触发行为;
所述事件触发规则用于对ThingML的守护条件转化成NPTA对应迁移前的判定规则。
6.如权利要求3所述的量化分析方法,其特征在于,所述不确定语义添加方法包括:扩展的分布信息;其中,
所述扩展的分布信息将描述不确定性的变量添加到NPTA后端的对应变量或延迟中;另外,将所有描述不确定性的所需特殊分布转换成UPPAAL中的后端函数的定义,该函数产生的结果需要满足刻画的分布。
7.如权利要求3或4所述的量化分析方法,其特征在于,所述架构模型转化包括:
消息,ThingML模型中对通讯数据结构的封装,用于物联网物体之间的通讯,被对应转化成NPTA后台的模型变量申明;
扩展信道,ThingML模型中对通信之间方式的定义,每个信道有其对应延迟函数,扩展信道被转化成NPTA前台;
连接器,对物体通讯介质的实例化,经由端口进行通讯,转化成NPTA的后端部分;
端口,对物体接受和发送消息的方向的指定,无需直接映射。
8.如权利要求1所述的量化分析方法,其特征在于,所述用户提供所需的服务质量要求,包括:
状态查询,对于某一物联网物体到达某一状态所需的时间,被转化成UPPAAL的约束时序逻辑;
消耗查询,对于某一个系统指定资源花费超过一定时间的概率,被转化成UPPAAL的约束时序逻辑。
CN201610300114.7A 2016-05-09 2016-05-09 不确定性环境下ThingML模型的量化分析方法 Active CN105975695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610300114.7A CN105975695B (zh) 2016-05-09 2016-05-09 不确定性环境下ThingML模型的量化分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610300114.7A CN105975695B (zh) 2016-05-09 2016-05-09 不确定性环境下ThingML模型的量化分析方法

Publications (2)

Publication Number Publication Date
CN105975695A CN105975695A (zh) 2016-09-28
CN105975695B true CN105975695B (zh) 2018-12-14

Family

ID=56992845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610300114.7A Active CN105975695B (zh) 2016-05-09 2016-05-09 不确定性环境下ThingML模型的量化分析方法

Country Status (1)

Country Link
CN (1) CN105975695B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526177B (zh) * 2020-03-27 2022-01-11 华东师范大学 面向智慧城市信息-物理融合的智能物联网系统构建方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520925A (zh) * 2011-11-18 2012-06-27 北京航空航天大学 Aadl2tasm模型转换方法
CN102567163A (zh) * 2011-12-16 2012-07-11 华东师范大学 基于uppaal的实时嵌入式系统构件间协同行为的验证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520925A (zh) * 2011-11-18 2012-06-27 北京航空航天大学 Aadl2tasm模型转换方法
CN102567163A (zh) * 2011-12-16 2012-07-11 华东师范大学 基于uppaal的实时嵌入式系统构件间协同行为的验证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
From Internet of Things Mashups to Model-Based Development;Christian Prehofer 等;《39th Annual International Computers, Software & Applications Conference》;20150924;499-504 *
Quantitative Analysis of Variation-Aware Internet of Things Designs Using Statistical Model Checking;Siyuan Xu 等;《International Conference on Software Quality, Reliability and Security》;20161013;274-285 *
不确定环境下ThingML设计量化分析与寻优框架;徐思远;《中国优秀硕士学位论文全文数据库 信息科技辑》;20171115(第11期);I138-312 *

Also Published As

Publication number Publication date
CN105975695A (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
US6385765B1 (en) Specification and verification for concurrent systems with graphical and textual editors
JP5475996B2 (ja) モデル化およびシミュレーション方法
CN110147225A (zh) 一种代码生成方法、装置及计算机设备、存储介质
CA3050159C (en) Artificial intelligence (ai) based automatic rule generation
CN110221815B (zh) 一种基于本体的控制软件模型的自动生成方法
CN108306804A (zh) 一种Ethercat主站控制器及其通信方法和系统
CN108037913B (zh) xUML4MC模型到MSVL语言程序的转换方法、计算机可读存储介质
CN110222318A (zh) 基于xml的数据生成工具开发方法
CN111078555A (zh) 一种测试文件的生成方法、系统、服务器和存储介质
CN110209389A (zh) 一种基于xml的数据生成工具开发系统
CN114513404B (zh) 时间敏感网络的配置方法、装置及计算机可读存储介质
CN102722601A (zh) 数控系统的模型转换形式化语义集成框架的实现方法
Sauer et al. The research queueing package: past, present, and future
Abdoul et al. AADL execution semantics transformation for formal verification
Yang et al. Smart intent-driven network management
CN105975695B (zh) 不确定性环境下ThingML模型的量化分析方法
CN109033483B (zh) 一种在yang模型中定义数据关系的方法、装置及系统
CN105335161A (zh) 一种从tasm时间抽象状态机到扩展nta自动机的转换方法
CN108459842A (zh) 一种模型配置方法、装置及电子设备
CN107291435B (zh) 一种不确定性环境下混成aadl模型量化分析方法
CN115033212A (zh) 航电系统图元模型一体化构建方法、装置、计算机设备
CN112784417B (zh) 一种基于SysML的航电分布式联合仿真方法及系统
Oliveira et al. On the reconfiguration of software connectors
Paterno et al. Engineering task models
CN104008058B (zh) 一种基于原型仿真的架构评价方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant