[发明专利]非形式化需求规约模板到形式化设计模型的自动转换方法有效
申请号: | 201711297282.6 | 申请日: | 2017-12-08 |
公开(公告)号: | CN108196827B | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 杨志斌;刘承威;冯思喆;王飞;许金淼;周勇;谢健;王永孟 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 形式化 需求 规约 模板 设计 模型 自动 转换 方法 | ||
1.一种非形式化需求规约模板到形式化设计模型的自动转换方法,其特征是,基于AADL开源工具环境OSATE使用Eclipse插件开发技术,包括如下步骤:
1)基于限定自然语言进行需求模板的组织与建立;
2)采用XML技术进行需求模板的存储;
3)使用模板方法模式实现需求模板到Req2AADL中间模型的转换;
4)使用访问者模式将Req2AADL中间模型转换成AADL设计模型;
所述步骤1)中需求模板的组织与建立包括建立数据字典、领域词库和需求模板;
所述数据字典用于描述存储在需求规约过程中用到的所有数据形式,包括系统中的静态数据、系统内交互用到的动态数据、系统内数据存储单元的数据描述;单个数据的描述包括:数据中文名、数据英文名、数据来源地和目的地、数据的类型和组成、数据的精度、数据的范围、数据的频率、数据的单位以及数据的描述;
所述领域词库用于描述在需求规约过程中用到的领域名词,包括需求模板的名字、需求描述中模式的名字和整个系统中出现的硬件的名字;每个名词需要在领域词库中注册其中文名、英文名及其类型;
所述数据字典和领域词库的前端通过Eclipse插件技术扩展Editor,设计对应的编辑页面,并以JFace的Dialog对话框实现对数据字典和领域词库的数据增删改查操作;后台设计数据和词的原型类,包括对应的属性;定义对数据字典和领域词库的存储数据操作工具类,实现对数据字典和领域词库的存储及相应的增删改查功能;
所述需求模板的输入界面通过Eclipse插件扩展中的View扩展点进行实现,实现在cn.edu.nuaa.osate.view.RequirementView中,界面分为两个部分,左半边为需求树的结构及操作,包括增加、修改、删除树节点,右半边为选中需求树的编辑部分,编辑部分的界面绘制及操作由模板原型类提供。
2.根据权利要求1所述的一种非形式化需求规约模板到形式化设计模型的自动转换方法,其特征是,所述需求模板分为四类,包括系统需求模板、子系统需求模板、功能需求模板、子功能需求模板;所述系统需求模板为类SystemRequirement实现;所述子系统需求模板为类SubSystemRequirement实现;所述功能需求模板为类FunctionRequirement实现;所述子功能需求模板为类SubFunctionRequirement实现,上述四个类均继承自AbstractRequirement父类;
所述系统需求模板包括:系统中文名,系统英文名,是否为安全关键功能构件、输入数据/事件、输出数据/事件、功能需求、性能需求、模式变换、硬件约束、接口需求及功能构件描述;
所述子系统需求模板包括:系统中文名,系统英文名,是否为安全关键功能构件、输入数据/事件、输出数据/事件、功能需求、性能需求、所属模式、模式变换、硬件约束、接口需求及功能构件描述;
所述功能需求模板包括:系统中文名,系统英文名,是否为安全关键功能构件、输入数据/事件、输出数据/事件、功能需求、性能需求、所属模式、模式变换、接口需求及功能构件描述;
所述子功能需求模板包括:系统中文名,系统英文名,是否为安全关键功能构件、输入数据/事件、输出数据/事件、功能需求、性能需求、所属模式、接口需求及功能构件描述;
对应上述各层次功能构件的需求模板,各类功能通过限定自然语言的方式加以约束,约束规则包括:
约束规则1:句子的主语必须是领域词库中定义的词;
约束规则2:只能使用陈述句;
约束规则3:只能使用现在时;
约束规则4:只能使用主动语态而不能使用被动语态;
约束规则5:不能使用情态动词、代词以及表示否定含义的副词、形容词;
约束规则6:只能使用简单句;
约束规则7:必须准确描述各功能构件间的交互,不能丢失主语和宾语;
约束规则8:不能使用分词短语做状语修饰语;
约束规则9:以一致方式使用词语,使用固定的名词来描述个功能构件;
针对各类需求,定义不同的约束语句,包括:
输入数据/事件表示某个功能构件的输入端口,输出数据/事件表示某个功能构件的输出端口,事件为某触发事件,数据为具有某种数据结构的具体数据,事件/数据均为数据字典中定义的类型;
功能需求包括5种句型,分别表示时间约束和条件约束下的功能行为:TimeRestrain+Condition+Behavior+[else+Behavior],其中:
TimeRestrain表示时间上的约束;Condition表示触发条件或判断条件;Behavior表示具体的功能行为;
Behavior:表示一个简单句,单纯执行一个功能行为;
Condition+Behavior:表示在某种条件下完成一个功能行为的执行;
TimeRestrain+Behavior:表示在一定时间范围内完成一个功能行为;
Condition+Behavior+else+Behavior:表示在一定条件下完成一个功能行为,若不满足条件则执行另一个功能行为;
TimeRestrain+Condition+Behavior;表示在连续时间范围内一直满足某些条件,执行一个功能行为;
性能需求:分为时间性能和空间性能,分为两类句式:
时间性能:TimeProperty+Num+Unit,其中:TimeProperty表示时间属性的对象;Num为具体数值;Unit为时间单位;时间属性描述为对功能构件的某一属性的数值描述;
空间性能:SpaceProperty+Num+Unit,其中:SpaceProperty表示空间属性的对象;Num为具体数值;Unit为时间单位;空间属性描述为对功能构件占用某些资源的数值描述;
模式变换:表示在该功能构件下存在的模式迁移情况,包括模式组成和迁移两种:
模式组成:Mode+[Mode]*,Mode为该功能构件中存在的模式;模式组成用来说明某一功能构件中存在的所有模式;
模式迁移:SrcMode+Guard+DestMode,SrcMode为源模式,表示模式迁移的起点;DestMode为目的模式,表示模式迁移的终点;Guard为该迁移的条件;模式迁移表示一条具体的状态迁移;
所属模式:ModeBelongs*,表示该功能构件在父构件中起作用的模式,若全都作用则为null;
硬件约束:HardWare*,表示该功能构件下存在的硬件信息,该硬件必须是在领域词库中注册过的专有词汇;
接口需求:
Bus+WorkType+Speed+Bias;
In/Out+Start+Send/Receive+End+Unit;
In/Out+Speed;
其中:Bus表示某总线;WorkType表示总线工作方式;Speed表示总线数据传输速率;Bias表示总线误差;In/Out表示输入输出事件/数据端口;Start表示端口传输的起始时间;Send/Receive表示端口发送/接收过程时间;End表示端口数据传输结束时间;Unit表示时间单位;接口需求通过在传输过程中总线和传输过程节点端口处对特殊的传输性能上做约束,用以描述对接口性能的特殊要求;
功能构件描述:通过自然语言描述该功能构件的功能和结构的设计理念,方便后期工程师查阅。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711297282.6/1.html,转载请声明来源钻瓜专利网。