首页> 中国专利> 一种基于SysML的安全关键自治系统建模方法及工具

一种基于SysML的安全关键自治系统建模方法及工具

摘要

本发明公开了一种基于SysML的安全关键自治系统建模方法及工具,从自然语言需求出发,探讨了由传统组件和AI组件组成的安全关键自治系统的体系结构建模,针对安全关键自治系统中的各类自然语言需求文档,采用需求模板和约束规则对自然语言需求文档进行规约,定义RNLReq元模型;选取SysML扩展子集,以支持RNLReq元模型的功能与非功能扩展,并定义RNLReq元模型到SysML体系结构模型中的不同视图的转换规则;基于转换规则,将RNLReq元模型转换为SysML体系结构模型中的不同视图;本发明通过需求模板和约束规则来限制用户记录需求的方式,得到的RNLReq模型支持智能软件的需求的层次分解、功能需求、非功能需求和AI组件需求。

著录项

  • 公开/公告号CN113190222A

    专利类型发明专利

  • 公开/公告日2021-07-30

    原文格式PDF

  • 申请/专利权人 南京航空航天大学;

    申请/专利号CN202110480086.2

  • 申请日2021-04-30

  • 分类号G06F8/35(20180101);G06F8/20(20180101);G06F8/10(20180101);G06F16/35(20190101);G06F40/186(20200101);G06F40/237(20200101);G06F40/242(20200101);

  • 代理机构32204 南京苏高专利商标事务所(普通合伙);

  • 代理人颜盈静

  • 地址 210016 江苏省南京市秦淮区御道街29号

  • 入库时间 2023-06-19 12:02:28

说明书

技术领域

本发明属于航空航天技术领域,具体涉及一种基于SysML的安全关键自治系统建模方法及工具。

背景技术

近年来,模型驱动开发(Model-Driven Development,MDD)越来越受到重视,并被工业界认为是保障系统安全性与可靠性切实可行的重要手段,模型驱动的安全关键CPS系统设计与实现方法中常用的建模语言有Modelica、SysML、AADL(Architecture Analysis&Design Language,AADL)等,例如:Modelica支持机械、电子、电力、液压、热等多领域建模,AADL支持功能、非功能、执行平台等多视角的软硬件建模,SysML通过整合大型复杂系统的各种视图对软硬件、数据、过程、需求,甚至包括人力和其它资源进行建模。然而,在安全关键的自治系统中,越来越多的AI要求MDD工程师调整他们的工作。其中一个难点是如何处理基于自然语言需求的此类系统的体系结构建模。

但在开发安全关键智能软件时,若想实现MDD的自动化,就需要根据系统需求自动生成体系结构模型,由于系统需求大多是以自由的自然语言文本形式编写的,这种文本通常是模糊的,很难自动处理,因此根据系统需求自动生成体系结构模型是一个非常大的挑战,即如何处理基于自然语言需求的此类系统的体系结构建模是一个难点。

发明内容

发明目的:为实现根据系统需求自动生成体系结构模型,本发明提出了一种基于SysML的安全关键自治系统建模方法及工具。

技术方案:一种基于SysML的安全关键自治系统建模方法,包括以下步骤:

步骤1:针对安全关键自治系统中的各类自然语言需求文档,采用需求模板和约束规则对自然语言需求文档进行规约,定义RNLReq元模型;

步骤2:选取扩展后的SysML子集,以支持RNLReq元模型的功能与非功能扩展,并定义RNLReq元模型到SysML体系结构模型中的不同视图的转换规则;

步骤3:基于转换规则,将RNLReq元模型转换为SysML体系结构模型中的不同视图。

进一步的,所述RNLReq元模型包括数据字典、领域词库、经需求模板约束后的安全关键自治系统的体系结构的表达、经约束规则约束后的安全关键自治系统的功能/非功能特征的表达;

其中,所述需求模板包括用于表示最高层次需求的系统需求模板和用于表达安全关键自治系统中各组件需求的基本需求模板;

所述系统需求模板可分解为多个子系统需求模板,每个子系统需求模板可分解为多个功能需求模板,每个功能需求模板可分解为多个子功能需求模板;

通过各模板之间的层次关系对安全关键自治系统的体系结构进行表达。

进一步的,所述约束规则包括:

通用限制规则,用于限制自然语言的使用;

功能需求约束规则,用于根据预定义的功能句式对安全关键自治系统的功能特征的表达进行约束;

非功能需求约束规则,用于根据预定义的非功能句式,对安全关键自治系统的非功能属性特征的表达进行约束;

AI需求约束规则,用于对AI组件的需求的表达进行约束。

进一步的,所述的功能句式包括:

Send句式,用于表示发送数据的动作;

Assign句式,用于表示对某一数据的赋值动作;

Call句式,用于表示对系统内部的一个功能模块或者外部的一个共享功能模块的调用;

Jump句式,用于表示转移执行功能流程中的指定动作;

ValueCondition句式,用于表示由与/或关系组成的复杂条件;

EventCondition句式,用于表示事件触发型条件;

TimeCondition句式,用于表示时间约束;

ConditionnalSentence句式,用于表示if-else的条件判断;

LoopSentence句式,用于表示循环结构;

ConcurrentSencence句式,用于表示语句的并行操作。

进一步的,所述的非功能句式包括:

ConstraintSentence,用于对定量的非功能需求进行约束;

RangeSentence,用于对定量的非功能需求进行约束;

PeriodicitySentence,用于将定性的非功能需求与相应的需求模板进行协作;

TradeOffSentence,用于对最优化关系进行描述。

进一步的,所述步骤3具体包括以下步骤:

对RNLReq元模型进行识别,对识别出不正确的RNLReq元模型进行修复,对识别出正确的RNLReq元模型根据转换规则转换成SysML体系结构模型中的不同视图;

其中,转换规则包括层次结构视图/数据视图的生成算法、内部交互视图的生成算法、功能视图的生成算法和非功能视图的生成算法。

进一步的,所述层次结构视图/数据视图的生成算法包括:

将RNLReq元模型中的数据字典中的每个数据转换为SysML体系结构模型中的值类型;

为RNLReq元模型中的系统需求模板生成一个块定义图;将每个子系统需求模块转换为一个Block块,通过每个Block块之间的层次关系进行连接,将每个Block块和连接关系附加到块定义图上;

所述内部交互视图的生成算法包括:

根据子系统需求模板中的接口需求,生成一个内部模块图,将该内部模块图与该子系统需求模板对应的系统需求模板的块定义图关联;将该子系统需求模板对应的Block块添加至内部模块图中,通过接口连接表示通信关系;

所述功能视图的生成算法包括:

所述的经约束规则约束后的安全关键自治系统的功能特征的表达包括简单句式和复合行为句式,所述简单句式包括:Send句式、Assign句式、Call句式和Jump句式;复合行为句式包括:ValueCondition句式、EventCondition句式、TimeCondition句式、ConditionnalSentence句式、LoopSentence句式和ConcurrentSencence句式;

将简单句式映射为对应的活动结点;

将复合行为句式视作需要递归的搜索树,通过对该搜索树中所有的子树进行搜索和解析,将功能需求转换为活动图;

所述非功能视图的生成算法包括:

将经约束规则约束后的安全关键自治系统的非功能特征的表达和用户需求对应插入至SysML体系结构模型的图表中。

本发明还公开了一种基于SysML的安全关键自治系统建模方法的工具,包括:

术语提取模块,用于对安全关键自治系统中的各类自然语言需求文档进行术语提取;

需求分类模块,用于基于提取到的术语,对安全关键自治系统中的各类自然语言需求文档进行分类标注,生成领域词库和数据字典;将生成的领域词库和数据字典导入需求视图模块;

需求视图模块,用于对用户需求进行分析,根据用户需求使用图形化的界面显示或编辑领域词库、数据字典以及撰写需求模板;

需求规约工具,用于采用需求模板和约束规则对安全关键自治系统中的各类自然语言需求文档进行规约,得到RNLReq元模型;RNLReq元模型包括数据字典、领域词库、经需求模板约束后的安全关键自治系统的体系结构的表达、经约束规则约束后的安全关键自治系统的功能/非功能特征的表达;

转换引擎,用于根据转换规则,将RNLReq元模型转换为SysML体系结构模型中的不同视图;所述转换规则包括层次结构视图/数据视图的生成算法、内部交互视图的生成算法、功能视图的生成算法和非功能视图的生成算法;

图形布局生成模块,用于查看生成的SysML体系结构模型的图形化展示。

进一步的,所述需求模板包括用于表示最高层次需求的系统需求模板和用于表达安全关键自治系统中各组件需求的基本需求模板;

所述系统需求模板可分解为多个子系统需求模板,每个子系统需求模板可分解为多个功能需求模板,每个功能需求模板可分解为多个子功能需求模板;

通过各模板之间的层次关系对安全关键自治系统的体系结构进行表达。

进一步的,所述约束规则包括:

通用限制规则,用于限制自然语言的使用;

功能需求约束规则,用于根据预定义的功能句式对安全关键自治系统的功能特征的表达进行约束;

非功能需求约束规则,用于根据预定义的非功能句式,对安全关键自治系统的非功能属性特征的表达进行约束;

AI需求约束规则,用于对AI组件的需求的表达进行约束。

有益效果:本发明具有以下优点:

(1)本发明从自然语言需求出发,探讨由传统组件和AI组件组成的安全关键自治系统的体系结构建模,通过一种结构化的限定中文自然语言需求模板,对传统组件和AI组件的自然语言需求的描述方式进行约束,有效降低自然语言需求表达的二义性;

(2)本发明提出RNLReq到SysML子集的自动转换方法,使得模型驱动的开发过程自动化,减少开发和迭代设计的成本。

附图说明

图1为工具框架;

图2为数据字典的BNF语法;

图3为领域词库的BNF语法;

图4为SubSysML元模型;

图5为RNLReq到SysML模型的自动转换方法框架。

具体实施方式

下面结合附图进一步阐述该发明方法。

本发明的安全关键自治系统是由传统组件和AI组件组成的;对于传统的组件,其原始需求分为四类:功能需求、接口需求、数据需求和非功能需求;现对各需求进行说明:

功能需求:系统必须提供的服务;

接口需求:系统与环境之间的各种接口关系;

数据需求:描述组件使用的各种数据以及数据收集的要求;

非功能需求:包括安全性、可靠性、实时性、性能和环境约束等。

对于AI组件,其原始需求分为四类:目标需求、AI功能需求、AI非功能需求和训练/测试/操作数据需求;现对各需求进行说明:

目标需求:AI组件需要达成的目标;

AI功能需求:描述机器学习的学习过程,如问题类型、算法(或模型)的描述等;

AI非功能需求:包括安全性/可靠性、实时性、性能(如预测结果的质量,如准确性、精确性、召回率等)、资源消耗、环境约束、可解释性、鲁棒性等;

训练/测试/操作数据需求:包括训练/测试/操作数据的数量和质量,如一致性、完整性、正确性、多样性。

上述需求大多是以自由的自然语言文本形式编写的,这种文本通常是模糊的,很难自动处理,为了降低自然语言需求表达的二义性,本发明提出了限定自然语言需求模板RNLReq和配备约束规则来限制用户记录需求的方式。

限定自然语言需求模板RNLReq旨在在不改变系统工程师的需求编写习惯的情况下减少自然语言需求的模糊性。具体的,限定自然语言需求模板RNLReq由三部分组成:数据字典、领域词库(Glossary Repository)和需求规范模板(RNL模板),需求规范模板具有基于限制规则的定义良好的句型。

其中,数据字典(Data Dictionary)是指涵盖需求文档中涉及的数据及其属性的字典。数据字典中需要填写数据的中文名、英文名、数据组成(例如,(角速度,角位置))、单位、范围、精度、速率、ID等信息。图2给出了数据字典的BNF语法。根据行业的实际需要,数据字典包括但不限于静态数据、输入数据、输出数据。其中,静态数据是指系统中的常量,输入数据是指每个组件的输入,输出数据是指每个组件的输出。

其中,领域词库(Glossary Repository)是指涵盖需求文档中的各种对象名词的词库。领域词库中需要填写对象名词的中文名、英文名、名词类别、ID等信息。图3给出了领域词库的BNF语法。

其中,需求规范模板包括系统需求模板和基本需求模板;系统需求模板(SystemRequirement Template,SRT)表示系统的最高层次需求,工程师可以将系统的最高层次需求分解为多个子系统需求,这些子系统需求通过子系统需求模板(Sub SystemRequirement Template,SubSRT)来描述。SubSRT的分解可以是迭代的。将每个子系统需求分解为多个功能需求模板(Function Requirement Template,FRT),并将功能需求模板分解为子功能需求模板(Sub Function Requirement Template,SubFRT)。模板粒度的标准,特别是SubSRT是否应该分解为FRT而不是较低级别的SubSRT,是每个子系统和功能的实现策略。基本的需求模板支持传统组件和AI组件的需求。表1给出了基本的需求模板。注意,当使用基本的需求模板来指定AI组件的需求时,功能需求和非功能需求被标注为NA。

表1基本的需求模板

本发明配备的约束规则包括通用限制规则、功能需求约束规则、非功能需求约束规则和AI需求约束规则。

通用限制规则包括但不限于以下规则:

R1:句子的主语必须是模块名。

R2:句子必须是陈述句。

R3:句子必须用现在时。

R4:不使用被动语态。

R5:只允许完整的句子。

R6:不要使用表达否定意义的情态动词、代词、副词和形容词。

R7:同一个词应该用来表示同一个对象。

R8:描述系统之间的交互,而不忽略主体或对象。

功能需求约束规则针对功能需求,包括简单功能句式和复合行为句式(CompoundSentence);其中,简单功能句式包括:Send句式,表示发送数据的动作。Assign句式,表示表示对某一数据的赋值动作。Call句式,表示对系统内部的一个功能模块或者外部的一个共享功能模块的调用。Jump句式,表示转移执行功能流程中的指定功能。简单行为句式只能表示基本的功能行为,不能适用于系统需求中的一些复杂的事件序列、条件序列等执行行为,因此需要通过预定义的关键字(IF ELSE、AND、OR、LOOP等)和句式,将简单的描述语句组合成复合行为句式(Compound Sentence)。复杂功能句式包括ValueCondition、EventCondition、TimeCondition、LoopSentence、ConcurrentSencence等。其中,ValueCondition表示由与/或关系组成的复杂条件,EventCondition表示事件触发型条件,TimeCondition表示时间的约束,LoopSentence表示循环结构,ConcurrentSencence表示一组行为语句的并列执行操作。

以下为简单功能句式:

S1:SimpleBehaviorSentence,是功能行为分解的最小粒度,具体可以实现为s2~s5中的某一种。

S2:Send,Sendat

S3:Assign,Assignto

S4:Call,Call

S5:Jump,Jump

以下为复合行为句式:

S6:SimpleValueCondition:,表示值条件,属性p1和值Value按照Comparator规定的规则进行比较,例如:P1>Value。

S7:ValueCondition:由AND、OR等连接的多个SimpleValueCondition;

S8:EventCondition:当前模块接收到事件E;

S9:TimeCondition:DURING(T1,T2),表示从T1到T2的时间约束;

S10:ConditionnalSentence:IF Condition,THEN SentenceA,[ELSESentenceB];

S11:LoopSentence:LOOP SentenceA EACH T UNTIL E;

S12:ConcurrentSencence:MEANWHILE(SentenceA,SentenceB,SentenceC,..);

非功能需求关注系统的性能以及它所面临的约束。非功能需求不是独立存在的,它们是功能需求的补充。非功能需求包含以下属性:性能、安全性、可靠性、环境约束等。其中,可以定量描述和分析的非功能需求属性包括性能、可靠性和安全性。其中,性能包括但不限于系统的时间性能和系统的资源性能,系统的时间性能,即实时性要求,包括周期性/非周期性执行、截止时间、超时、抖动、响应时间、可调度性等。系统的资源性能包括资源消耗(如功耗、CPU、存储、总线)和物理环境的约束(如温度、质量、压力)。可靠性包括系统失效的概率等。非功能需求的约束句式包括:采用ConstraintSentence和RangeSentence给出定量的非功能需求约束语句、采用PeriodicitySentence将定性的非功能需求与相应的系统/功能模板进行协作、以及采用TradeOffSentence描述了一个可以通过函数计算的“最优化”的关系。

以下为非功能需求的约束句式:

S13:ConstraintSentence:

S14:RangeSentence:within[min,max]

S15:PeriodicitySentence:LOOP SentenceA EACH T UNTIL E

S16:TradeOffSentence:optimizedBy,,with

对于AI需求约束规则,如上文所述AI需求分为六类,包括训练数据需求、测试数据需求、操作数据需求、目标需求、AI功能需求和AI非功能需求。现对每个类别的描述和进一步分解做如下说明:

训练数据需求和测试数据需求:机器学习方法基于训练数据生成模型,并基于测试数据评估生成的模型。这两个数据都是在开发时收集的。这一类别被细化为数量、完整性、一致性和正确性。其中:

数量:数据规格中包含了数据量的属性,如大小、多样性。由于训练数据和测试数据来自同一个来源,它们共享相同的数据规范。

完整性:完整性指定了每个特征中数据的稀疏性。

一致性:输入数据和测试数据之间的一致性(假设相同的环境)保证了一致性。

正确性:受数据清理、收集和存储方式的强烈影响。

完整性、一致性和正确性构成数据质量,以下为数据质量的约束规则,包括:

D1:数据必须涵盖所有可能的值。

D2:满足假设的额外数据源可用于扩充原始数据以获得更丰富的训练数据集。

D3:数据集中的每个数据必须采用相同的格式和表示形式。

D4:数据在使用前必须经过验证和清理。

D5:不采用由用户收集或标记数据。

为了确保完整性,规则D1检查每个特征中数据的稀疏性,规则D2、D3用于确保数据的一致性,规则D4强调数据收集过程,这对数据的正确性有很大影响,规则D5减少来自用户的数据中的歧视和偏见。

操作数据需求:与传统组件一样,AI组件在操作时将数据作为输入,该数据称为输入数据或操作数据。虽然训练数据和测试数据的分布大致相同,但它们与操作数据的关系并不清楚,操作数据往往随时间或环境而变化。因此,检查操作数据与训练数据、测试数据之间的一致性是十分重要的。

目标需求:定义良好的满意度标准,如评估指标、系统的预期状态、预期的预测范围。

AI功能需求:AI中的机器学习(Machine Learning,ML)包括十多种问题类型(例如,二元或多类分类、回归、聚类),以及更多更具体的算法类型(例如,逻辑回归、线性回归、朴素贝叶斯、最近邻、深度神经网络)。为了获得所使用的ML解决方案的全局视图,AI功能需求包括问题类型、算法类型、深度学习系统中的层信息以及更新时模型的特征。

AI非功能需求:为了保证AI组件的健壮性,考虑了安全性/可靠性、实时性、性能和可解释性等非功能质量的几个方面。

安全性/可靠性:如果单个预测的安全性/可靠性估计达到阈值,则应重新训练模型或细化解决方案。

实时性/性能:需要保证AI组件的准确性(输出的正确性)和实时性(过程的速度),并且需要指定回退计划。

资源消耗:星上计算和通信受到资源的限制,如发送/接收数据的带宽、功耗、存储和数据缓冲区的存储。

可解释性:尽管ML模型是不透明的结构,本质上很难解释,但是工程师能够给出规范来解释模型在给定数据点或特征周围的行为。

通过上述模板或规则,可以有效避免需求中的复杂结构、歧义和不一致性,最终提高需求的质量。

由于安全关键智能自治系统的计算、物理和通信部分紧密结合在一起,这些部分是异构的,因此本发明提出了一种基于SysML的多视图方法来对安全关键智能自治系统进行建模,使设计人员能够从不同的角度关注系统的特定方面。

为实现SysML体系结构模型的自动生成,本发明给出了SysML的扩展后的子集SubSysML,借助Xtend提供的模板功能实现限定自然语言需求模板RNLReq到SysML子集元素转换规则的映射,进而实现RNLReq到SysML体系结构模型的转换。

图4给出了SubSysML的元模型,SubSysML由块定义图(BDD)、内部块图(IBD)、活动图(ActD)和原型(如ConstraintRequirement和AIComponent)组成。SysML体系结构模型的视图包括层次结构视图、内部交互视图、功能视图、非功能视图和数据视图;下面详细介绍层次结构视图、内部交互视图、功能视图、非功能视图和数据视图。

层次结构视图反映了系统的组合性;层次结构视图由块定义图(BDD)及其元素(如Block和AIComponent(虚线矩形框节点))表示。Block是BDDs的关键元素,可以表示系统静态结构建模的基本结构分解。Block的属性表示系统的状态和属性。AIComponent是SysMLBlock的子类型,具有描述AI需求模板中数据和算法特性的属性。给定一个系统,SubSysML将系统模型指定为BDD。在BDD内部,它使用Block表示系统的层次结构。

内部交互视图反映了系统中不同子组件之间的交互;内部交互视图由内部块图IBDs及其元素(如端口和属性(实线矩形框节点))表示。例如,给定一个父块,我们使用IBD通过端口表示子块之间的通信。内部块图IBD和块定义图BDD提供了块的补充视图。

功能视图反映了系统的动态行为。功能视图由活动图(ActD)及其元素(实线圆角框节点)表示。

SubSysML包含几种类型的活动节点,如调用行为操作(表示活动中的基本功能单元)、初始/最终节点(标记活动的开始/结束)、fork/join节点(标记并发序列的开始/结束)、决策/合并节点(标记备用序列的开始/结束),发送信号操作(向目标发送信号实例)、接受事件操作(等待信号以继续活动)。ActivityPartition将活动节点分配给块。活动节点的ConstraintRequirement可以表示一些约束,例如运行组件应该满足的计时。

非功能视图:在非功能视图中,扩展了现有的SysML约束原型,以指定非功能属性,包括安全性、可靠性、性能等。ConstraintRequirement可以包含一个OCL表达式,该表达式形式化的表示接受条件、传统组件的阈值或AI组件的数据需求。

数据视图:使用对象、属性、操作和关系捕获系统的数据结构。扩展了SysML的ValueType构造型,对数据字典指定的系统数据结构进行建模。BaseType包包含预定义的数据类型,如Integer 16、Float 64和Boolean。DataType包包含系统工程师定义的所有数据类型。

图5给出了RNLReq到SysML体系结构模型的自动转换框架,现结合图5,对RNLReq到SysML体系结构模型的转换方法进行说明。

识别出不正确的模板,对不正确的模板进行修复;例如:SystemTemplate有一个输入端口,但找不到相应的输出端口,则说明RNLReq元模型不正确,需要进行修复;只有通过检测的RNLReq才能根据转换规则转换成SysML体系结构模型中的不同视图。

基于层次结构视图/数据视图的生成算法,将通过检测的RNLReq模型转换成SysML体系结构模型中的层次结构视图/数据视图。

现结合下述伪代码,对层次结构视图/数据视图的生成算法进行说明:

采用RNLReq元模型作为输入,RNLReq元模型中的数据字典中定义的每个数据被转换为SubSysML模型中的值类型(参见第1~3行);为系统需求模板生成一个块定义图(BlockDefinition Diagram,BDD)(参见第4~6行);每个子系统需求模块被转换为一个Block块,且每个Block块通过连接器,使用组合关系与顶部的Block块进行连接,且每个Block块均被附加到块定义图上(参见第7~11行)。

通过层次结构视图/数据视图的生成算法,构建了系统的层次结构,顶层的系统需求模板是层次结构中的根块。

基于内部交互视图的生成算法,将通过检测的RNLReq模型转换成SysML体系结构模型中的内部交互视图。

现结合下述伪代码,对内部交互视图的生成算法进行说明:首先检查每个子系统需求模板是否包含接口需求,若包含输入/输出的信息,则生成一个内部模块图(InternalBlock Diagram,IBD),并将其与系统需求模板(父级模板)关联。然后,对应于每个子系统需求模板的Block块将被添加到IBD中,由端口间的连接表示它们之间的通信关系。

基于功能视图的生成算法,将通过检测的RNLReq模型转换成SysML体系结构模型中的功能视图。

现结合下述伪代码,对功能视图的生成算法进行说明:

功能需求被转换为活动图。功能需求模板的结构可以看作为一棵树,每个简单功能句式和条件句被视作一个可解析的叶结点。第9~12行和第21~25显示了将条件句和功能句式映射到相应活动结点的规则。第13~14行表示复合行为句式是非叶结点,需要递归的搜索树,直到所有的子树都被搜索和解析,才能将整个功能需求转换为活动图。

功能视图的生成算法的伪代码表示为:

基于非功能视图的生成算法,将通过检测的RNLReq模型转换成SysML体系结构模型中的非功能视图。

现结合下述伪代码,对非功能视图的生成算法进行说明:

将非功能以及人工智能需求插入至SysML模型的图表中。第4~7行将约束语句和范围语句转换为OCL表达式,并将OCL表达式添加到SysML模型的约束之中。第8~12行将行为约束(WCET或截止时间)添加到活动图中,以约束相应的活动结点。第13~23行将每个包含AI需求的系统需求模块转换为AIComponent块,并生成该块的properties属性。

非功能视图的生成算法的伪代码表示为:

如图1所示的工具框架,实现本发明的工具是在集成Papyrus插件的Eclipse平台上进行开发得到的,主要包括:术语提取模块Glossary Extractor、需求分类模块ReqClassifier、需求视图模块Req Viewer、转换引擎RNL2SysML Mapper和图形布局生成模块Layout Visualizer。

术语提取模块Glossary Extractor,基于HanLP中文NLP工具包对原始需求文本进行分词、词性标注和句法分析,进行术语提取,基于提取到的术语生成初步的领域词库和数据字典;

需求分类模块Req Classifier,基于HanLP和scikit-learn工具包对原始需求文本进行分类标注,将分类后的需求文本导入到需求视图模块Req Viewer中;

需求视图模块Req Viewer,用于进行用户需求的分析、编辑领域词库、数据字典、撰写需求模板;

需求规约工具,用于采用需求模板和约束规则对安全关键自治系统中的各类自然语言需求文档进行规约,得到RNLReq元模型。

转换引擎RNL2SysML Mapper中使用ecore实现元模型,使用EMF(EclipseModeling Framework)技术生成对应的模型代码;在Papyrus环境中,SysML模型使用扩展名为di、uml和notation的文件存储,其中,.di文件保存了模型的工作区状态信息,.uml文件保存了模型元素的定义及语义关系信息,.notation文件保存了模型的可视化信息,如坐标、大小、颜色等,Element Generator负责生成SysML体系结构模型元素对应的.uml文件;

图形布局生成模块Layout Visualizer,用于生成对应的图形元素,保存到.notation文件中,然后打开.di文件,即可使用Papyrus内置的编辑器查看生成SysML体系结构模型的图形化展示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号