CN109814852A - 一种分区实时操作系统的分区配置方法 - Google Patents

一种分区实时操作系统的分区配置方法 Download PDF

Info

Publication number
CN109814852A
CN109814852A CN201910029203.6A CN201910029203A CN109814852A CN 109814852 A CN109814852 A CN 109814852A CN 201910029203 A CN201910029203 A CN 201910029203A CN 109814852 A CN109814852 A CN 109814852A
Authority
CN
China
Prior art keywords
manifest file
version
link
subregion
information
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.)
Granted
Application number
CN201910029203.6A
Other languages
English (en)
Other versions
CN109814852B (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201910029203.6A priority Critical patent/CN109814852B/zh
Publication of CN109814852A publication Critical patent/CN109814852A/zh
Application granted granted Critical
Publication of CN109814852B publication Critical patent/CN109814852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种分区实时操作系统的分区配置方法,首先在Manifest文件中规定分区配置信息、交叉工具链的版本信息和编译链接参数,然后设计代码自动生成器,使得源代码和链接脚本自动生成,并对代码生成器进行形式化验证,在进行程序编译时,通过获取Manifest文件中规定的交叉工具链编译器和链接器的版本信息,对编译器和链接器的版本进行验证,然后根据Manifest中的编译链接参数进行程序的编译和链接。本发明消除了因编译器和链接器版本不同造成编译链接结果不正确的可能性,简化了程序开发过程,同时也保证了源代码和链接脚本的可靠性,消除了因手动编写源代码和链接脚本而引入错误的可能性。

Description

一种分区实时操作系统的分区配置方法
技术领域
本发明涉及计算机应用技术领域,尤其是操作系统的分区实现方法。
背景技术
分区实时操作系统(PRTOS)在传统实时操作系统的基础上引入了分区的概念,每个分区拥有自己独自的内存空间和时间窗口,实现分区间时空域的隔离,防止一个分区中出现的故障蔓延至其它分区,提高了系统的可靠性;另一方面分区实时操作系统通过采用多级安全架构(MLS),严格控制不同安全级别分区间的信息交流,为信息安全提供保障。
分区配置文件中规定了分区的时间配置参数、空间配置参数、分区关键等级、分区所使用的外部设备以及分区健康监测表等信息,实现分区间的时间隔离、空间隔离以及分区健康状态监测。
在进行分区配置时,需要根据分区配置文件进行源代码和链接脚本的编写,手动编写代码增加引入错误的可能性;同时,随着交叉工具链的不断升级,使用不同版本的交叉工具链,得到的可执行文件也会存在差异性,增加程序运行出错的可能性。
发明内容
为了克服现有技术的不足,本发明提供一种分区实时操作系统的分区配置方法。本发明采用Manifest文件作为分区配置文件,将分区配置信息和交叉工具链的版本以及编译链接参数写入到文件中,设计代码生成器自动生成源代码和链接脚本,并检查所使用交叉工具链的版本信息,保证得到二进制文件的正确性。
本发明解决其技术问题所采用的技术方案的实现步骤如下:
步骤一、用户编写Manifest文件;
Manifest文件以XML格式表示,将分区作为Manifest文件的根元素,通过元素属性的方式规定交叉工具链的版本信息以及编译链接参数,然后通过标签描述分区的分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表;
用户根据实际使用需求,确定分区数量,建立与分区数量对应的分区元素,然后根据每个分区功能需求的不同,对分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表的标签进行设定;
步骤二、通过数据软总线获取Manifest文件的信息;
将步骤一完成的Manifest文件挂接到数据软总线上,数据软总线获取Manifest文件中的数据信息;
步骤三、使用ARINC 653 XML-SCHEMA对获取到的Manifest信息进行校验;
Manifest文件中的信息包含两部分:一部分是分区配置信息,另一部分是交叉工具链版本信息和编译链接参数;
依据ARINC 653标准的要求,使用ARINC 653 XML-SCHEMA对分区配置信息进行校验,通过校验的Manifest文件作为分区配置文件继续使用;
步骤四、设计代码生成器,并对代码生成器进行形式化验证;
从步骤三通过校验的Manifest文件的分区信息中提取各个分区的参数,根据提取参数编写源代码和链接脚本;
通过文本替换的方式设计代码生成器,采用形式化的方法对代码生成器进行验证;
步骤五、获取步骤三通过校验的Manifest文件中的交叉工具链编译器版本信息和编译参数,并对编译器版本进行检查;
通过代码生成器产生的源代码在进行编译之前,根据步骤三通过校验的Manifest文件中规定的编译器版本信息对与实际使用的编译器版本进行对比,确保编译器版本的正确性;
步骤六、编译代码生成器生成的源代码。
获取步骤三通过校验的Manifest文件中的编译参数,使用版本相同的编译器编译源代码;
步骤七、获取步骤三通过校验的Manifest中的交叉工具链链接器版本信息和链接参数,并对链接器版本进行检查;
完成步骤六中源代码的编译之后,对比Manifest中规定的交叉工具链链接器版本信息和实际使用的链接器版本信息,确保所使用的链接器为规定版本;
步骤八、根据代码生成器产生的链接脚本,将应用程序链接到指定的位置;
在完成链接器版本的验证之后,根据Manifest文件中的链接参数和代码生成器产生的链接脚本,根据Manifest文件中的链接参数和代码生成器产生的链接脚本,交叉工具链中的链接器执行链接环节,将程序的各个段链接到指定的位置。
本发明的有益效果在于由于采用在Manifest文件中加入交叉工具链的版本信息和编译链接参数,消除了因编译器和链接器版本不同造成编译链接结果不正确的可能性;设计代码生成器来自动生成源代码和链接脚本,并通过形式化的方法对代码生成器进行验证,简化了程序开发过程,同时也保证了源代码和链接脚本的可靠性,消除了因手动编写源代码和链接脚本而引入错误的可能性。
附图说明
图1是本发明分区实时操作系统分区实现方法的示意图;
图2是本发明Manifest文件组成示意图;
图3是本发明代码生成器及交叉工具链版本检查示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
Manifest文件最初为了解决Windows操作系统下同一个DLL文件不同版本的问题,本发明将其用作解决同一个交叉工具链因版本不同导致可执行文件出错的问题,并在Manifest文件中进行分区参数的配置。
首先在Manifest文件中规定分区配置信息、交叉工具链的版本信息和编译链接参数,然后设计代码自动生成器,使得源代码和链接脚本自动生成,并对代码生成器进行形式化验证,从数学和逻辑学的角度证明代码生成器生成的代码与Manifest文件中数据的一致性。在进行程序编译时,通过获取Manifest文件中规定的交叉工具链编译器和链接器的版本信息,对编译器和链接器的版本进行验证,然后根据Manifest中的编译链接参数进行程序的编译和链接。
步骤一、用户编写Manifest文件;
Manifest文件以XML格式表示,将分区作为Manifest文件的根元素,通过元素属性的方式规定交叉工具链的版本信息以及编译链接参数,然后通过标签描述分区的分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表;
用户根据实际使用需求,确定分区数量,建立与分区数量对应的分区元素,然后根据每个分区功能需求的不同,对分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表的标签进行设定,例如,根据某一分区内代码功能的关键等级,来确定分区的关键等级,分区空间配置通过设定分区的起止地址定义每个分区所独有的存储空间,分区时间配置通过设定分区内任务的执行时间和调度顺序定义了分区的时间调度信息;
步骤二、通过数据软总线获取Manifest文件的信息;
将步骤一完成的Manifest文件挂接到数据软总线上,数据软总线获取Manifest文件中的数据信息;
步骤三、使用ARINC 653 XML-SCHEMA对获取到的Manifest信息进行校验;
Manifest文件中的信息包含两部分:一部分是分区配置信息,另一部分是交叉工具链版本信息和编译链接参数;
依据ARINC 653标准的要求,使用ARINC 653 XML-SCHEMA对分区配置信息进行校验,通过校验的Manifest文件作为分区配置文件继续使用;
步骤四、设计代码生成器,并对代码生成器进行形式化验证;
从步骤三通过校验的Manifest文件的分区信息中提取各个分区的参数,根据提取参数编写源代码和链接脚本,不但使得程序的开发变得繁琐,同时增加了引入错误的可能;
通过文本替换的方式设计代码生成器,提高了代码的复用性,简化程序开发过程;采用形式化的方法对代码生成器进行验证,从数学的角度保证了所生成的源代码和链接脚本的可靠性,消除了因手动编写源代码和链接脚本引入错误的可能性;
步骤五、获取步骤三通过校验的Manifest文件中的交叉工具链编译器版本信息和编译参数,并对编译器版本进行检查;
通过代码生成器产生的源代码在进行编译之前,根据步骤三通过校验的Manifest文件中规定的编译器版本信息对与实际使用的编译器版本进行对比,确保编译器版本的正确性,防止因编译器版本不同造成的编译结果错误;
步骤六、编译代码生成器生成的源代码。
获取步骤三通过校验的Manifest文件中的编译参数,使用版本相同的编译器编译源代码;
步骤七、获取步骤三通过校验的Manifest中的交叉工具链链接器版本信息和链接参数,并对链接器版本进行检查;
完成步骤六中源代码的编译之后,对比Manifest中规定的交叉工具链链接器版本信息和实际使用的链接器版本信息,确保所使用的链接器为规定版本,防止因链接器版本不同导致链接结果错误;
步骤八、根据代码生成器产生的链接脚本,将应用程序链接到指定的位置。
在完成链接器版本的验证之后,根据Manifest文件中的链接参数和代码生成器产生的链接脚本,根据Manifest文件中的链接参数和代码生成器产生的链接脚本,交叉工具链中的链接器执行链接环节,将程序的各个段链接到指定的位置。
参照图1-3,本发明的实施例关于分区实时操作系统的分区实现方法步骤如下:
第一步、用户编写Manifest文件。Manifest文件以XML格式表示,描述了分区的分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表等信息,除此之外,还规定了交叉工具链的版本信息以及编译链接参数。
用户根据实际使用需求,对分区数量进行设定,然后根据每个分区功能需求的不同,对分区的各个参数进行设定,分区空间配置定义了每个分区所独有的存储空间,分区时间配置定义了分区的时间调度信息。
第二步、通过数据软总线获取Manifest文件的信息。完成Manifest文件的编制,将Manifest挂接到数据软总线上,数据软总线获取到Manifest中的数据信息。
第三步、使用ARINC 653 XML-SCHEMA对获取到的Manifest信息进行校验。
Manifest文件中的信息主要包含两部分:一是分区配置信息,另一部分是交叉工具链版本信息和编译链接参数。
依据ARINC 653标准中要求,使用ARINC 653 XML-SCHEMA对分区配置信息进行校验,通过校验后的Manifest文件才会作为分区配置文件继续使用。
第四步、设计代码生成器,并对代码生成器进行形式化验证。根据Manifest文件,手动编写源代码和链接脚本,不但使得程序的开发变得繁琐,同时增加了引入错误的可能。
通过设计代码生成器,提高了代码的复用性,简化程序开发过程。采用形式化的方法对代码生成器进行验证,从数学和逻辑学的角度保证了所生成的源代码和链接脚本的可靠性,消除了因手动编写源代码和链接脚本引入错误的可能性。
第五步、获取Manifest中的交叉工具链编译器版本信息和编译参数,并对编译器版本进行检查。
通过代码生成器产生的源代码在进行编译之前,根据Manifest中规定的编译器版本信息对编译器版本进行检查,确保编译器版本的正确性,防止因编译器版本不同造成的编译结果错误。
第六步、编译代码生成器生成的源代码。获取Manifest文件中的编译参数,使用规定版本的编译器编译源代码。
第七步、获取Manifest中的交叉工具链链接器版本信息和链接参数,并对链接器版本进行检查。完成源代码的编译之后,根据Manifest中规定的交叉工具链链接器版本信息对链接器版本进行检查,确保所使用的链接器为规定版本,防止因链接器版本不同导致链接结果错误。
第八步、根据代码生成器产生的链接脚本,将应用程序链接到指定的位置。在完成链接器版本的验证之后,根据Manifest中的链接参数和代码生成器产生的链接脚本,执行链接环节,将程序的各个段链接到指定位置。

Claims (1)

1.一种分区实时操作系统的分区配置方法,其特征在于包括下述步骤:
步骤一、用户编写Manifest文件;
Manifest文件以XML格式表示,将分区作为Manifest文件的根元素,通过元素属性的方式规定交叉工具链的版本信息以及编译链接参数,然后通过标签描述分区的分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表;
用户根据实际使用需求,确定分区数量,建立与分区数量对应的分区元素,然后根据每个分区功能需求的不同,对分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表的标签进行设定;
步骤二、通过数据软总线获取Manifest文件的信息;
将步骤一完成的Manifest文件挂接到数据软总线上,数据软总线获取Manifest文件中的数据信息;
步骤三、使用ARINC 653XML-SCHEMA对获取到的Manifest信息进行校验;
Manifest文件中的信息包含两部分:一部分是分区配置信息,另一部分是交叉工具链版本信息和编译链接参数;
依据ARINC 653标准的要求,使用ARINC 653XML-SCHEMA对分区配置信息进行校验,通过校验的Manifest文件作为分区配置文件继续使用;
步骤四、设计代码生成器,并对代码生成器进行形式化验证;
从步骤三通过校验的Manifest文件的分区信息中提取各个分区的参数,根据提取参数编写源代码和链接脚本;
通过文本替换的方式设计代码生成器,采用形式化的方法对代码生成器进行验证;
步骤五、获取步骤三通过校验的Manifest文件中的交叉工具链编译器版本信息和编译参数,并对编译器版本进行检查;
通过代码生成器产生的源代码在进行编译之前,根据步骤三通过校验的Manifest文件中规定的编译器版本信息对与实际使用的编译器版本进行对比,确保编译器版本的正确性;
步骤六、编译代码生成器生成的源代码;
获取步骤三通过校验的Manifest文件中的编译参数,使用版本相同的编译器编译源代码;
步骤七、获取步骤三通过校验的Manifest中的交叉工具链链接器版本信息和链接参数,并对链接器版本进行检查;
完成步骤六中源代码的编译之后,对比Manifest中规定的交叉工具链链接器版本信息和实际使用的链接器版本信息,确保所使用的链接器为规定版本;
步骤八、根据代码生成器产生的链接脚本,将应用程序链接到指定的位置;
在完成链接器版本的验证之后,根据Manifest文件中的链接参数和代码生成器产生的链接脚本,根据Manifest文件中的链接参数和代码生成器产生的链接脚本,交叉工具链中的链接器执行链接环节,将程序的各个段链接到指定的位置。
CN201910029203.6A 2019-01-12 2019-01-12 一种分区实时操作系统的分区配置方法 Active CN109814852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910029203.6A CN109814852B (zh) 2019-01-12 2019-01-12 一种分区实时操作系统的分区配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910029203.6A CN109814852B (zh) 2019-01-12 2019-01-12 一种分区实时操作系统的分区配置方法

Publications (2)

Publication Number Publication Date
CN109814852A true CN109814852A (zh) 2019-05-28
CN109814852B CN109814852B (zh) 2021-12-31

Family

ID=66603392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910029203.6A Active CN109814852B (zh) 2019-01-12 2019-01-12 一种分区实时操作系统的分区配置方法

Country Status (1)

Country Link
CN (1) CN109814852B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966687A (zh) * 2020-08-18 2020-11-20 中国银行股份有限公司 一种大型机db2数据库表分区方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158669A1 (en) * 2010-12-17 2012-06-21 Microsoft Corporation Data retention component and framework
CN103019742A (zh) * 2012-12-31 2013-04-03 清华大学 一种多dsp平台上的自动代码生成方法
CN105183507A (zh) * 2015-08-24 2015-12-23 汉柏科技有限公司 一种应用程序间版本的匹配方法及系统
CN105700900A (zh) * 2014-11-25 2016-06-22 青岛海信移动通信技术股份有限公司 一种优化无线局域网功能的方法及装置
CN106919386A (zh) * 2017-02-15 2017-07-04 北京航空航天大学 基于arinc653操作系统生成代码的方法与装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158669A1 (en) * 2010-12-17 2012-06-21 Microsoft Corporation Data retention component and framework
CN103019742A (zh) * 2012-12-31 2013-04-03 清华大学 一种多dsp平台上的自动代码生成方法
CN105700900A (zh) * 2014-11-25 2016-06-22 青岛海信移动通信技术股份有限公司 一种优化无线局域网功能的方法及装置
CN105183507A (zh) * 2015-08-24 2015-12-23 汉柏科技有限公司 一种应用程序间版本的匹配方法及系统
CN106919386A (zh) * 2017-02-15 2017-07-04 北京航空航天大学 基于arinc653操作系统生成代码的方法与装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱怡安等: "多核平台下分区操作系统的安全关键任务调度方法", 《计算机工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966687A (zh) * 2020-08-18 2020-11-20 中国银行股份有限公司 一种大型机db2数据库表分区方法和装置
CN111966687B (zh) * 2020-08-18 2024-04-16 中国银行股份有限公司 一种大型机db2数据库表分区方法和装置

Also Published As

Publication number Publication date
CN109814852B (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
Verma et al. A comparative study of black box testing and white box testing
US9501594B2 (en) Graphical design verification environment generator
Cunha et al. PETTool: a pattern-based GUI testing tool
Antkiewicz et al. Engineering of framework-specific modeling languages
US20160283201A1 (en) Activity Diagram Model-Based System Behavior Simulation Method
CN109739740A (zh) 一种aadl模型组合形式化验证方法
Yang et al. Specification-based test repair using a lightweight formal method
CN107229478A (zh) 一种可信飞行控制系统协同开发的任务分配建模方法
CN106649094A (zh) 一种基于EventViewer开发过程中的测试方法
CN109814852A (zh) 一种分区实时操作系统的分区配置方法
Schumann et al. Verification and validation approaches for model-based software engineering
Bombieri et al. Functional qualification of TLM verification
Granda et al. Costest: A tool for validation of requirements at model level
Taguchi et al. Building a body of knowledge on model checking for software development
Ulewicz et al. Proving equivalence between control software variants for Programmable Logic Controllers
Neukirchen et al. Quality assurance for TTCN‐3 test specifications
Steenken Verification of infinite-state graph transformation systems via abstraction.
Van Deursen et al. Software quality and testing
CN106502882B (zh) 适用于城轨软件自动化测试的测试脚本设计方法
Bouwman A model-based test platform for rail signalling systems
Cline et al. Testing thread
Stürmer et al. Modeling Guidelines and Model Analysis Tools in Embedded Automotive Software Development.
Holtmann et al. Play-out for hierarchical component architectures
Sonigara et al. XANDAR: Verification & Validation Approach for Safety-critical Systems
Hafner Enhancing page object maintainability in modern automated software testing life cycles

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