CN110286902B - SysML安全性扩展及其到AADL故障模型的自动转换方法 - Google Patents

SysML安全性扩展及其到AADL故障模型的自动转换方法 Download PDF

Info

Publication number
CN110286902B
CN110286902B CN201910471898.3A CN201910471898A CN110286902B CN 110286902 B CN110286902 B CN 110286902B CN 201910471898 A CN201910471898 A CN 201910471898A CN 110286902 B CN110286902 B CN 110286902B
Authority
CN
China
Prior art keywords
error
sysml
model
aadl
type
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
CN201910471898.3A
Other languages
English (en)
Other versions
CN110286902A (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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201910471898.3A priority Critical patent/CN110286902B/zh
Publication of CN110286902A publication Critical patent/CN110286902A/zh
Application granted granted Critical
Publication of CN110286902B publication Critical patent/CN110286902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation 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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了SysML安全性扩展及其到AADL故障模型的自动转换方法,SysML现有的语义不足以表达安全性相关的信息,本发明利用SysML的扩展机制开发了一个Safety Profile文件,通过该Profile文件将安全性相关信息集成至SysML模型中,然后通过转换工具,将已集成安全性相关信息的SysML模型转换为带错误附件的AADL模型。

Description

SysML安全性扩展及其到AADL故障模型的自动转换方法
技术领域
本发明涉及到SysML安全性扩展及其到AADL故障模型的自动转换方法,尤其涉及到一种基于原型方式的SysML安全性扩展方法和SysML模型到AADL错误附件的自动转换方法。
背景技术
安全关键系统(Safety-critical system)广泛应用于军事、工业、航空航天、医疗和通信等领域。如果无法满足一个安全关键系统的设计要求,就可能会导致灾难性的财产损失、人身伤害和大规模的环境破坏,即系统的故障会导致严重的安全问题。常见的生命关键、任务关键、环境关键、费用关键、时间关键等都属于安全关键系统的研究范畴。
随着技术的进步,人们制造的系统越来越复杂,越来越大型,传统的文档驱动开发方法需要系统工程师手动生成需求文档、架构说明文档、系统设计说明书、特性工程分析文档等产出物。这样不仅会有非常昂贵的成本,且需求规约不精确、需求设计前后不一致,对系统的验证也非常滞后,每次对系统的迭代都会耗费大量的时间。
模型驱动开发方法(MDD,Model Driven Development)能够在系统的早期设计阶段就对系统进行分析和验证,不仅可以减少时间和成本,还可以保证系统的质量属性,质量属性是由体系结构决定的。
在基于模型的系统工程(MBSE,Model Based Systems Engineering)中,系统工程师的交付物是一份使用了专门的系统建模工具创建的清晰、集成并且一致的系统模型。系统模型是设计的中心,模型比描述更具表现力,并且比基于文本的方式更容易被理解,可以建立不同视图之间以及不同抽象级别模型之间的可跟踪性。
安全关键领域常用的体系结构建模语言有UML(unified modeling language)、SysML、ADL(architecture description Language)、分析设计与建模语言AADL等。
UML统一建模语言是面向对象的标准建模语言,自1997年11月17日被OMG(ObjectManagement Group)批为标准以来,UML获得了各界的广泛支持。为了满足系统工程的实际需要,INCOSE(International Council on Systems Engineering)和OMG在对UML2.0的子集进行重用和扩展的基础上,提出了一种新的系统建模语言SysML。
SysML是一种半形式化的图形语言,是UML的一种扩展。一共有模块定义图(BDD)、内部模块图(IBD)、用例图、活动图、序列图、状态机图、参数图、包图、需求图这九种SysML图。
尽管UML成功地运用于很多系统工程项目,但UML过于侧重于面向软件,因此缺乏系统建模的一些重要概念:表示在组件内部交换的物理流(物质、能量或信息)的连续流。且它也没有提供真正的需求管理。因此OMG创建了保留了UML的优势、又更适用于系统工程的SysML系统建模语言。现实中存在各种各样的领域,让UML能够表达无穷尽的领域概念是不现实的。针对这点限制,UML提出了一种扩展机制、可以添加新的约束、标记值和原型来构建新的Profile文件。SysML、MARTE都属于UML的扩展。
2004年,美国汽车工程师协会SAE(society of automotive engineers)在MetaH,UML的基础上,提出嵌入式实时系统体系结构分析与设计语言AADL(architectureanalysis&design language)。AADL可以提供标准而又足够精确的方式,设计与分析嵌入式实时系统体系结构及功能与非功能属性,采用单一模型支持多种分析的方式,将系统设计、分析、验证、自动代码生成等关键环节融合于统一框架之下。
Error Model Annex是AADL子语言的一种,属于AADL语言的扩展,它具有自己的语法和语义。在错误附件中定义了故障模型。在故障模型的类型声明中,声明了故障传播、故障事件和故障状态。在故障模型的故障实现中,定义了自动机,描述故障状态之间的迁移。
附件提供了属性集来定义故障发生的概率、故障的影响、故障发生的阶段、故障的描述等信息。
Error Model Annex可以与多种分析方法结合,如MA(Markov analysis)、DD(dependency diagrams)、ETA(event tree analysis)、FTA(fault treeanalysis)、随机Petri网等,从而对系统的可靠性、完整性、可用性以及可维护性进行定量分析。
但SysML无法表达安全性相关信息,且SysML模型无法转换为带错误附件的AADL模型。
发明内容
发明目的:为解决SysML无法表达安全性相关信息的问题和SysML模型无法转换为带错误附件的AADL模型的问题,本发明公开了一种SysML安全性扩展及其到AADL故障模型的自动转换方法,使得SysML可以表达安全性相关的信息且SysML模型可以自动生成AADL错误附件。
本发明公开了SysML安全性扩展及其到AADL故障模型的自动转换方法,包括以下步骤:
步骤1:基于SysML的扩展机制引入Safety Profile文件,通过Safety Profile文件将安全性相关信息集成至SysML模型中,得到安全性扩展后的SysML;
步骤2:通过转换规则,将安全性扩展后的SysML模型转换为带错误附件的AADL模型。
进一步的,所述步骤1具体为:通过Safety Profile文件在SysML模型中扩展了包括:错误类型和错误类型集、错误传播和错误流、错误事件和修复事件、错误状态机、错误转换条件、组件错误行为中的传出传播、复合错误行为、Hazards Property和OccurrenceDistribution列表。
进一步的,所述在SysML模型中扩展错误类型和错误类型集,具体为:
用SysML模型的参数表达传入或者传出组件的错误,参数的类型为错误类型,用参数集表达传入或传出的错误集;
用SysML模型的参数的Direction方向来区分传入和传出传播,参数的方向若为in,则为传入的错误;参数的类型若为out,则为传出的错误。
进一步的,所述在SysML模型中扩展错误传播和错误流,具体为:通过扩展SysML模型活动图中的活动参数和对象流来共同表示错误传播和错误流。
进一步的,通过扩展SysML模型活动图中的活动参数和对象流来共同表示错误传播和错误流的步骤具体为:
创建两个原型:ActivityParameterNode和ActivityParameterSetNode,采用原型ActivityParameterNode表示传入或传出的为单个错误,使用Base活动参数的Parameter属性指定传播的错误类型,原型ActivityParameterSetNode表示传入或传出的为一个错误集合,使用本身的属性ParameterSet来指定传播的错误类型集合;
对原型ActivityParameterSetNode和ActivityParameterNode_propagations添加类型为FlowPort的特征属性。
进一步的,所述在SysML模型中扩展错误事件和修复事件的步骤为:
通过扩展SysML模型中已有的Event元类,创建两个新的原型ErrorEvent和RecoverEvent分别代表错误事件和修复事件;所述错误事件表示组件内部发生的事件导致了错误,所述修复事件表示组件内部进行了自我修复。
进一步的,所述在SysML模型中扩展错误状态机的步骤为:
通过扩展SysML模型的基本元素StateMachine,创建原型ErrorBehaviour,采用原型ErrorBehaviour的Boolean类型的属性IsComposite来表示状态机是否是组合状态机,原型ErrorBehaviour的StateMachine类型的属性usebehavior指定该组件应用的库中的通用状态机。
进一步的,所述在SysML模型中扩展错误转换条件的步骤为:采用由SysML模型基本元素Trigger扩展的原型InPropagations的ActivityParameterNode类型的属性ActivityParameterNode指定作为触发两个状态之间转换的传入传播。
进一步的,所述在SysML模型中扩展组件错误行为模型中的传出传播的步骤为:采用由SysML模型的基本元素State扩展的原型OutPropagations的ActivityParameterNode类型的属性ActivityParameterNode指定错误传播点和传出的错误类型。
进一步的,所述在SysML模型中扩展复合错误行为的步骤为:采用由SysML基本元素State扩展的原型SubComponentState指定子组件中的状态。
进一步的,所述在SysML模型中扩展了Hazards Property和OccurrenceDistribution列表的步骤为:在SysML模型中创建一个名为FailueMode的构造型,为其添加EMV2 Hazards Property中的属性;用FailureMode中Probability的值表示OccurrenceDistribution列表中的ProbabilityValue。
进一步的,所述步骤2中的转换规则包括预先定义的SysML到AADL错误附件库的转换规则、SysML到AADL错误传播和错误流的转换规则、SysML到AADL组件错误行为的转换规则、SysML到AADL复合错误行为的转换规则和SysML到AADL错误附件属性集的转换规则。
进一步的,所述步骤2具体为:
使用EMF技术,在Eclipse中开发一个Ecore元模型,用于描述存储安全性扩展后的SysML模型结构的XMI文件的元结构;
Ecore模型生成一个解析器,该解析器将XMI文件中的安全性扩展后的SysML模型结构读取出来,从而在Eclipse中创建一个EMF模型;
通过遍历安全性扩展后的SysML模型对应的EMF模型来创建EMF模型中的元素到AADL中的元素的映射,在重用已有转换规则的基础上,先用Model Creator来创建组件对应的AADL对象和EMF到AADL的映射关系,再用Model Linker来建立各个组件之间的联系,得到AADL故障模型。
有益效果:采用本发明的方法可让SysML模型具有表达安全性相关信息的能力,可将SysML模型转换为带错误附件的AADL模型。
附图说明
图1:转换工具整体结构图
图2:工具使用方法
图3:SysML的安全Profile文件
图4:SysML中错误类型之间的继承关系
图5:活动参数扩展图
图6:Event元类扩展图
图7:StateMachine元类扩展图
图8:Trigger元类扩展图
图9:State元类扩展图1
图10:State元类扩展图2
图11:FailueMode原型图
图12:FailureMode原型扩展图
具体实施方式
下面结合附图进一步阐述该发明方法。
本发明涉及到SysML安全性扩展及其到AADL故障模型的自动转换方法,尤其涉及到一种基于原型方式的SysML安全性扩展方法和SysML模型到AADL错误附件的自动转换方法。SysML现有的语义不足以表达安全性相关的信息,本发明利用SysML的扩展机制开发了一个Safety Profile文件,通过该Profile文件将安全性相关信息集成至SysML模型中,然后通过转换工具,将已集成安全性相关信息的SysML模型转换为带错误附件的AADL模型。
1)工具总体概述
首先在Papyrus中用SysML语言对系统进行建模,需要添加安全性相关信息时,安全性扩展文件将信息集成进SysML模型中。SysML模型的结构都存储在一个XMI文件中。使用EMF(Eclipse Modeling Framework)技术,在Eclipse中开发一个Ecore元模型,用于描述该XMI文件的元结构。Ecore模型可以生成一个解析器,这个解析器可以将XMI文件中的结构读取出来,从而在Eclipse中创建一个EMF模型。通过遍历SysML模型对应的EMF模型来创建EMF模型中的元素到AADL中的元素的映射,在重用已有转换规则的基础上,先用Model Creator来创建组件对应的AADL对象和EMF到AADL的映射关系。再用Model Linker来建立各个组件之间的联系。工具整体架构如图1所示。工具使用方法如图2所示。安全性扩展文件SafetyProfile如图3所示。
2)在SysML模型中扩展错误类型和错误类型集
在我们的方法中,用SysML的参数表达传入或者传出组件的错误,参数的类型即为错误类型。用参数集表达传入或传出的错误集。
用参数的Direction方向来区分传入和传出传播。参数的方向若为in,则为传入的错误;参数的类型若为out,则为传出的错误。
AADL的错误类型在EMV2子句中的error types关键字下定义。错误类型和错误类型集是通用的,在SysML建模时,把错误类型放入名为Error_Types的包中,表明这个包中的Block要转换为错误类型。这个包将作为AADL错误附件库,保存通用的错误类型(errortypes)和错误状态机(error behavior)。错误类型之间存在子类——父类的继承关系,在AADL中可用extends关键字来表达这种继承关系。
这种继承关系的示例如图4所示。
3)在SysML模型中扩展错误传播和错误流
用SysML活动图中的活动参数和对象流来共同表示错误传播和错误流。错误传播的可能是一个错误,也可能是一个错误集合,因此扩展活动参数,创建两个原型:ActivityParameterNode和ActivityParameterSetNode。
ActivityParameterNode表示传入或传出的为单个错误,使用Base活动参数的Parameter属性指定传播的错误类型。ActivityParameterSetNode表示传入或传出的为一个错误集合,使用本身的属性ParameterSet来指定传播的错误类型集合。
由于错误传播要与组件特征相关联,为了表示这一信息,为新创建的ActivityParameterSetNode和ActivityParameterNode_propagations这两个原型添加类型为FlowPort的特征属性。
活动参数的扩展如图5所示。
错误流分为三种类型:流源(source)、流路径(path)、流汇(sink)。
1)流源(error source)
错误源表示错误是从当前组件作为起点从传播点传播出去的,和错误源相关联的类型必须和out传播点能传播的类型相符合。
当活动参数表达一个错误源的时候,参数的方向应为out,且这个活动参数不是任何一条对象流(object flow)的终点。
2)流路径(error path)
错误路径表示了错误是如何通过一个feature或者绑定,从组件外部经过该组件,并从另一个feature或者绑定传出的。在流路径中,错误的类型是可以被改变的。传入的错误类型可以经由该组件,传出一个新的错误类型。
当两个活动参数表达一条错误路径的时候,用对象流(object flow)连接两个活动参数。在这里,对象流表示错误从一个活动参数向另一个活动参数流动。对象流的源节点应为一个方向为in的活动参数,目标节点应为一个方向为out的活动参数。
3)流汇(error sink)
错误流汇表示该组件是该传入错误的最终接收点,错误在该组件或者它的子组件中被处理。
当活动参数表达一个错误汇的时候,参数的方向应为in,且这个活动参数不是任何一条对象流(object flow)的起点。
4)在SysML模型中扩展错误事件和修复事件
错误事件表示组件内部发生的事件导致了错误。一个错误事件可以作为状态转换的触发条件,也可以作为一个错误传播的触发条件。
修复事件表示组件内部进行了自我修复,通常作为组件的一个故障状态转换为一个正常状态的触发条件。
SysML中没有错误事件和修复事件的概念,因此需要扩展已有的Event元类。创建两个新的原型ErrorEvent和RecoverEvent,分别代表错误事件和修复事件。
Event元类的扩展如图6所示。
5)在SysML模型中扩展错误状态机
一个组件可能拥有多个状态,状态是状态机的必要组成部分,这些状态可以表明组件的当前情况。例如组件可能处于Operational这一正常运作的状态,也可能处于Failed这一运行失败的状态。这两个状态的含义是不同的。状态之间可以通过触发条件进行切换。
错误状态是通用的,通常在错误附件库中声明,在别处可以引用通用的错误状态机。为了在错误附件库中加入通用的状态机,在名为“Error_Types”的包中定义通用状态机。
每个状态机必须有一个初始状态,SysML中的Initial可以转换为AADL中的初始状态,State可以转换为除了初始状态之外的状态。
在错误附件中,组件可以通过引用错误附件库中的通用状态机来使用通用状态机。因此对于SysML中每个组件的状态机,需要为这个状态机指定它所引用的通用状态机。扩展SysML中的StateMachine。StateMachine类型的usebehabior属性指定了该组件应用的库中的通用状态机。
在AADL错误附件中,状态机有组件错误行为(component error behavior)中的组件状态机和复合错误行为(composite error behavior)中的组合状态机。组件状态机描述了该组件内部状态的迁移情况,组合状态机描述了该组件的子组件组合状态是如何影响并确定组件状态的。因此若想把SysML状态机转换成错误附件中的状态机,就要对这两种类型的状态机进行区分。使用Boolean类型的属性IsComposite来表示该状态机是否是组合状态机。
StateMachine元类的扩展如图7所示。
6)在SysML模型中扩展错误转换条件
状态机的各种状态之间存在转换。一个转换需要具备:转换的名称、源状态、目标状态和转换的触发条件。
在AADL错误附件中,转换的触发条件可以是错误事件,也可以是传入传播。SysML现有的触发器无法表示传入传播,因此扩展SysML的触发器Trigger元类。创建一个名为InPropagations的原型,该原型包含一个活动参数,用于指定作为触发两个状态之间转换的传入传播。
Trigger元类的扩展如图8所示。
7)在SysML模型中扩展组件错误行为模型中的传出传播
扩展SysML中的State元类,创建一个名为OutPropagations的原型。这个原型表示组件错误行为中的错误传播条件中的传出传播,拥有一个活动参数类型的属性,用于指定错误传播点和传出的错误类型。
State元类的扩展如图9所示。
8)在SysML模型中扩展了复合错误行为模型
对于一个复合的错误行为模型,组件要引用它所包含的子组件的状态,SysML中的State元类只能表示该State处于当前Block下,并不能表示其他Block中的状态,因此扩展State元类,创建新的原型SubComponentState,这个原型拥有一个State类型的属性,可以指定它为子组件中的状态,借此在一个组件的状态机中引用其子组件的状态,从而构建子组件状态的组合情况。
State元类的扩展如图10所示。
9)在SysML模型中扩展了Hazards Property和OccurrenceDistribution列表
EMV2的危害属性是一个具有多个字段的记录值列表,主要用于进行FHA分析并生成与安全相关的文档(如FHA报告)。它可以附加到错误传播、错误事件、错误流、错误状态、故障类型和故障类型集中。SysML中并无类似概念的表示。因此创建一个名为FailueMode的构造型,为其添加EMV2 Hazards Property中的属性。
在ARP4761标准中,对Severity、DevelopmentAssuranceLevel和Likelihood都定义了描述性的标签。所以Severity、DevelopmentAssuranceLevel和Likelihood属性应为枚举类型。
EMV2的危害属性是一个具有多个字段的记录值列表,主要用于进行FHA分析并生成与安全相关的文档(如FHA报告)。它可以附加到错误传播、错误事件、错误流、错误状态、故障类型和故障类型集中。SysML中并无类似概念的表示。因此创建一个名为FailueMode的构造型,为其添加EMV2 Hazards Property中的属性。
1)CrossReference:交叉引用到外部文档的值。
2)Phases:阶段,用于标识危害相关的操作阶段(模式)的字符串值列表。这个列表可以引用多个阶段。
3)Description/HazardTitle:对该风险的文本描述。
4)Failure:系统偏差导致的失效。
5)FailureEffect:故障影响的描述(模式)。
6)Environment:一个字符串值,用于描述风险相关的操作环境。
7)Mishap:产生的事件(系列)的描述,意外死亡等(MILSTD882)。
8)FailureCondition:产生的事件(系列)的描述,意外死亡等(ARP4761)。
9)Risk:风险描述。风险的特征在于严重性,可能性和发生概率。
10)Severity:指定风险严重的整数,值的范围为1~5。
11)Likelihood:风险发生的可能性。范围为A~E。
12)Probability:风险发生的覆盖率。范围为0.0~1.0。
13)VerificationMethod:用文本描述风险的验证方法。
14)Comment:注释。
15)DevelopmentAssuranceLevel:开发的严格程度(ARP4761)。
16)SafetyReport:风险的分析/评估。
在ARP4761标准中,对Severity、DevelopmentAssuranceLevel和Likelihood都定义了描述性的标签。所以Severity、DevelopmentAssuranceLevel和Likelihood属性应为枚举类型。FailureMode原型如图11所示。
Severity的范围从1到5,严重性由高到低。
在SysML的Profile文件中创建枚举类型Severity。FailureMode的Severity属性的类型为这个枚举类型。
Likelihood似然性是发生风险的可能性,用从A到E的字母表示从高到低。共有五个级别,每个级别具有相关联的出现概率阈值(p)。在SysML的profile文件中创建枚举类型Likelihood。FailureMode的Likelihood属性的类型为这个枚举类型。
DevelopmentAssuranceLevel的标签范围为字母A~E。
在SysML的Profile文件中创建枚举类型DALLabels。FailureMode的DevelopmentAssuranceLevel属性的类型为这个枚举类型。
在EMV2中,风险属性列表可以附加到错误传播、错误事件、错误流、错误状态、故障类型和故障类型集中。
因此在SysML中,FailureMode可以附加于参数(对应错误类型)、参数集(对应错误类型集)、活动参数(对应错误流中的错误源和错误汇和传入传出错误传播)、对象流(对应错误流中的错误路径)、错误事件、错误状态、触发器上。FailureMode原型的附加扩展情况如图12所示。
OccurrenceDistribution属性指定了一种概率。当附加于一个错误事件和传出传播时,它表示该错误事件或错误传播即将发生的概率。当附加于一个传入传播时,它表示接受错误的概率。当附加于一个状态时,它表示处于该状态的概率。
用FailureMode原型中Probability的值表示OccurrenceDistribution列表中的ProbabilityValue。
10)定义了SysML到AADL错误附件库的转换规则
用SysML中名为Error_Types的包表达AADL错误附件库。
从SysML到AADL错误附件库的转换表如下:
SysML元素 AADL元素
Error_Types包 错误附件库
Block 错误类型
状态机 错误附件库中的通用状态机
Initial状态 初始状态
State 错误状态
错误事件 错误事件
修复事件 修复事件
触发器中的事件 触发状态迁移的事件
11)定义了SysML到AADL错误传播和错误流的转换规则
SysML到AADL错误传播和错误流的转换表如下所示:
SysML元素 AADL错误附件元素
活动参数(所含参数方向为in) 传入传播
活动参数(所含参数方向为out) 传出传播
活动参数(不是任一对象流的终点且所含参数方向为out) 错误源
活动参数(不是任一对象流的起点且所含参数方向为in) 错误汇
对象流(连接两个活动参数) 错误路径
活动参数的FlowPort 传播点
12)定义了SysML到AADL组件错误行为模型的转换规则
SysML到AADL组件错误行为模型的转换表如下所示:
Figure BDA0002081047580000091
13)定义了SysML到AADL复合错误行为模型的转换规则
SysML到AADL复合错误行为模型的转换表如下所示:
SysML元素 AADL错误附件元素
状态 状态
子组件状态 子组件状态
有多个(一个)输入和唯一一个输出的连接伪状态 与关系
多条互相独立的transition线 或关系
14)定义了SysML到AADL错误附件属性集的转换规则
SysML到AADL Hazards Property和OccurrenceDistribution的转换表如下所示:
SysML元素 AADL元素
FailureMode Hazards Property记录列表
FailureMode的Probability属性 OccurrenceDistributio的ProbabilityValue属性

Claims (5)

1.SysML安全性扩展及其到AADL故障模型的自动转换方法,其特征在于:包括以下步骤:
步骤1:基于SysML的扩展机制引入Safety Profile文件,通过Safety Profile文件将安全性相关信息集成至SysML模型中,得到安全性扩展后的SysML模型;
步骤2:通过转换规则,将安全性扩展后的SysML模型转换为带错误附件的AADL模型;
所述步骤1具体为:通过Safety Profile文件在SysML模型中扩展了包括:错误类型和错误类型集、错误传播和错误流、错误事件和修复事件、错误状态机、错误转换条件、组件错误行为中的传出传播、复合错误行为、Hazards Property和OccurrenceDistribution列表;
所述在SysML模型中扩展错误事件和修复事件的步骤为:
通过扩展SysML模型中已有的Event元类,创建两个新的原型ErrorEvent和RecoverEvent分别代表错误事件和修复事件;所述错误事件表示组件内部发生的事件导致了错误,所述修复事件表示组件内部进行了自我修复;
所述在SysML模型中扩展错误状态机的步骤为:
通过扩展SysML模型的基本元素StateMachine,创建原型ErrorBehaviour,采用原型ErrorBehaviour的Boolean类型的属性IsComposite来表示状态机是否是组合状态机,原型ErrorBehaviour的StateMachine类型的属性usebehavior指定该组件应用的库中的通用状态机;
所述在SysML模型中扩展错误转换条件的步骤为:采用由SysML模型基本元素Trigger扩展的原型InPropagations的ActivityParameterNode类型的属性ActivityParameterNode指定作为触发两个状态之间转换的传入传播;
所述在SysML模型中扩展组件错误行为模型中的传出传播的步骤为:采用由SysML模型的基本元素State扩展的原型OutPropagations的ActivityParameterNode类型的属性ActivityParameterNode指定错误传播点和传出的错误类型;
所述在SysML模型中扩展复合错误行为的步骤为:采用由SysML基本元素State扩展的原型SubComponentState指定子组件中的状态;
所述在SysML模型中扩展了Hazards Property和OccurrenceDistribution列表的步骤为:在SysML模型中创建一个名为FailueMode的构造型,为其添加EMV2 Hazards Property中的属性;用FailureMode中Probability的值表示OccurrenceDistribution列表中的ProbabilityValue;
所述步骤2中的转换规则包括预先定义的SysML到AADL错误附件库的转换规则、SysML到AADL错误传播和错误流的转换规则、SysML到AADL组件错误行为的转换规则、SysML到AADL复合错误行为的转换规则和SysML到AADL错误附件属性集的转换规则;
其中,SysML到AADL错误附件库的转换表如下:
SysML元素 AADL元素 Error_Types包 错误附件库 Block 错误类型 状态机 错误附件库中的通用状态机 Initial状态 初始状态 State 错误状态 错误事件 错误事件 修复事件 修复事件 触发器中的事件 触发状态迁移的事件
其中,SysML到AADL错误传播和错误流的转换规则如下所示:
Figure FDA0003136175330000021
其中,SysML到AADL组件错误行为模型的转换表如下所示:
Figure FDA0003136175330000022
Figure FDA0003136175330000031
其中,SysML到AADL复合错误行为模型的转换表如下所示:
Figure FDA0003136175330000032
其中,SysML到AADL Hazards Property和OccurrenceDistribution的转换表如下所示。
Figure FDA0003136175330000033
2.根据权利要求1所述的SysML安全性扩展及其到AADL故障模型的自动转换方法,其特征在于:所述在SysML模型中扩展错误类型和错误类型集,具体为:
用SysML模型的参数表达传入或者传出组件的错误,参数的类型为错误类型,用参数集表达传入或传出的错误集;
用SysML模型的参数的Direction方向来区分传入和传出传播,参数的方向若为in,则为传入的错误;参数的类型若为out,则为传出的错误。
3.根据权利要求1所述的SysML安全性扩展及其到AADL故障模型的自动转换方法,其特征在于:所述在SysML模型中扩展错误传播和错误流,具体为:通过扩展SysML模型活动图中的活动参数和对象流来共同表示错误传播和错误流。
4.根据权利要求3所述的SysML安全性扩展及其到AADL故障模型的自动转换方法,其特征在于:通过扩展SysML模型活动图中的活动参数和对象流来共同表示错误传播和错误流的步骤具体为:
创建两个原型:ActivityParameterNode和ActivityParameterSetNode,采用原型ActivityParameterNode表示传入或传出的为单个错误,使用Base活动参数的Parameter属性指定传播的错误类型,原型ActivityParameterSetNode表示传入或传出的为一个错误集合,使用本身的属性ParameterSet来指定传播的错误类型集合;
对原型ActivityParameterSetNode和ActivityParameterNode_propagations添加类型为FlowPort的特征属性。
5.根据权利要求1所述的SysML安全性扩展及其到AADL故障模型的自动转换方法,其特征在于:所述步骤2具体为:
使用EMF技术,在Eclipse中开发一个Ecore元模型,用于描述存储安全性扩展后的SysML模型结构的XMI文件的元结构;
Ecore模型生成一个解析器,该解析器将XMI文件中的安全性扩展后的SysML模型结构读取出来,从而在Eclipse中创建一个EMF模型;
通过遍历安全性扩展后的SysML模型对应的EMF模型来创建EMF模型中的元素到AADL中的元素的映射,在重用已有转换规则的基础上,先用Model Creator来创建组件对应的AADL对象和EMF到AADL的映射关系,再用Model Linker来建立各个组件之间的联系,得到AADL故障模型。
CN201910471898.3A 2019-05-31 2019-05-31 SysML安全性扩展及其到AADL故障模型的自动转换方法 Active CN110286902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910471898.3A CN110286902B (zh) 2019-05-31 2019-05-31 SysML安全性扩展及其到AADL故障模型的自动转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910471898.3A CN110286902B (zh) 2019-05-31 2019-05-31 SysML安全性扩展及其到AADL故障模型的自动转换方法

Publications (2)

Publication Number Publication Date
CN110286902A CN110286902A (zh) 2019-09-27
CN110286902B true CN110286902B (zh) 2021-09-17

Family

ID=68003114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910471898.3A Active CN110286902B (zh) 2019-05-31 2019-05-31 SysML安全性扩展及其到AADL故障模型的自动转换方法

Country Status (1)

Country Link
CN (1) CN110286902B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114357763B (zh) * 2021-12-31 2024-08-13 华东师范大学 基于双流图的Safety_SysML错误模型分析方法
CN115712420B (zh) * 2022-11-17 2023-10-24 金航数码科技有限责任公司 一种基于复杂实时嵌入式系统的架构设计与架构转换方法
CN115758789B (zh) * 2022-12-01 2023-11-17 金航数码科技有限责任公司 一种复杂实时嵌入式系统的软件架构设计与架构传递方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017212581A1 (de) * 2017-07-21 2019-01-24 Siemens Aktiengesellschaft Verfahren zur dynamischen Erweiterung einer domänenspezifischen Sprache eines graphischen Modellierungswerkzeugs
CN109522007B (zh) * 2018-10-16 2021-05-11 南京航空航天大学 面向安全关键嵌入式系统的SysML模型向AADL模型自动转换方法
CN109634600B (zh) * 2018-10-30 2021-05-04 西安电子科技大学 一种基于安全扩展SysML和AADL模型的代码生成方法

Also Published As

Publication number Publication date
CN110286902A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN110286902B (zh) SysML安全性扩展及其到AADL故障模型的自动转换方法
US6385765B1 (en) Specification and verification for concurrent systems with graphical and textual editors
Rugina et al. The ADAPT tool: From AADL architectural models to stochastic petri nets through model transformation
Prosvirnova AltaRica 3.0: a model-based approach for safety analyses
CN108089861B (zh) 一种从SysML模型转换到AltaRica模型的转换方法
Mhenni et al. Safety analysis integration in a SysML-based complex system design process
Gario et al. Testing of safety-critical systems: An aerospace launch application
Brumbulli et al. Automatic verification of BPMN models
Teodorov et al. Past‐Free [ze] reachability analysis: reaching further with DAG‐directed exhaustive state‐space analysis
Blouin et al. Defining an annex language to the architecture analysis and design language for requirements engineering activities support
Otto et al. A flow graph based approach for controlled generation of AAS digital twin instances for the verification of compliance check tools
CN112463628B (zh) 一种基于模型基框架的自主无人系统软件自适应演化方法
Gario et al. Fail-safe testing of safety-critical systems: a case study and efficiency analysis
Lindsay Behavior trees: from systems engineering to software engineering
Lai et al. Integrating Safety Analysis into Model‐Based Systems Engineering for Aircraft Systems: A Literature Review and Methodology Proposal
Dowdeswell et al. TORUS: Tracing complex requirements for large cyber-physical systems
Kushal et al. Architecture Level Safety Analyses for Safety‐Critical Systems
Tundis et al. Model‐Based Dependability Analysis of Physical Systems with Modelica
Grunske et al. Specification and evaluation of safety properties in a component-based software engineering process
Elmqvist et al. Safety-oriented design of component assemblies using safety interfaces
CN114816431B (zh) 一种SysML语言的安全可靠语义扩展和建模方法
Gomes et al. Systematic model-based safety assessment via probabilistic model checking
Hecht et al. Using SysML to automatically generate of failure modes and effects analyses
BELL et al. Model-based mutation testing using pushdown automata
Hu et al. Extended DEVSML as a Model Transformation Intermediary to Make UML Diagrams Executable.

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