CN112783486B - 航空发动机软件全过程证据链复用生成方法及系统 - Google Patents
航空发动机软件全过程证据链复用生成方法及系统 Download PDFInfo
- Publication number
- CN112783486B CN112783486B CN202011552875.4A CN202011552875A CN112783486B CN 112783486 B CN112783486 B CN 112783486B CN 202011552875 A CN202011552875 A CN 202011552875A CN 112783486 B CN112783486 B CN 112783486B
- Authority
- CN
- China
- Prior art keywords
- template
- information
- demand
- file
- requirement
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012360 testing method Methods 0.000 claims abstract description 44
- 238000013461 design Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 6
- 238000011161 development Methods 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 45
- 238000012545 processing Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
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/36—Software reuse
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
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
本发明公开了一种航空发动机软件全过程证据链复用生成方法及系统,其中生成方法包括如下步骤:步骤100:导入接口配置文件,验证接口配置文件是否通过,若通过则进行下一步;步骤200:解析和追溯模块对接口配置文件进行解析,获取需求信息;步骤300:提取一条需求信息,并查找与所述需求信息对应的功能模板,将所述功能模板依据所述需求信息实例化,将实例化的需求条目发送给需求管理模块获得与所述需求信息唯一对应的ID号,并在生成的文件中写入所述ID号;步骤400:重复步骤300,直至所有需求信息均被提取完。上述生成方法,提高开发效率的同时,还可以自动建立需求、设计、代码及测试的自动追溯,为后续软件的维护提供追溯支撑。
Description
技术领域
本发明涉及计算机软件领域,特别涉及一种航空发动机软件全过程证据链复用生成方法及系统。
背景技术
航空发动机控制软件作为高安全高可靠的软件,根据DO-178C机载系统与设备的软件适航要求,其开发过程需要建立从需求、设计、代码到测试的一系列软件支撑产物,同时还需保证各产物之间的一致,这使得航空发动机控制软件的各开发过程工作量大、周期长、效率低。目前,已有部分组态软件可以使用户能根据不同的控制对象和控制目的在已有控制模块和驱动模块的基础上组态,完成发动机控制软件的开发。像Simulink、SCADE等,但这些通用建模软件对系统资源耗费大,其开发的软件要达到适航要求,花费巨大,在特定场景下难以满足软件需求层级完整复用,软件各产物之间的追溯和一致性难以维护。
发明内容
发明目的:本发明的目的是提出一种航空发动机软件全过程证据链复用生成方法,可以建立需求、设计、代码与测试的自动追溯。
本发明的另一目的是提出一种用于实施上述方法的软件复用功能的开发系统。
技术方案:本发明所述的航空发动机软件全过程证据链复用生成方法,具体包括如下步骤:
步骤100:导入接口配置文件,验证接口配置文件是否通过,若通过则进行下一步;
步骤200:解析和追溯模块对接口配置文件进行解析,获取需求信息;
步骤300:提取一条需求信息,并查找与所述需求信息对应的功能模板,将所述功能模板依据所述需求信息实例化,将实例化的需求条目发送给需求管理模块获得与所述需求信息唯一对应的ID号,并在生成的文件中写入所述ID号;
步骤400:重复步骤300,直至所有需求信息均被提取完。
进一步的,所述步骤300中的功能模板包括需求模板、设计与代码模板、单元测试模板及单元测试头文件模板。
进一步的,所述步骤300包括:
步骤310:提取一条需求信息,并查找与所述需求信息对应的需求模板,将所述需求模板依据所述需求信息实例化的需求条目发送给需求管理模块,同时获得与所述需求信息唯一对应的ID号;
步骤320:查找与所述需求信息对应的设计与代码模板,将所述设计与代码模板依据所述需求信息实例化为设计文件及代码文件,将所述需求信息对应的函数名称写入到所述设计文件中,将所述ID号写入到所述设计文件及代码文件中。
步骤330:查找与所述需求信息对应的单元测试模板及单元测试头文件模板,将所述单元测试模板及单元测试头文件模板依据所述需求信息实例化为测试文件,将所述需求信息对应的ID号写入到所述测试文件中。
进一步的,所述需求模板中包括第一关键字、第二关键字及第三关键字,所述第一关键字用于替换需求信息中的标题信息,所述第二关键字用于替换需求信息中的追溯函数属性信息,所述第三关键字用于替换需求信息中的需求说明属性信息。
本发明所述的软件复用功能的开发系统包括:功能模板库,用于存储功能模板;解析和追溯模块,用于解析接口配置文件,获取需求信息;需求管理模块,用于接收需求信息实例化的需求条目,生成与所述需求信息唯一对应的ID号;实例化模块,用于根据需求信息从功能模板库中查找对应的功能模板,将功能模板中的关键字替换为所述需求信息中的对应内容生成对应的文件。
有益效果:与现有技术相比,本发明具有如下优点:使用简便,提高软件的开发效率的同时可以自动建立需求、设计、代码及测试的自动追溯,为后续软件的维护提供追溯支撑。
附图说明
图1为本发明的生成方法的第一实施例的流程图;
图2为本发明的生成方法的第二实施例的流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
参照图1,根据本发明的实施例的航空发动机软件全过程证据链复用生成方法包括如下步骤:
步骤100:导入接口配置文件,验证接口配置文件是否通过,若通过则进行下一步;
步骤200:解析和追溯模块对接口配置文件进行解析,获取需求信息;
步骤300:提取一条需求信息,并查找与该需求信息对应的功能模板,将该功能模板依据对应的需求信息实例化,将实例化的需求条目发送给需求管理模块获得与所述需求信息唯一对应的ID号,并在生成的文件中写入所述ID号;
步骤400:重复步骤300,直至所有需求信息均被提取完。
根据上述技术方案的航空发动机软件全过程证据链复用生成方法,首先建立需求条目发送给需求管理模块获得该需求信息的唯一对应的ID号,再建立对应的设计文件、代码文件及测试文件,并在相应的文件中写入对应的唯一ID号,即可建立起完整的可追溯证据链,符合DO-178C机载系统与设备的软件适航要求,也便于后期的软件维护。同时所有需求都是根据功能模板库里的功能模板生成,保证实例化的产物具有一致性,进一步地提高后期的可维护性,并能提高开发效率。
在一些实施例中,每个功能模板可以代表一个最小的通用功能,每个功能模板中包含若干个规范的可替换的关键字,实例化时识别这些关键字并将其替换为解析接口配置文件获得的需求信息中对应项的内容,即可生成所需的设计文件、代码文件及测试文件。所以每个功能模板均包括需求模板、设计与代码模板、单元测试模板及单元测试头文件模板。
在一些实施例中,步骤300还包括:
步骤310:提取一条需求信息,并查找与该需求信息对应的需求模板,将该需求模板依据对应的需求信息实例化的需求条目发送给需求管理模块,同时获得与该需求信息唯一对应的ID号;
步骤320:查找与该需求信息对应的设计与代码模板,将该设计与代码模板依据所述需求信息实例化为设计文件及代码文件,将该需求信息对应的函数名称写入到该设计文件中,将该ID号写入到该设计文件及代码文件中。
步骤330:查找与该需求信息对应的单元测试模板及单元测试头文件模板,将该单元测试模板及单元测试头文件模板依据对应的需求信息实例化为测试文件,将该需求信息对应的ID号写入到所述测试文件中。
可以理解的是,功能模板的实例化可由AutoGen、Python等脚本语言实现,在本实施例中,功能模板采用AutoGen工具脚本语言开发,功能模板中的四个模板均共用一个模板导入接口配置文件中的需求信息。
为了方便工具提取和后续模板库的增长,所有的模板需要遵守相同的格式和规则。在模板文件中,[++]作为关键字符号,会被实例化模块提取并替换为接口配置文件中的内容。
设计与代码模板编写时,需要分低层需求、输入变量、可调参数、输出变量和函数体部分编写,这些必要信息会在后续工具转化时提取到软件设计信息中,避免后续人工再次填写设计信息。
在一些实施例中,单元测试模板的格式采用CPPunit单元测试框架,在声明定义部分段代码中,添加了变量的外部声明,这样生成的单元测试文件不需要额外的操作,直接加入单元测试工程中即可进行批跑测试。
需求模板的编制中,还需有三种不同的关键字,功能分别如下:
第一关键字[Object Heading]:关键字为需求信息中的标题;
第二关键字[##]:[##]内的内容生成到需求信息中的追溯函数属性中;
第三关键字[**]:[**]内的内容生成到需求信息中的需求说明属性中。
在一些实施例中,接口配置文件可以为表格文件或数据库文件,表内主要包含的信息有:接口描述、符号、可选模板、填写说明、模板组合等。
根据本发明实施例的软件复用功能的开发系统,包括功能模板库、机械和追溯模块、需求管理模块及实例化模块。其中功能模板库用于存储功能模板。解析和追溯模块用于解析接口配置文件并获取需求信息。需求管理模块用于接收需求信息实例化的需求条目并生成与需求信息唯一对应的ID号。实例化模块用于根据需求信息从功能模板库中查找对应的功能模板,并将功能模板中的关键字替换为需求信息中的对应内容生成对应的文件。
在一些实施例中,为了便于功能模板的查找,功能模板库可以分为若干个二级功能库,每个二级功能库内再分成若干个三级功能库。三级功能库中存放具有统一接口的功能模块,每个二级功能库中存放具有松散耦合度,可以进行功能交互而实现一个较大或复杂的功能的多个三级功能库。以航空发动机FADEC控制软件为例,二级功能库可以包括模拟量输入处理、模拟量输出控制、模拟量输出故障诊断、离散量输入处理、离散量输出处理、发动机状态、通讯处理等。
在本实施例中,软件复用功能的开发系统可以采用MVC(模型-视图-控制器)的框架模式,将软件视图层与软件控制器层进行分离,降低了软件功能间的耦合,并且可以根据需求管理环境、编码调试环境和单元测试环境的实际情况进行修改拓展,可维护性高。系统的导入界面采用JavaFx插件技术,插件资源丰富,界面开发更灵活高效,且便于和其他工具平台集成。系统的文件处理和生成则利用多线程技术,通过多操作并发,提高文档及代码文件的批量生成效率,优化用户使用体验。
Claims (3)
1.一种航空发动机软件全过程证据链复用生成方法,其特征在于,包括如下步骤:
步骤100:导入接口配置文件,验证接口配置文件是否通过,若通过则进行下一步;
步骤200:解析和追溯模块对接口配置文件进行解析,获取需求信息;
步骤300:提取一条需求信息,并查找与所述需求信息对应的功能模板,将所述功能模板依据所述需求信息实例化,将实例化的需求条目发送给需求管理模块获得与所述需求信息唯一对应的ID号,并在生成的文件中写入所述ID号;所述步骤300中的功能模板包括需求模板、设计与代码模板、单元测试模板及单元测试头文件模板;
步骤400:重复步骤300,直至所有需求信息均被提取完;
所述步骤300包括:
步骤310:提取一条需求信息,并查找与所述需求信息对应的需求模板,将所述需求模板依据所述需求信息实例化的需求条目发送给需求管理模块,同时获得与所述需求信息唯一对应的ID号;
步骤320:查找与所述需求信息对应的设计与代码模板,将所述设计与代码模板依据所述需求信息实例化为设计文件及代码文件,将所述需求信息对应的函数名称写入到所述设计文件中,将所述ID号写入到所述设计文件及代码文件中;
步骤330:查找与所述需求信息对应的单元测试模板及单元测试头文件模板,将所述单元测试模板及单元测试头文件模板依据所述需求信息实例化为测试文件,将所述需求信息对应的ID号写入到所述测试文件中。
2.根据权利要求1所述的一种航空发动机软件全过程证据链复用生成方法,其特征在于,所述需求模板中包括第一关键字、第二关键字及第三关键字,所述第一关键字用于替换需求信息中的标题信息,所述第二关键字用于替换需求信息中的追溯函数属性信息,所述第三关键字用于替换需求信息中的需求说明属性信息。
3.一种航空发动机软件全过程证据链复用生成系统,其特征在于,包括:
功能模板库,用于存储功能模板;
解析和追溯模块,用于解析接口配置文件,获取需求信息;
需求管理模块,用于接收需求信息实例化的需求条目,生成与所述需求信息唯一对应的ID号;
实例化模块,用于根据需求信息从功能模板库中查找对应的功能模板,将功能模板中的关键字替换为所述需求信息中的对应内容生成对应的文件;
所述系统应用过程为:
步骤100:导入接口配置文件,验证接口配置文件是否通过,若通过则进行下一步;
步骤200:解析和追溯模块对接口配置文件进行解析,获取需求信息;
步骤300:提取一条需求信息,并查找与所述需求信息对应的功能模板,将所述功能模板依据所述需求信息实例化,将实例化的需求条目发送给需求管理模块获得与所述需求信息唯一对应的ID号,并在生成的文件中写入所述ID号;所述步骤300中的功能模板包括需求模板、设计与代码模板、单元测试模板及单元测试头文件模板;
步骤400:重复步骤300,直至所有需求信息均被提取完;
所述步骤300包括:
步骤310:提取一条需求信息,并查找与所述需求信息对应的需求模板,将所述需求模板依据所述需求信息实例化的需求条目发送给需求管理模块,同时获得与所述需求信息唯一对应的ID号;
步骤320:查找与所述需求信息对应的设计与代码模板,将所述设计与代码模板依据所述需求信息实例化为设计文件及代码文件,将所述需求信息对应的函数名称写入到所述设计文件中,将所述ID号写入到所述设计文件及代码文件中;
步骤330:查找与所述需求信息对应的单元测试模板及单元测试头文件模板,将所述单元测试模板及单元测试头文件模板依据所述需求信息实例化为测试文件,将所述需求信息对应的ID号写入到所述测试文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011552875.4A CN112783486B (zh) | 2020-12-24 | 2020-12-24 | 航空发动机软件全过程证据链复用生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011552875.4A CN112783486B (zh) | 2020-12-24 | 2020-12-24 | 航空发动机软件全过程证据链复用生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783486A CN112783486A (zh) | 2021-05-11 |
CN112783486B true CN112783486B (zh) | 2023-10-31 |
Family
ID=75752220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011552875.4A Active CN112783486B (zh) | 2020-12-24 | 2020-12-24 | 航空发动机软件全过程证据链复用生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783486B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653443A (zh) * | 2015-12-21 | 2016-06-08 | 中电科航空电子有限公司 | 一种满足do-178c标准测试追溯目标的方法 |
CN106201458A (zh) * | 2016-06-27 | 2016-12-07 | 上海波汇科技股份有限公司 | 一种灵活可配的界面生成方法和系统 |
CN106776515A (zh) * | 2016-12-16 | 2017-05-31 | 刘立 | 数据处理的方法及装置 |
CN108537503A (zh) * | 2018-03-26 | 2018-09-14 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 软件开发管理系统 |
CN108958792A (zh) * | 2018-07-03 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种软件研发过程中产品需求管理方法与系统 |
CN110806862A (zh) * | 2019-10-12 | 2020-02-18 | 上海巍驰信息技术有限公司 | 一种基于配置模型自动生成接口程序代码的系统 |
CN111045718A (zh) * | 2019-12-03 | 2020-04-21 | 中国航空无线电电子研究所 | 一种适用于对民用机载设备进行适航管理的软件 |
CN112000332A (zh) * | 2020-07-09 | 2020-11-27 | 惠州市德赛西威汽车电子股份有限公司 | 一种总线面板的自动生成方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060045A1 (en) * | 2016-08-25 | 2018-03-01 | Arnie Foxx | Automatic graphical user interface programming system |
-
2020
- 2020-12-24 CN CN202011552875.4A patent/CN112783486B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653443A (zh) * | 2015-12-21 | 2016-06-08 | 中电科航空电子有限公司 | 一种满足do-178c标准测试追溯目标的方法 |
CN106201458A (zh) * | 2016-06-27 | 2016-12-07 | 上海波汇科技股份有限公司 | 一种灵活可配的界面生成方法和系统 |
CN106776515A (zh) * | 2016-12-16 | 2017-05-31 | 刘立 | 数据处理的方法及装置 |
CN108537503A (zh) * | 2018-03-26 | 2018-09-14 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 软件开发管理系统 |
CN108958792A (zh) * | 2018-07-03 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种软件研发过程中产品需求管理方法与系统 |
CN110806862A (zh) * | 2019-10-12 | 2020-02-18 | 上海巍驰信息技术有限公司 | 一种基于配置模型自动生成接口程序代码的系统 |
CN111045718A (zh) * | 2019-12-03 | 2020-04-21 | 中国航空无线电电子研究所 | 一种适用于对民用机载设备进行适航管理的软件 |
CN112000332A (zh) * | 2020-07-09 | 2020-11-27 | 惠州市德赛西威汽车电子股份有限公司 | 一种总线面板的自动生成方法及系统 |
Non-Patent Citations (4)
Title |
---|
Requirement management for product-service systems: Status review and future trends;Wenyan Song 等;《Computers in Industry》;第85卷;11-22 * |
基于需求模型的航天软件测试自动化方法研究;王子豪;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》(第3期);C031-333 * |
基于需求管理工具的软件文档追溯管理;王定涛 等;《科技风》(第8期);第276-277页 * |
王定涛 等.基于需求管理工具的软件文档追溯管理.《科技风》.2017,(第8期),第276-277页. * |
Also Published As
Publication number | Publication date |
---|---|
CN112783486A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103309904B (zh) | 一种生成数据仓库etl 代码的方法及装置 | |
KR20040046463A (ko) | 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법 | |
CA2576478A1 (en) | System and method and apparatus for using uml tools for defining web service bound component applications | |
WO2002095576A1 (en) | System and method for manipulation of software | |
Korshunova et al. | CPP2XMI: reverse engineering of UML class, sequence, and activity diagrams from C++ source code | |
CN107368503A (zh) | 基于Kettle的数据同步方法和系统 | |
CA2518902A1 (en) | System and method for query planning and execution | |
CN110705724A (zh) | 一种可重用自动化运维管理系统 | |
CN100433023C (zh) | 绘制原理图设计文件的方法和系统 | |
CN109086985B (zh) | 面向航天器总装的专业测试信息管理系统 | |
Rinner et al. | Creating ISO/EN 13606 archetypes based on clinical information needs | |
CN112783486B (zh) | 航空发动机软件全过程证据链复用生成方法及系统 | |
CN113655996A (zh) | 一种基于需求模型的企业级系统生成方法 | |
Sauerbier | UMDBS-a new tool for dynamic microsimulation | |
CN115080011B (zh) | 基于抽象语法树的代码生成方法及系统 | |
US8856152B2 (en) | Apparatus and method for visualizing data | |
CN115469860A (zh) | 基于指令集的需求到软件领域模型的自动生成方法及系统 | |
CN114116779A (zh) | 基于深度学习的电网调控领域信息检索方法、系统和介质 | |
CN110750258A (zh) | 一种基于xml的可重用监控软件设计方法 | |
CN116719514B (zh) | 一种基于bert的rpa代码自动生成方法及装置 | |
Gall et al. | Object-model driven abstraction-to-code mapping | |
CN108647018A (zh) | 可实时预览的代码生成系统 | |
CN117667196B (zh) | 基于中间表示模型的uxui高效协作的低代码方法 | |
Kossmann | A graphic SDL support environment | |
CN116991420A (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 |