CN106775607A - 一种将接口控制文件自动生成头文件数据接口的方法 - Google Patents

一种将接口控制文件自动生成头文件数据接口的方法 Download PDF

Info

Publication number
CN106775607A
CN106775607A CN201510824683.7A CN201510824683A CN106775607A CN 106775607 A CN106775607 A CN 106775607A CN 201510824683 A CN201510824683 A CN 201510824683A CN 106775607 A CN106775607 A CN 106775607A
Authority
CN
China
Prior art keywords
icd
data
signal
header file
interface
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.)
Pending
Application number
CN201510824683.7A
Other languages
English (en)
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.)
China Helicopter Research and Development Institute
Original Assignee
China Helicopter Research and Development Institute
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 China Helicopter Research and Development Institute filed Critical China Helicopter Research and Development Institute
Priority to CN201510824683.7A priority Critical patent/CN106775607A/zh
Publication of CN106775607A publication Critical patent/CN106775607A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明属于计算机软件领域,具体涉及一种将接口控制文件自动生成软件开发的头文件数据接口的方法。本发明提出了将接口控制文件自动生成头文件接口数据的思路和方法,改变了由程序员重新组织接口控制文件人工编写头文件数据接口的方式,从而提高效率和标准化程度。在接口控制文件自动生成头文件接口数据过程中,将接口控制文件中的信号和数据块按照程序编码要求组织为结构体的方法和按编码要求对结构体类型和变量名称命名的方法,是实现自动生成头文件接口数据的关键,将信号和数据块的结构体逐行输出头文件接口数据,得到可直接用于软件开发的头文件接口数据。

Description

一种将接口控制文件自动生成头文件数据接口的方法
技术领域:
本发明属于计算机软件领域,具体涉及一种将接口控制文件自动生成软件开发的头文件数据接口的方法。
背景技术:
接口控制文件是编写软件头文件中数据接口的重要输入,要按程序编码要求严格遵照接口控制文件编写头文件中的数据接口。在电子综合化设计中,接口控制文件(Interface Control Document,ICD)定义了各个系统、设备之间要处理和管理的数据块、信号及其数据格式的详细信息,由总体设计单位在系统的详细设计过程中编写,是系统控制软件开发的重要依据。头文件是软件程序的组成文件之一,数据接口是软件头文件的重要组成,需要按照程序编码要求编写,软件头文件的数据接口必须按照接口控制文件的要求组织定义。
《航空电子技术》2003年3月第34卷第1期第15页《XML技术在航空电子接口控制中的应用前景》介绍了将接口控制文件使用XML技术进行管理的应用前景,提出了使用XML语言组织接口控制文件的思路,将接口控制文件存储成XML文档,应用XML技术对接口控制文件进行管理和查询。
专利申请号201120330280.4“接口控制文件解析处理器”介绍了一种接口控制文件解析处理器产品,其中在接口数据解析过程中,将特定格式的接口控制文件用于解析接收的数据流,并在面板显示,用于在产品检验。
《车辆与动力技术》2010年第1期第11页《接口控制文件仿真方法研究》提出了一种根据接口控制文件自动建立UML系统模型的方法,基于UML建模建立关系数据库进行接口控制文件的管理。
在设计接口控制文件时,虽然接口控制文件有特定的格式要求,可采用各种建模方法应用XML等技术进行存储和管理,但是系统设计人员并不是程序员,无法按照程序编码要求定义接口的数据格式,程序员在编写头文件时需要将接口控制文件按程序编码要求重新组织,并按编码要求定义变量名称,增加相关的注释,形成软件开发可用的头文件数据接口。到目前,还未曾提出一种将接口控制文件转化为用于软件开发的头文件数据的方法和思路。
在重新组织接口控制文件编写头文件数据接口过程中,程序员的工作量大、效率不高、标准化程度低。因此,将接口控制文件自动生成头文件数据接口,使接口控制文件高效地用于电子综合化设计的软件开发中具有重要意义。
发明内容:
本发明提供了一种将接口控制文件自动生成软件开发的头文件数据接口的方法,将接口控制文件自动生成头文件数据接口,使接口控制文件高效地用于电子综合化设计的软件开发。
一种将接口控制文件自动生成头文件数据接口的方法,本方法包括以下步骤:
第一步,读入接口控制文件,并创建头文件;
第二步,从接口控制文件获取第一个信号的详细信息,包括信号名称、比例因子、构成信号的字段、字段的位置关系、字段的大小、字段的含义信息,构成信号的字段数量;
第三步,解析信号的详细信息,为信号的结构体类型名称和变量名称命名,获取结构体类型和变量的注释信息,组织信号的结构体,向头文件逐行输出信号的结构体;
第四步,判断是否已解析全部信号,如果未全部解析,则从接口控制文件获取下一个信号的详细信息,返回第三步;如果已解析生成全部信号的结构体,则进入下一步;
第五步,从接口控制文件获取第一个数据块的详细信息,包括数据块的名称、用途、数据块大小、总线类型、传输类型、周期、所包含的信号在数据块中的位置关系信息;
第六步,解析数据块结构的详细信息,为数据块的结构体类型名称和变量名称命名,获取数据块的结构体类型和变量的注释信息,组织数据块的结构体,向头文件逐行输出数据块的结构体;
第七步,判断是否已解析全部数据块的结构体,如果未全部解析,则从接口控制文件获取下一个数据块的详细信息,返回第六步,如果已解析生成全部数据块的结构体,则进入下一步;
第八步,关闭接口控制文件和头文件,完成头文件数据接口的生成过程。
本发明提出了将接口控制文件自动生成头文件接口数据的思路和方法,改变了由程序员重新组织接口控制文件人工编写头文件数据接口的方式,从而提高效率和标准化程度。
在接口控制文件自动生成头文件接口数据过程中,将接口控制文件中的信号和数据块按照程序编码要求组织为结构体的方法和按编码要求对结构体类型和变量名称命名的方法,是实现自动生成头文件接口数据的关键,将信号和数据块的结构体逐行输出头文件接口数据,得到可直接用于软件开发的头文件接口数据。
与人工编写头文件接口数据的方式相比,将接口控制文件自动生成头文件数据接口的方法极大地提高了效率和标准化程度。在大型复杂系统软件开发过程中,以往多个程序员多天才能编写的头文件数据接口,通过自动生成的方法,在几分钟就可以完成;以往不同程序员需要经过培训并按规范才能编写统一风格的头文件数据接口,通过自动生成的方式能够格式和注释等方面形成统一和标准化编程风格。
附图说明
图1为方法的流程图。
具体实施方式
头文件数据接口具体表现为信号和数据块的结构体,将接口控制文件自动生成头文件数据接口需要对接口控制文件进行解析,获取所需的详细信息,按程序编码要求重新组织接口控制文件信息,输出信号和数据块的结构体,得到与接口控制文件一致的头文件数据接口。
本方法包括以下步骤:
第一步,读入接口控制文件,并创建头文件。接口控制文件按照特定的格式定义了数据块和构成数据块的信号的详细信息,数据块的定义包括数据块的名称、用途、数据块大小、总线类型、传输类型、周期、所包含的信号在数据块中的位置关系,信号的定义包括信号名称、比例因子、构成信号的字段、字段的位置关系、字段的大小、字段的名称和描述信息、构成信号的字段数量,读入接口控制文件获取接口控制文件中的信息。创建所需的头文件,向头文件中输出数据接口,即信号和数据块的结构体,头文件数据接口需遵循程序编码要求生成,每个数据块定义为一个结构体,多个字段复合构成的信号定义为一个结构体,需要先定义构成数据块的信号的结构体,再定义数据块的结构体。
第二步,从接口控制文件获取第一个信号的详细信息。按照接口控制文件的格式,从接口控制文件中获取该信号的信号名称、比例因子、构成信号的字段、字段的位置关系、字段的大小、字段的含义信息,构成信号的字段数量。
第三步,解析信号的详细信息,为信号的结构体类型名称和变量名称命名,获取结构体类型和变量的注释信息。
接口控制文件中信号由多个字段构成,一个字段占用一个或多个数据位,头文件中信号的结构体类型由多个字段对应的成员变量构成,每个字段对应的成员变量占用一个或多个基本类型(字符类型、整形等)的数据位,所占的数据位位数用:n表示,如下所示:
/*信号的注释*/
struct信号的结构体类型
{
基本类型字段的变量名:n;/*字段的注释*/
};
结构体类型命名和成员变量名称的命名需要遵循程序编码要求,如C语言编码要求,变量名称、结构体类型名称只能使用字母、数字和下划线,名称首字符只能使用字母或者下划线,结构体类型名称不能重复,同一个结构体中的变量名也不能重复。将接口控制文件中定义的信号名称、字段名称转化为按编码要求的结构体类型名和变量名,其中,汉字翻译转化为英文,删除不符合要求的字符,数字开头的变量前面增加下划线,相同名称的结构体类型名称和变量名称后面增加递增的数字后缀,避免重定义。按照以上原则完成结构体类型命名和变量命名,得到满足程序编码要求的名称。
增加注释能够提高程序的可读性。将从接口控制文件中获取的信号的详细信息进行组织,为结构体类型和构成结构体的变量增加信号的注释,信号的结构体类型注释可包括名称、描述、比例因子信息,信号的字段变量的注释可包括名称、描述信息。
将按程序编码要求组织的信号的结构体向头文件逐行输出。
第四步,判断是否已解析接口控制文件中的全部信号,如果未全部解析,则同第二步一样,从接口控制文件获取下一个信号的详细信息,返回第三步,解析该信号的信息,组织信号的结构体,并向头文件逐行输出信号的结构体;如果已解析生成接口控制文件中的全部信号的结构体,则进入下一步;
第五步,从接口控制文件中获取第一个数据块的详细信息。按照接口控制文件的格式,从接口控制文件中获取数据块的名称、用途、数据块大小、总线类型、传输类型、周期、所包含的信号在数据块中的位置关系。
第六步,解析数据块的详细信息,为数据块的结构体类型名称和变量名称命名,获取结构体类型和变量的注释信息。
接口控制文件中,一个数据块有多个信号构成,在头文件中,数据块的结构体由信号对应的结构体类型的变量构成如下所示:
/*数据块的注释*/
struct数据块的结构体类型
{
struct信号的结构体类型信号的变量名;/*信号的注释*/
};
结构体类型命名和变量命名同样需要遵循程序编码要求,并按照第三步中结构体类型命名和变量命名方法,完成结构体类型命名和变量命名,得到满足程序编码要求的名称。
为数据块的结构体类型和变量增加注释。将从接口控制文件中获取的数据块的详细信息进行组织,为数据块结构体类型和构成结构体的变量增加注释,数据块的结构体的注释可包括从接口控制文件中获取的名称、用途、总线类型、传输类型、周期信息,变量的注释可包括信号的名称、描述、比例因子信息。
将按程序编码要求组织的数据块的结构体向头文件逐行输出。
第七步,从接口控制文件中判断是否已解析全部数据块的结构体,如果未全部解析,则同第五步一样,从接口控制文件获取下一个数据块的详细信息,返回第六步,解析数据块的结构体,组织数据块的结构体,并向头文件逐行输出数据块的结构体;如果已解析生成全部数据块的结构体,则关闭接口控制文件和头文件,完成头文件数据接口的生成过程。
第八步,关闭接口控制文件和头文件,完成头文件数据接口的生成过程。生成的头文件数据接口,保证了与接口控制文件的一致性,满足程序编码要求,能够直接用于软件开发过程中。

Claims (1)

1.一种将接口控制文件自动生成头文件数据接口的方法,其特征是,本方法包括以下步骤:
第一步,读入接口控制文件,并创建头文件;
第二步,从接口控制文件获取第一个信号的详细信息,包括信号名称、比例因子、构成信号的字段、字段的位置关系、字段的大小、字段的含义信息,构成信号的字段数量;
第三步,解析信号的详细信息,为信号的结构体类型名称和变量名称命名,获取结构体类型和变量的注释信息,组织信号的结构体,向头文件逐行输出信号的结构体;
第四步,判断是否已解析全部信号,如果未全部解析,则从接口控制文件获取下一个信号的详细信息,返回第三步;如果已解析生成全部信号的结构体,则进入下一步;
第五步,从接口控制文件获取第一个数据块的详细信息,包括数据块的名称、用途、数据块大小、总线类型、传输类型、周期、所包含的信号在数据块中的位置关系信息;
第六步,解析数据块结构的详细信息,为数据块的结构体类型名称和变量名称命名,获取数据块的结构体类型和变量的注释信息,组织数据块的结构体,向头文件逐行输出数据块的结构体;
第七步,判断是否已解析全部数据块的结构体,如果未全部解析,则从接口控制文件获取下一个数据块的详细信息,返回第六步,如果已解析生成全部数据块的结构体,则进入下一步;
第八步,关闭接口控制文件和头文件,完成头文件数据接口的生成过程。
CN201510824683.7A 2015-11-24 2015-11-24 一种将接口控制文件自动生成头文件数据接口的方法 Pending CN106775607A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510824683.7A CN106775607A (zh) 2015-11-24 2015-11-24 一种将接口控制文件自动生成头文件数据接口的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510824683.7A CN106775607A (zh) 2015-11-24 2015-11-24 一种将接口控制文件自动生成头文件数据接口的方法

Publications (1)

Publication Number Publication Date
CN106775607A true CN106775607A (zh) 2017-05-31

Family

ID=58963616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510824683.7A Pending CN106775607A (zh) 2015-11-24 2015-11-24 一种将接口控制文件自动生成头文件数据接口的方法

Country Status (1)

Country Link
CN (1) CN106775607A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032577A (zh) * 2018-06-27 2018-12-18 中国直升机设计研究所 一种数据仿真方法
CN110795847A (zh) * 2019-10-29 2020-02-14 北京世冠金洋科技发展有限公司 一种建模方法、装置及电子设备
CN112800124A (zh) * 2021-04-15 2021-05-14 成都赢瑞科技有限公司 基于接口控制文件的计算机辅助设计模型集成系统及方法
CN117391642A (zh) * 2023-12-12 2024-01-12 杭州实在智能科技有限公司 用于rpa流程中变量的生成方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739258A (zh) * 2010-01-13 2010-06-16 电子科技大学 Aadl模型的自动代码生成方法
CN102929608A (zh) * 2012-10-09 2013-02-13 大唐移动通信设备有限公司 一种接口编/解码的方法和系统
CN104484216A (zh) * 2014-12-29 2015-04-01 广州唯品会网络技术有限公司 服务接口文档和在线测试工具生成方法、装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739258A (zh) * 2010-01-13 2010-06-16 电子科技大学 Aadl模型的自动代码生成方法
CN102929608A (zh) * 2012-10-09 2013-02-13 大唐移动通信设备有限公司 一种接口编/解码的方法和系统
CN104484216A (zh) * 2014-12-29 2015-04-01 广州唯品会网络技术有限公司 服务接口文档和在线测试工具生成方法、装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙军平: "基于语义分析的代码生成工具的研究与开发", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032577A (zh) * 2018-06-27 2018-12-18 中国直升机设计研究所 一种数据仿真方法
CN109032577B (zh) * 2018-06-27 2022-03-08 中国直升机设计研究所 一种数据仿真方法
CN110795847A (zh) * 2019-10-29 2020-02-14 北京世冠金洋科技发展有限公司 一种建模方法、装置及电子设备
CN110795847B (zh) * 2019-10-29 2020-06-26 北京世冠金洋科技发展有限公司 一种建模方法、装置及电子设备
CN112800124A (zh) * 2021-04-15 2021-05-14 成都赢瑞科技有限公司 基于接口控制文件的计算机辅助设计模型集成系统及方法
CN117391642A (zh) * 2023-12-12 2024-01-12 杭州实在智能科技有限公司 用于rpa流程中变量的生成方法及系统

Similar Documents

Publication Publication Date Title
Fox et al. An R companion to applied regression
Ward Structured development for real-time systems: Vol. I: Introduction and tools
Green Cognitive dimensions of notations
JP4482563B2 (ja) ダイアグラミング環境言語のための単純化データ信号サポート
CN104598635B (zh) 一种基于xml描述的复杂文档自动生成方法
Feldbrugge et al. Petri net tool overview 1986
CN106775607A (zh) 一种将接口控制文件自动生成头文件数据接口的方法
Shapiro et al. MathSBML: a package for manipulating SBML-based biological models
CN109032577B (zh) 一种数据仿真方法
CN112286512A (zh) 航空电子仿真测试平台ui管理子系统
ATE364870T1 (de) Methode und schema zum anwenden von xml schemata
CN110968294B (zh) 一种业务领域模型建立系统及方法
Arslan et al. DSML4DT: A domain-specific modeling language for device tree software
CN105068858A (zh) 一种多源异构系统仿真方法和装置
Đukić et al. Model execution: An approach based on extending domain-specific modeling with action reports
Konur et al. kPWorkbench: A software suit for membrane systems
Aoyama et al. Design specification in Japan: Tree-structured charts
CN110109658B (zh) 一种基于形式化模型的ros代码生成器及代码生成方法
Sauerbier UMDBS-a new tool for dynamic microsimulation
WO2023193547A1 (zh) 用于生成和存储电路仿真过程中的波形数据的方法、电子设备和存储介质
CN104598636B (zh) 复杂文档分离组织方法以及复杂文档自动生成方法
CN107220045B (zh) 基于人工智能的建站方法、装置、设备及存储介质
Mason et al. Experimental adaptive interface
CN103530122B (zh) 一种基于图形界面的可编程仪器标准命令生成方法
CN113986420B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531