CN107291435B - 一种不确定性环境下混成aadl模型量化分析方法 - Google Patents
一种不确定性环境下混成aadl模型量化分析方法 Download PDFInfo
- Publication number
- CN107291435B CN107291435B CN201610223650.1A CN201610223650A CN107291435B CN 107291435 B CN107291435 B CN 107291435B CN 201610223650 A CN201610223650 A CN 201610223650A CN 107291435 B CN107291435 B CN 107291435B
- Authority
- CN
- China
- Prior art keywords
- hybrid
- model
- aadl
- language
- component
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了一种不确定性环境下混成AADL模型量化分析方法,包括以下步骤:步骤一:利用不确定性附属语言描述模型中的不确定性;步骤二:利用JAVA类描述源语言AADL的元模型,所述元模型包含混成附属语言和嵌入式行为附属语言以描述混成AADL模型;步骤三:将混成AADL模型转换为NPTA模型,并利用UPPAAL‑SMC对所述NPTA模型进行量化分析。本发明通过对混成AADL模型在不确定性环境下转换成UPPAAL模型,和对UPPAAL模型的量化分析可以得到原模型的量化性质,从而可以在早期混成系统设计的时候及时发现错误,降低在不确定性环境中运行可能产生的错误。
Description
技术领域
本发明属于计算机领域,尤其涉及一种不确定性环境下混成AADL模型量化分析方法。
背景技术
本方法基于模型转换方法,针对混成系统中所用到的混成AADL模型,包括混成附属语言(Hybrid Annex)、嵌入式系统软件行为附属语言(BLESS Annex)和不确定性附属语言(Uncertainty Annex),分别使用混成附属语言转换方法、嵌入式系统软件行为附属语言转换方法、不确定性附属语言转换方法,将混成AADL模型转换为UPPAAL模型。
元模型(meta model)是用来定义语义模型的构造和规则的,通常称为定义表达模型的语言的模型。元模型往往用来在某一特定的领域定义一个基础的通用的语言,来讨论和描述该领域的问题及解决方法。特别是在软件工程领域中对模型的分析和构建非常适用。
模型转换方法(Model Transformation)是一种自动化的方法确保一系列模型的一致性,是模型驱动开发方法(Model Driven Development)的核心思想。它通过对一系列模型不同的分析与验证,可以系统设计的早期阶段获得更多的性质。这样有助于保证系统的质量属性,并有效控制开发时间与成本。它通常需要输入源模型和对应的元模型,并通过转换规则生成指定的模型。
体系结构分析与设计语言AADL(Architecture Analysis&Design Language)是一种字符化和图形化的语言,由SAE(Society for Automotive Engineers)体系结构描述语言附属委员会、嵌入式计算系统委员会、航空电子系统公司共同提出,用于设计和分析性能关键的实时系统的软硬件体系结构。且AADL可以通过扩展支持更多的应用,这样的扩展可以被定义为核心标准的一个Annex部分。开源AADL工具集环境(OSATE)是AADL建模的一个工具,它基于Eclipse框架,包含文本、XML和图形编辑器以及众多分析工具。这些工具都是开源Eclipse插件,可以进行扩展。
价格时间自动机(PTA,即Priced Timed Automata)与传统的时间自动机不同,它的时钟能够以不同速率进行变化.通过将不同PTA的输入和输出进行组合,可以组成价格时间自动机网络(NPTA,即Networks of Priced Timed Automata).NPTA中的价格时间自动机通过广播信道和共享变量进行同步。
在基于模型检测的方法下,传统的混成AADL模型分析有以下不足:
1.没有考虑到混成建模的AADL子集,一般的模型分析仅仅包括AADL模型中的核心语义,而不包括混成(Hybird)和行为(BLESS)的描述语义。不能准确(Uncertainty)的描述需要和物理环境频繁交互的系统。
2.没有不确定性描述语义,由于缺乏不确定性描述语义,便无法进行不确定性分析。
3.传统的混成AADL模型分析只能给出某一系统性质是否满足,不能给出某一系统性质有多大概率满足,因此不能更进一步分析系统安全等性质。
发明内容
本发明提出了对混成AADL模型在不确定性环境下转换成UPPAAL模型的方法,通过对UPPAAL模型的量化分析可以得到原模型的量化性质,从而可以在早期系统设计的时候及时发现错误,降低在不确定性环境中运行可能产生的错误。
本发明提出了一种不确定性环境下混成AADL模型量化分析方法,包括以下步骤:
步骤一:利用不确定性附属语言描述模型中的不确定性;
步骤二:利用JAVA类描述源语言AADL的元模型,所述元模型包含混成附属语言和嵌入式行为附属语言以描述混成AADL模型;
步骤三:将混成AADL模型转换为NPTA模型,并利用UPPAAL-SMC对所述NPTA模型进行量化分析。
本发明提出的不确定性环境下混成AADL模型量化分析方法中,所述不确定性附属语言包括:变量(Variables)、类型(Type)、查询(Query)和分布(Distribution);其中,所述变量用于将系统中不确定性具体化,用变量的方式描述系统中存在的不确定性;
所述类型用于描述变量的类型,变量存在两种不同类型以描述两种不同类型的不确定性,包含通信延迟的不确定性和环境参数的不确定性;
所述查询用于描述系统的需求,所述需求包含限制和表达式,所述表达式通过数学公式的方式描述,所述限制是针对某一变量,形式为变量小于等于某一常量;
所述分布用于指定变量所服从的概率分布,包括正太分布、指数分布和随机分布,通过随机分布函数构造其他分布函数。
本发明提出的不确定性环境下混成AADL模型量化分析方法中,针对混成AADL模型中的系统结构、执行模型和不确定性语义分别使用接口映射转换方法、执行语义转换方法和不确定语义添加方法,将混成AADL模型转换为NPTA模型。
本发明提出的不确定性环境下混成AADL模型量化分析方法中,所述接口映射转换方法将一个组件映射成一个PTA,其包括:组件规则、设备规则、类型规则和属性集规则;其中,所述组件规则用于将组件的实现和组件的声明合并成一个PTA;
所述设备规则用于将设备组件转换成一个PTA;
所述类型规则用于将混成AADL模型中的类型转换为NPTA中的类型;
所述属性集规则用于将属性集转换为NPTA中的全局变量。
本发明提出的不确定性环境下混成AADL模型量化分析方法中,所述执行语义转换方法包括:通信规则、属性规则、行为附属子语言规则和混成附属子语言规则;其中,
所述通信规则用于将混成AADL模型中的连接和端口转换为NPTA中的信道;
所述属性规则用于将混成AADL组件或是数据增加的属性转换为NPTA中的对应部分;
所述行为附属子语言规则用于处理使用混成附属子语言描述的抽象组件,抽象组件一般用来环境中的实体进行建模;
所述混成附属子语言规则用于处理使用行为附属子语言描述的线程组件,对应混成模型中的控制器部分。
本发明提出的不确定性环境下混成AADL模型量化分析方法中,所述不确定性语义添加方法包括:变量规则、分布规则和属性规则;其中,
所述变量规则将不确定的变量添加到NPTA的对应变量或延迟中;
所述分布规则将不确定性附属子语言中的分布转换成UPPAAL中的函数,该函数产生的结果满足该子语言中的分布;
所述属性规则将不确定性附属子语言中的属性转化为UPPAAL中查询语句。
本发明提出的不确定性环境下混成AADL模型量化分析方法中,所述混成AADL的元模型包括:
组件(Component),混成AADL模型中组件的节点,主要是由组件声明和组件实现组成,包含混成AADL模型的基本信息;对于混成AADL模型,主要考虑的是进程,线程,抽象和设备组件;
组件声明(CompoentDeclare),所述组件声明为所述组件节点的一个属性,包含该组件和外界连接的端口和该组件的属性;
组件实现(CompoentImpl),所述组件实现为所述组件声明的实例化,包括组件之间的连接和对组件描述的附属语言;在混成AADL模型,我们主要考虑行为、混成和不确定性附属语言。
端口(Port),所述端口为所述组件声明节点的属性,用于定义该组件的输入和输出,分为事件端口和数据端口,所述数据端口包括传输数据的类型;
连接(Connection),所述连接为所述组件实现节点的属性,用于定义组件之间的连接信息,源端口为该连接所在组件的端口。
本发明提出的不确定性环境下混成AADL模型量化分析方法中,所述混成附属语言的元模型包括:
混成附属语言(HybirdAnnex):混成附属语言的根节点,其属性包括该附属语言的变量和常量等信息;
混成进程(HybirdProcess):所述混成进程为所述混成附属语言节点的属性节点,包含附属语言中进程的基本信息;
连续(HContinuous):所述连续为所述混成进程节点的属性节点,描述变量之间的导数关系;
中断(HInterrupt):所述中断为所述混成进程节点的属性节点,描述进程间收发消息所产生的中断;
通信(HCommunication):所述通信为所述中断节点的属性节点,描述进程收发消息所在的端口信息;
赋值(Hassignment):所述赋值为所述混成进程节点的属性节点,用于对进程中的变量初始化。
本发明提出的不确定性环境下混成AADL模型量化分析方法中,所述行为附属语言的元模型包括:
行为附属语言(BLESSAnnex):行为附属语言的根节点,包含断言、变量和不变试等信息;
位置(Location):所述位置为所述行为附属语言节点的属性节点,包含状态转移中节点的相关信息,节点分为初始节点、完成节点、普通节点和终止节点;
转移(BTransition):所述更新为所述行为附属语言节点的属性节点,包含状态转移中边的相关信息,所述边由源节点、目标节点、守卫条件和行为组成;
更新(BUpdate):所述更新为所述转移节点的属性节点,包含端口和表达式,分别用于描述动作中的通信和赋值信息。
本文提出了的基于统计模型技术的不确定性环境下混成AADL模型量化分析方法,包括以下主要方面:
混成AADL模型语义扩展:本发明利用AADL的附属语言扩展机制发明了一种新的不确定性附属语言(Uncertainty Annex)。该附属语言可以扩充AADL模型中的不确定语义,包括环境参数和时间的不确定性。其中变量的不确定性通过概率分布定义,从而更接近真实环境。
模型转换:本发明为了对混成AADL模型进行量化分析,将混成AADL模型转换为NPTA模型,并使用JAVA类描述源语言AADL的元模型。针对混成AADL模型中的系统结构、执行模型和不确定语义分别使用接口映射转换方法、执行语义转换方法和不确定语义添加方法,将混成AADL模型转换为NPTA模型。
量化分析:本发明使用UPPAAL-SMC工具对转化后的混成AADL模型进行量化分析。UPPAAL-SMC是基于统计模型检测(Statistical Model Checking)技术,它通过多次随机模拟系统的运行来获得满足系统某一属性的概率。当前对AADL模型的验证方式只能给出系统某一属性是否满足或不满足,而通过本发明可以获得系统某一属性有多大概率满足,从而可以更细粒度的比较不同设计的好坏。
附图说明
图1为本发明不确定性环境下混成AADL模型量化分析方法的流程图。
图2为本发明不确定性环境下混成AADL模型量化分析方法的总体框架图。
图3为本发明中AADL的元模型图。
图4为本发明中混成附属语言的元模型图。
图5为本发明中嵌入式行为附属语言的元模型图。
图6为本发明中不确定性附属语言的元模型图。
图7为本发明中模型转换流程图
图8为本发明中混成AADL模型和NPTA模型结构对应关系图。
图9为本发明中不确定性语义添加方法图。
图10为本发明中由UPPAAL中Random函数产生正太分布的代码图。
具体实施方式
结合以下具体实施例和附图,对发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明提供了一种在不确定性环境下对混成AADL模型进行量化分析方法,包括以下步骤:
步骤一:利用AADL的附属语言扩展机制,以不确定性附属语言以描述模型中的不确定性;
步骤二:利用JAVA类描述源语言AADL的元模型,该元模型包含混成附属语言和嵌入式行为附属语言以描述混成AADL模型;
步骤三:将混成AADL模型转换为NPTA模型,并利用UPPAAL-SMC对NPTA模型进行量化分析。针对混成AADL模型中的系统结构、执行模型和不确定语义分别使用接口映射转换方法、执行语义转换方法和不确定语义添加方法,将混成AADL模型转换为NPTA模型。
本发明中的不确定性附属语言包括:
Variables:变量用于将系统中不确定性具体化,用变量的方式描述系统中存在的不确定性。
Type:类型用于描述变量的类型,变量存在两种不同类型以描述两种不同类型的不确定性,包含通信延迟的不确定性和环境参数的不确定性。
Query:查询用于描述系统的需求,该需求包含限制和表达式两部分,表达式通过数学公式的方式描述,限制通常是针对某一变量,形式为变量小于等于某一常量。
Distribution:分布指定变量所服从的概率分布,包括正太分布、指数分布和随机分布,还可以通过随机分布函数构造其他分布函数。
本发明中的混成AADL的元模型包括:
Component:混成AADL模型中组件的节点,主要是由组件声明和组件实现组成,还包含混成AADL模型的名字等基本信息。对于混成AADL模型,主要考虑的是进程,线程,抽象和设备组件。
CompoentDeclare:组件声明是Component节点的一个属性,主要包含该组件和外界连接的端口和该组件的属性。
CompoentImpl:组件实现是组件声明的实例化,主要包括组件之间的连接和对组件描述的附属语言。在混成AADL模型,我们主要考虑行为、混成和不确定性附属语言。
Port:端口是CompoentDeclare节点的属性,用来定义该组件的输入和输出,可以分为事件端口和数据端口,数据端口还包括传输数据的类型。
Connection:连接是CompoentImpl节点的属性,用来定义组件之间的连接信息,并且源端口都是该连接所在组件的端口。
本发明中的混成附属语言的元模型包括:
HybirdAnnex:混成附属语言的根节点,其属性包括该附属语言的变量和常量等信息。
HybirdProcess:HybirdAnnex的属性节点,包含附属语言中进程的基本信息。
HContinuous:HybirdProcess的属性节点,描述变量之间的导数关系。
HInterrupt:HybirdProcess的属性节点,描述进程间收发消息所产生的中断。
HCommunication:HInterrupt的属性节点,描述进程收发消息所在的端口信息。
Hassignment:HybirdProcess的属性节点,用于对进程中的变量初始化。
本发明中的行为附属语言的元模型包括:
BLESSAnnex:行为附属语言的根节点,包含断言、变量和不变试等信息。
Location:BLESSAnnex的属性节点,包含状态转移中节点的相关信息,节点分为初始节点、完成节点、普通节点和终止节点。
BTransition:BLESSAnnex的属性节点,包含状态转移中边的相关信息。边由4部分组成,分为源节点、目标节点、守卫条件和行为。
BUpdate:BTransition的属性节点,包含端口和表达式,分别用来描述动作中的通信和赋值信息。
本发明中,混成AADL组件的转换方法将一个组件映射成一个PTA,该转换方法包括以下规则:
组件规则:用于将组件的实现和组件的声明合并成一个PTA。
设备规则:用于将设备组件转换成一个PTA。
数据规则:用于将混成AADL模型中的数据转换为NPTA中的类型。
属性集规则:用于将属性集转换为NPTA中的全局变量。
本发明中,混成AADL组件的执行语义转换方法包括以下规则:
通信规则:用于将混成AADL模型中的连接和端口转换为NPTA中的信道。
属性规则:用于将混成AADL组件或是数据增加的属性转换为NPTA中的对应部分。
行为附属子语言规则:用于处理使用混成附属子语言描述的抽象组件,抽象组件一般用来环境中的实体进行建模。
混成附属子语言规则:用于处理使用行为附属子语言描述的线程组件,对应混成模型中的控制器部分。
混成AADL组件的不确定性语义添加方法包括以下规则:
变量规则:将不确定的变量添加到NPTA的对应变量或延迟中。
分布规则:将不确定性附属子语言中的分布转换成UPPAAL中的函数,该函数产生的结果满足该子语言中的分布。
属性规则:将不确定性附属子语言中的属性转化为UPPAAL中查询语句。
基于以上发明方法,本实施例开发了一个AADL到UPPAAL模型的转换工具,该模型转换工具是基于我们的转换方法,针对我们选取的混成AADL模型自动地转换成对应的UPPAAL模型,并调用UPPAAL-SMC对UPPAAL模型进行量化分析。其中,不确定性附属语言的设计采用元模型的方式进行描述。具体的实施步骤如下:
1.AADL文本格式解析
基于本发明方法的转换工具对于AADL的文本格式文件采用JAVA DOM(DocumentObject Model)的技术解析。由于AADL通过OSATE软件生成的文本格式文件aaxl,其文本格式同XML格式类似,因此可以通过DOM技术解析。然后通过XPATH(Xml Path Language)技术在XML数据结构树中寻找节点,根据对应节点创建对应的元模型的实例。创建顺序如下:
先创建AADL元模型的对象,再依次按照如下顺序添加相应信息到该对象中。
获得数据和类型信息:数据对应的标签对是ownedClassifier,对应的属性是xsi:type="aadl2:DataType"。
获得所有的组件信息:对应的标签对是ownedClassifier,根据属性中的xsi:type分辨它是组件声明还是组件实现。且ownedRealization属性可以获得组件实现对应的组件声明。
获得组件包含的端口信息:对应的标签对是ownedDataPort、ownedEventDataPort和ownedEventPort,分别对应数据端口、数据事件端口和事件端口。端口的方向,名称和数据类型可以由标签对中的属性确定。
获得组件间的连接信息:对应的标签对是ownedPortConnection,它的子标签包含destination和source,分别对应连接的源端口和目标端口。源端口和目标端口中的Context属性可以获得端口所在的组件。
获得组件属性信息:对应的标签对是ownedPropertyAssociation,属性的类型由标签中的property获得。属性的值有ownedValue子标签获得。
获得组件附属语言信息:包括混成附属语言,行为附属语言和不确定性附属语言信息,他们之间通过xsi:type区别。parsedAnnexSubclause标签对是这些附属语言所在的位置。其中混成附属语言和行为附属语言的子标签和元模型中的类关系类似,只需一一对应标签和类就可以获得这连个元模型的实例。
不确定性附属语言由于没有对应的parsedAnnexSubclause标签,所以只能通过ownedAnnexSubclause获得原始的文本。因此解析可以通过正则表达式来进行。例如这个正则表达式:variables([\s\S]*)function,就可以获得所有变量的信息,再通过\b(.*)[\r\n]正则表达式可以获得每个变量的信息,最后根据每个变量定义的顺序获得对应的变量名、变量类型和应用的端口。
2.元模型构建
本模块是基于JAVA类对混成AADL中的组件构建元模型。通过选取AADL中的核心组件、混成附属语言、行为附属语言和不确定附属语言,可以比较完成的描述一个用AADL建模的在不确定性环境下的混成模型。通过建立这个元模型,我们可以更方便的对AADL模型进行转换,不仅仅可以转换成NPTA模型,也可以转换成其他模型以供分析。因此,这是一种有效的对AADL模型进行分析的方法。
AADL模型的组件主要是由组件声明和组件实现组成。ACompoent类对应AADL的组件,它包含两个子类ACompoentImpl和ACompoentDeclare,分别对应组件实现和组件声明。组件声明主要包含该组件和外界连接的端口和该组件的属性,端口又包括方向是输入还是输入、类型是数据端口还是事件端口。组件实现主要包括组件之间的连接和对组件描述的附属语言。在CBTC模型中,我们主要考虑行为、混成和不确定性附属语言,对应图3中BLESSAnnex、HybirdAnnex和UncertaintyAnnex。
如图4所示,混成附属语言的元模型主要包含3个部分:变量(variables),常量(constants),和行为(behavior)。变量包含变量名和变量类型,常量和变量用相同的类表示,常量的不变特性隐含在变量的变量名中。行为用HybirdProcess类来表示,HybirdProcess包含bool变量表示该进程是否是skip进程,HContinuous类用来描述变量之间的微分关系。HInterrupt类用来描述中断事件,中断主要是由端口和端口接受或发送的数据组成,因此用HCommunication表示这样的结构。而且中断可能包含一些端口的接受和发送数据,因此一个HInterrupt包含多个HCommunication实例。Hassignment表示对这个进程的初始化,主要是对组件中的变量初始化。
行为附属语言和UPPAAL自动机类似,它主要是由断言、变量、常量、节点和转换组成。变量和AADL中的变量唯一不同是他可以赋初始值,因此BVar类继承了AADL变量类并添加了一个初始值属性。断言在附属语言类似数学表达式,因此可以把它看成String类型。节点和转换同UPPAAL自动机相同,节点都有初始节点、完成节点,转换都有条件、同步和动作。但转换中的动作在行为附属语言有多个,并且动作中会有涉及端口的通信。如图5中所示BTransition类包含多个BUpdate动作类,该类包含一个端口和端口传输的数据。
不确定性附属语言包含变量、分布和查询部分。变量继承于AADL的变量,但变量的类型多出两个price和time,price代表这是一个数据的不确定性,time代表是一个通信的不确定性。这个变量同时还需应用到端口上,以模拟这个端口上的不确定性。由于端口分为数据端口和时间端口,因此在不确定性环境下数据端口会加上一个不确定的变量,而时间端口会增加一个不确定性的延迟。同时由于这个变量可能会服从某一概率分布,因此用Distribution类对应概率分布,其中的paras对应概率分布中的输入参数。元模型如图6所示。
3.模型转换方法:
本软件为了对混成AADL模型进行量化分析,将对应AADL模型转换为UPPAAL模型。针对混成AADL模型中的系统结构、执行模型和不确定语义分别使用接口映射转换方法、执行语义转换方法和不确定语义添加方法,将AADL模型转换为UPPAAL模型,整体流程如图7所示。最后,通过UPPAAL-SMC工具对转换后的UPPAAL模型进行统计模型检测,获得量化分析结果。
3.1模型结构映射的转换方法:
由于AADL模型是由不同的组件组成的类似树形的结构,而NPTA是由不同的PTA组成的一层结构。所以,需要把AADL的层级结构扁平化,使得AADL模型仅有一层结构。其中,进程组件由于这一方式导致其被删除,其相应的结构会体现在它的子线程中,特别是线程与其他组件的连接会直接连到相应的子线程中。如图8所示,组成混成AADL模型中的抽象、线程、设备组件都会映射成一个NPTA模型的价格时间自动机(PTA),其中连接会被映射成NPTA中的广播信道,以模拟组件之间的同步通信。属性集和数据可以看作是NPTA中的全局变量。
组件规则:用于将组件的实现和组件的声明合并成一个PTA,组件实现的转换由附属子语言对应的转换规则实现,组件中的连接和端口会生成NPTA中的对应信道。
设备规则:用于将设备组件转换成一个PTA。由于设备组件一般仅有输入输出的端口儿没有实现的细节,所以在生成的PTA中,每个端口生成一个节点,节点之间的边顺序按照先输入,后输出的顺序连接。
类型规则:用于将AADL模型中的类型转换为NPTA中的类型,分别将AADL模型中的integer、real、struct等类型转化为NPTA模型中的int、double、struct类型。并且当数据没有指定类型的时候,我们默认设置为double类型。
属性集规则:用于将属性集转换为NPTA中的全局变量,该全局变量为NPTA的常量且可以被所有的PTA访问。在属性中被引用的数据组件也被转换为全局变量。
3.2执行语义转换方法:
由于AADL模型中的执行语义在NPTA中没有对应的部分,因此需要通过其他方式在NPTA中实现这些执行语义。AADL模型的执行语义一般通信、属性和附属子语言来描述。
通信规则:用于将AADL模型中的连接和端口转换为NPTA中的信道。AADL模型中的连接和NPTA中的信道一一对应,且连接对应的两个输入和输出端口对应信道中的‘?’和‘!’表达式。
属性规则:用于将AADL组件或是数据增加的属性转换为NPTA中的对应部分。其中线程中的调度协议会转换成NPTA中非完成节点的不变试。数据的属性转换成NPTA数据的类型。
行为附属子语言规则:用于处理使用混成附属子语言描述的抽象组件,抽象组件一般用来环境中的实体进行建模。行为附属语言中的节点和转换可以直接作为NPTA中的节点和转换。但是行为附属语言边的动作有多个,而NPTA只有一个,所以需要把行为附属语言边的多个动作扩展成NPTA中的多条连续边,其中每个端口都需要占用一条边。
混成附属子语言规则:用于处理使用行为附属子语言描述的线程组件,对应混成模型中的控制器部分。混成附属语言中的每个进程会转化为NPTA中的一个节点,导数表达式转化为节点中的不变试。中断中的每个端口都会转化成NPTA中的同步边,和边相连的非完成节点需要包含导数表达式中的不变试。
3.3不确定性语义添加方法
不确定性附属语言中的时间类型变量会转化成一条边和相邻的节点,自动机会在这个节点中停留一段不确定的时间,且这个节点会插在被应用的那个同步边之前,见图9。价格变量会使该变量在每次被赋值之前都会加上用户定义的满足某种分布的变量。如图10所示,高斯分布可以由UPPAAL中的Random()函数产生,且用高斯分布得到的结果必须要取绝对值,防止环境变量变为负数。
变量规则:将不确定的变量添加到NPTA的对应变量或延迟中。
分布规则:将不确定性附属子语言中的分布转换成UPPAAL中的函数,该函数产生的结果满足该子语言中的分布。
属性规则:将不确定性附属子语言中的属性转化为UPPAAL中查询语句。
本发明提出的基于统计模型技术的不确定性环境下混成AADL模型量化分析方法能够在较短的时间内获得不确定性环境下的系统安全性质的量化结果,提高系统在不确定性环境下运行的安全性。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (7)
1.一种不确定性环境下混成AADL模型量化分析方法,其特征在于,包括以下步骤:
步骤一:利用不确定性附属语言描述模型中的不确定性;所述不确定性附属语言包括:变量、类型、查询和分布;其中,
所述变量用于将混成AADL模型中不确定性具体化,用变量的方式描述混成系统中存在的不确定性;
所述类型用于描述所述变量的类型,变量存在两种不同类型以描述两种不同类型的不确定性,包含通信延迟的不确定性和环境参数的不确定性;
所述查询用于描述所述混成系统的需求,所述需求包含限制和表达式,所述限制针对变量,其形式为所述变量小于等于常量,所述表达式通过数学公式的方式描述;
所述分布指定所述变量所服从的概率分布,包括正太分布、指数分布和随机分布;
步骤二:利用JAVA类描述源语言AADL的元模型,所述元模型包含混成附属语言和嵌入式行为附属语言以描述混成AADL模型;
步骤三:将混成AADL模型转换为NPTA模型,并利用UPPAAL-SMC对所述NPTA模型进行量化分析;针对混成AADL模型中的系统结构、执行模型和不确定语义分别使用接口映射转换方法、执行语义转换方法和不确定性语义添加方法,将混成AADL模型转换为NPTA模型。
2.如权利要求1所述的不确定性环境下混成AADL模型量化分析方法,其特征在于,所述接口映射转换方法,其将组件映射成PTA,其包括:组件规则、设备规则、类型规则和属性集规则;其中,
所述组件规则用于将组件的实现和组件的声明合并成PTA;
所述设备规则用于将设备组件转换成PTA;
所述类型规则用于将混成AADL模型中的类型转换为NPTA中的类型;
所述属性集规则用于将属性集转换为NPTA中的全局变量。
3.如权利要求1所述的不确定性环境下混成AADL模型量化分析方法,其特征在于,所述执行语义转换方法包括:通信规则、属性规则、行为附属子语言规则和混成附属子语言规则;其中,
所述通信规则用于将混成AADL模型中的连接和端口转换为NPTA中的信道;
所述属性规则用于将混成AADL组件或是数据增加的属性转换为NPTA中的对应部分;
所述行为附属子语言规则用于处理使用混成附属子语言描述的抽象组件,抽象组件用来对环境中的实体进行建模;
所述混成附属子语言规则用于处理使用行为附属子语言描述的线程组件,对应混成模型中的控制器部分。
4.如权利要求1所述的不确定性环境下混成AADL模型量化分析方法,其特征在于,所述不确定性语义添加方法包括:变量规则、分布规则和属性规则;其中,
所述变量规则将不确定的变量添加到NPTA的对应变量或延迟中;
所述分布规则将不确定性附属子语言中的分布转换成UPPAAL中的函数,该函数产生的结果满足该子语言中的分布;
所述属性规则将不确定性附属子语言中的属性转化为UPPAAL中查询语句。
5.如权利要求1所述的不确定性环境下混成AADL模型量化分析方法,其特征在于,所述混成AADL的元模型包括:
组件,混成AADL模型中组件的节点,由组件声明和组件实现组成,其包含混成AADL模型的基本信息;
组件声明,所述组件声明为组件节点的一个属性,其包含该组件和外界连接的端口和该组件的属性;
组件实现,所述组件实现为所述组件声明的实例化,其包括组件之间的连接和对组件描述的附属语言;
端口,所述端口为组件声明节点的属性,用于定义该组件的输入和输出,分为事件端口和数据端口,所述数据端口包括传输数据的类型;
连接,所述连接为组件实现节点的属性,用于定义组件之间的连接信息,源端口为该连接所在组件的端口。
6.如权利要求1所述的不确定性环境下混成AADL模型量化分析方法,其特征在于,所述混成附属语言的元模型包括:
混成附属语言,其属性包括该附属语言的变量和常量信息;
混成进程,所述混成进程为混成附属语言节点的属性节点,包含附属语言中进程的基本信息;
连续,所述连续为混成进程节点的属性节点,描述变量之间的导数关系;
中断,所述中断为混成进程节点的属性节点,描述进程间收发消息所产生的中断;
通信,所述通信为中断节点的属性节点,描述进程收发消息所在的端口信息;
赋值,所述赋值为混成进程节点的属性节点,用于对进程中的变量初始化。
7.如权利要求1所述的不确定性环境下混成AADL模型量化分析方法,其特征在于,所述行为附属语言的元模型包括:
行为附属语言,行为附属语言的根节点,包含断言、变量和不变式 信息;
位置,所述位置为行为附属语言节点的属性节点,包含状态转移中节点的相关信息,节点分为初始节点、完成节点、普通节点和终止节点;
转移,所述转移为行为附属语言节点的属性节点,包含状态转移中边的相关信息,所述边由源节点、目标节点、守卫条件和行为组成;
更新,所述更新为转移节点的属性节点,包含端口和表达式,分别用于描述动作中的通信和赋值信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610223650.1A CN107291435B (zh) | 2016-04-12 | 2016-04-12 | 一种不确定性环境下混成aadl模型量化分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610223650.1A CN107291435B (zh) | 2016-04-12 | 2016-04-12 | 一种不确定性环境下混成aadl模型量化分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291435A CN107291435A (zh) | 2017-10-24 |
CN107291435B true CN107291435B (zh) | 2020-08-25 |
Family
ID=60095524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610223650.1A Active CN107291435B (zh) | 2016-04-12 | 2016-04-12 | 一种不确定性环境下混成aadl模型量化分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291435B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442338B (zh) * | 2019-08-21 | 2023-09-19 | 北京神舟航天软件技术有限公司 | 一种结构分析与设计语言aadl模型的仿真方法 |
CN111209203B (zh) * | 2020-01-06 | 2022-03-08 | 上海丰蕾信息科技有限公司 | 一种基于源代码的模型验证方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053910B (zh) * | 2010-11-18 | 2013-01-16 | 西北工业大学 | 一种基于aadl模态蜕变关系的嵌入式软件测试方法 |
CN102520925B (zh) * | 2011-11-18 | 2014-04-30 | 北京航空航天大学 | Aadl2tasm模型转换方法 |
US9027001B2 (en) * | 2012-07-10 | 2015-05-05 | Honeywell International Inc. | Systems and methods for verifying expression folding |
CN104932905A (zh) * | 2015-07-14 | 2015-09-23 | 北京神舟航天软件技术有限公司 | 一种aadl到c语言的代码自动生成方法 |
CN105335161B (zh) * | 2015-11-13 | 2018-08-24 | 华中师范大学 | 一种从tasm时间抽象状态机到扩展nta自动机的转换方法 |
-
2016
- 2016-04-12 CN CN201610223650.1A patent/CN107291435B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107291435A (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ladkin et al. | Interpreting message flow graphs | |
US8365139B2 (en) | Applying coding standards in graphical programming environments | |
Felder et al. | Proving properties of real-time systems through logical specifications and Petri net models | |
US8645938B2 (en) | System and method for replacing code | |
CN111176639A (zh) | 一种从SysML到AltaRica的自动化模型转换方法 | |
Lano et al. | Semantics and transformations for UML models | |
US5949993A (en) | Method for the generation of ISA simulators and assemblers from a machine description | |
CN107291435B (zh) | 一种不确定性环境下混成aadl模型量化分析方法 | |
US8700374B1 (en) | System and method of using an active link in a state programming environment to locate an element in a graphical programming environment | |
CN113190222A (zh) | 一种基于SysML的安全关键自治系统建模方法及工具 | |
JP2010140407A (ja) | ソースコード検査装置 | |
Kim et al. | An integrated framework with UML and Object-Z for developing a precise and understandable specification: the light control case study | |
CN115758789A (zh) | 一种复杂实时嵌入式系统的软件架构设计与架构传递方法 | |
Good | The proof of a distributed system in Gypsy | |
Reza et al. | Mapping AADL to petri net tool-sets using PNML framework | |
CN111291444B (zh) | 飞机装配的建模方法、装置、设备及存储介质 | |
Zhang et al. | A method of automatic code generation based on AADL model | |
Delanote et al. | Using AADL in model driven development | |
Anureev | Introduction to the Atoment language | |
CN105975695A (zh) | 不确定性环境下ThingML模型的量化分析方法 | |
Toetenel et al. | A timed automata semantics for real-time UML specifications | |
Foss et al. | From UML to Simulink CAAM: Formal specification and transformation analysis | |
Schulz et al. | Categorical framework for the transformation of object-oriented systems: Operations and methods | |
Mendias et al. | Formal techniques for hardware allocation | |
CN117215535A (zh) | 一种基于建筑数据交换标准的语句处理方法、装置和设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 200241 No. 500, Dongchuan Road, Shanghai, Minhang District Patentee after: EAST CHINA NORMAL University Address before: 200062 No. 3663, Putuo District, Shanghai, Zhongshan North Road Patentee before: EAST CHINA NORMAL University |