CN112631559A - 一种基于模型开发中的软件架构和调度设计方法 - Google Patents
一种基于模型开发中的软件架构和调度设计方法 Download PDFInfo
- Publication number
- CN112631559A CN112631559A CN202011547333.8A CN202011547333A CN112631559A CN 112631559 A CN112631559 A CN 112631559A CN 202011547333 A CN202011547333 A CN 202011547333A CN 112631559 A CN112631559 A CN 112631559A
- Authority
- CN
- China
- Prior art keywords
- model
- scheduling
- design
- task
- software
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于模型开发中的软件架构和调度设计方法,包括:得出初步的任务调度时序;完成功能逻辑模型,并对设计模型进行模型开环仿真验证;在SCADE中设计模型调度器,对功能逻辑进行任务切分,形成调度逻辑模型;对调度逻辑模型进行WCET分析,识别出其中的设计缺陷并进行调度设计模型优化;对调度逻辑模型进行任务调度仿真,判断最终的任务运行是否符合最初的设计。本发明将架构设计和任务调度前移到设计建模阶段,充分发挥SCADE做安全关键软件的优势,最终在软件模型设计中真实反应软件调度时序,保证架构设计的合理性和安全性,充分发挥MBD技术的优势,从而切实提高软件设计质量和效率。
Description
技术领域
本发明属于航发发动机数控系统控制软件设计技术领域,涉及软件架构设计、基于模型的软件开发(MBD)和任务调度设计方法,具体涉及一种基于模型开发中的软件架构和调度设计方法。
背景技术
航空发动机FADEC控制系统是典型的实时系统,实时系统的正确性不仅取决于它所产生的输出,同时取决于输出的时间。实时系统的结果只有在规定的时间范围内完成才是有效的。在发动机控制中,一种比较常见的情况是存在多速率任务,即在一个CPU中同时存在多个周期任务,比如一个控制通道(CPU)中可能会存在5ms小周期任务和20ms大周期任务,此外,还可能存在100ms监视任务等其他周期任务。对这种多速率任务的设计,传统上是采用单调多速率调度方法,该方法存在大周期任务运行时刻不确定的问题。当前方法采用任务切片,将大周期切片并固定的小周期中去执行,可获得任务运行时的确定性。
传统上,基于模型的软件开发(MBD)中在设计上通常是进行功能逻辑设计,然后将功能逻辑模型生成代码并集成到手工代码中,由手工代码的进行任务调度。这种设计方法在设计段(模型设计)和实现段(编码)割裂了功能逻辑设计和任务调度设计,没能在设计段就将模型静态架构(功能逻辑)和动态架构(调度逻辑)统一起来,因此无法真正充分发挥MBD的模型设计和早期仿真验证能力。
发明内容
发明目的:为了克服现有技术中存在的不足,提供一种基于模型开发中的软件架构和调度设计方法,利用SCADE的定周期仿真机制和安全关键特性,在软件设计阶段开展完整的逻辑功能和调度功能设计,解决了模型层级的架构设计,是基于模型的软件开发中的关键技术,也是提升FADEC软件设计能力、设计质量和研发效率的有效手段。
技术方案:为实现上述目的,本发明提供一种基于模型开发中的软件架构和调度设计方法,包括如下步骤:
S1:对整个软件的时序进行分析、切分和规划,得出初步的任务调度时序;
S2:在SCADE中进行软件模型设计,完成具体的功能逻辑模型,并对设计模型进行模型开环仿真验证,根据仿真结果进行模型修改和优化,直至所有功能逻辑模型都符合需求。
S3:在SCADE中设计模型调度器,对功能逻辑进行任务切分,将各个部件中的具体功能逻辑模块根据实际功能需要分布到不同周期任务中,通过模型调度器对不同切片任务进行调度,形成调度逻辑模型;
S4:对调度逻辑模型进行WCET分析,识别出其中的设计缺陷并进行调度设计模型优化;直至各个切片任务达到任务负载平衡,WCET控制到要求的范围内容。
S5:对调度逻辑模型进行任务调度仿真,判断最终的任务运行是否符合最初的设计,若不符合,则返回步骤S3对任务调度模型进行改进优化,若符合,则完成软件的设计。
进一步的,所述步骤S2中功能逻辑模型在架构上划分为ISM、FPM、CLM、EWM和OSM模块。
进一步的,所述步骤S1中任务调度时序的设计方法为:
将SCADE建模仿真工具中的仿真周期视为基准时钟,用该基准时钟调制相应的速率组,将调制出的速率组划分为若干个时间片,通过任务切片技术将大周期任务分解到时间片中运行,在模型设计中得到任务调度时序。
进一步的,所述任务调度时序中划分的时间片数量为四个。
本发明提出一种MBD中软件架构设计方法,不再仅仅将SCADE建模仿真工具中的仿真周期纯粹当作仿真周期用,而是视为基准时钟,用该基准时钟调制相应的速率组,调制出速率分别为5ms和20ms的两个速率任务,通过任务切片技术将20ms任务分解到四个5ms时间片中运行,在模型设计中规划的软件任务调度时序,并通过模型最坏执行时间(WCET,WorstCase Execution Time)分析技术对设计模型进行WCET分析,并结合模型动态仿真,对模型调度逻辑进行优化迭代,最终实现任务负载均衡,以满足设计要求,充分发挥MBD的建模、WCET和仿真等能力,保证架构设计的合理性和安全性。
有益效果:本发明与现有技术相比,将架构设计和任务调度前移到设计建模阶段,充分发挥SCADE做安全关键软件的优势,在进行设计建模时,综合使用模型调度设计、任务切片、模型仿真和WCET分析等技术能力,最终在软件模型设计中真实反应软件调度时序,保证架构设计的合理性和安全性,充分发挥MBD技术的优势,从而切实提高软件设计质量和效率。
附图说明
图1为本发明方法的流程示意图;
图2为多周期任务切片调度示意图;
图3为任务切分和调度逻辑模型图;
图4为模型WCET分析示意图;
图5为软件任务执行时序规划图;
图6为大周期任务划分和调度示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提供一种基于模型开发中的软件架构和调度设计方法,如图1所示,包括如下步骤:
第一步:对整个软件的时序进行分析,切分和规划,得出初步的任务调度时序图,具体如图2所示。
第二步:根据高层需求在SCADE中进行软件模型设计,完成具体的功能逻辑模型,并依据高层需求对设计模型进行模型开环仿真验证,根据仿真结果进行模型修改和优化,直至所有功能逻辑模型都符合高层需求。
第三步:在SCADE中设计模型调度器,对功能逻辑进行任务切分,将各个部件中的具体功能逻辑模块根据实际功能需要分布到不同周期任务中,通过模型调度器对不同切片任务进行调度,具体可参考图3。
第四步,对调度逻辑模型进行WCET分析(静态分析方法),识别出其中的设计缺陷并进行调度设计模型优化,直至各个切片任务达到任务负载基本平衡,WCET控制到要求的范围内容,具体可参考图4和表1。
表1 20ms任务切片WCET分析结果
第五步,对调度逻辑模型进行任务调度仿真(动态仿真方法),判断最终的任务运行是否符合最初的设计,若不符合,则返回第三步对任务调度模型进行改进优化,若符合,则完成软件的设计。
基于上述方法,本实施例中为了为解决多速率任务调度中的时间确定性问题,将大周期任务(20ms任务)划分切片,切片运行在4个小周期任务(5ms)中。因此,在软件中实际上仅存在一个5ms周期任务,在5ms时间内,控制软件必须完成小周期任务,同时还完成一部分大周期切分后的子任务,任务执行时序具体见图5。
本实施例中在SCADE建模仿真环境中进行模型设计,大周期任务在功能上参照FADEC软件的应用软件统一框架,按照功能逻辑在架构上划分为ISM、FPM、CLM、EWM和OSM模块,开展逻辑功能模型设计,并依据高层需求对功能模型进行开环仿真验证,然后根据实际信号处理、控制和调度的需要,将这些逻辑功能模型切片分布到4个子任务中(对应图中4个子任务),这4个子任务由一个时钟调度器模型进行调度,具体见图6。
参照图1,完成大周期任务切片后和集成后,通过SCADE模型WCET技术对整个模型进行WCET分析,分析任务切分的合理性和小周期任务的总耗时,并根据WCET结果对模型设计进行迭代优化。最后,对整个设计模型进行模型动态仿真,分析仿真结果的合理,通过迭代优化设计,最终得到期望的设计模型。
Claims (4)
1.一种基于模型开发中的软件架构和调度设计方法,其特征在于:包括如下步骤:
S1:对整个软件的时序进行分析、切分和规划,得出初步的任务调度时序;
S2:在SCADE中进行软件模型设计,完成具体的功能逻辑模型,并对设计模型进行模型开环仿真验证,根据仿真结果进行模型修改和优化,直至所有功能逻辑模型都符合需求;
S3:在SCADE中设计模型调度器,对功能逻辑进行任务切分,将各个部件中的具体功能逻辑模块根据实际功能需要分布到不同周期任务中,通过模型调度器对不同切片任务进行调度,形成调度逻辑模型;
S4:对调度逻辑模型进行WCET分析,识别出其中的设计缺陷并进行调度设计模型优化;
S5:对调度逻辑模型进行任务调度仿真,判断最终的任务运行是否符合最初的设计,若不符合,则返回步骤S3对任务调度模型进行改进优化,若符合,则完成软件的设计。
2.根据权利要求1所述的一种基于模型开发中的软件架构和调度设计方法,其特征在于:所述步骤S2中功能逻辑模型在架构上划分为ISM、FPM、CLM、EWM和OSM模块。
3.根据权利要求1所述的一种基于模型开发中的软件架构和调度设计方法,其特征在于:所述步骤S1中任务调度时序的设计方法为:
将SCADE建模仿真工具中的仿真周期视为基准时钟,用该基准时钟调制相应的速率组,将调制出的速率组划分为若干个时间片,通过任务切片技术将大周期任务分解到时间片中运行,在模型设计中得到任务调度时序。
4.根据权利要求3所述的一种基于模型开发中的软件架构和调度设计方法,其特征在于:所述任务调度时序中划分的时间片数量为四个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547333.8A CN112631559A (zh) | 2020-12-24 | 2020-12-24 | 一种基于模型开发中的软件架构和调度设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547333.8A CN112631559A (zh) | 2020-12-24 | 2020-12-24 | 一种基于模型开发中的软件架构和调度设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112631559A true CN112631559A (zh) | 2021-04-09 |
Family
ID=75324301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011547333.8A Withdrawn CN112631559A (zh) | 2020-12-24 | 2020-12-24 | 一种基于模型开发中的软件架构和调度设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631559A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024040930A1 (zh) * | 2022-08-24 | 2024-02-29 | 华为云计算技术有限公司 | 一种软件部署架构的管理方法以及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174164A1 (en) * | 2001-05-17 | 2002-11-21 | Kunihiko Hayashi | Task allocation time decision apparatus and method of deciding task allocation time |
US7451447B1 (en) * | 1998-08-07 | 2008-11-11 | Arc International Ip, Inc. | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls |
CN102508704A (zh) * | 2011-11-10 | 2012-06-20 | 上海市共进通信技术有限公司 | 计算机软件系统中实现任务分解和并行处理控制的方法 |
CN110311965A (zh) * | 2019-06-21 | 2019-10-08 | 长沙学院 | 一种云计算环境下的任务调度方法及系统 |
CN111061248A (zh) * | 2019-12-12 | 2020-04-24 | 东风电驱动系统有限公司 | 一种基于时间片切片的任务调度系统及方法 |
CN111176613A (zh) * | 2019-12-25 | 2020-05-19 | 中国运载火箭技术研究院 | 基于体系结构模型的协同任务自动分解系统 |
CN111885160A (zh) * | 2020-07-23 | 2020-11-03 | 中国航发控制系统研究所 | 基于网络通讯的燃机控制软件时序任务调度方法 |
-
2020
- 2020-12-24 CN CN202011547333.8A patent/CN112631559A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451447B1 (en) * | 1998-08-07 | 2008-11-11 | Arc International Ip, Inc. | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls |
US20020174164A1 (en) * | 2001-05-17 | 2002-11-21 | Kunihiko Hayashi | Task allocation time decision apparatus and method of deciding task allocation time |
CN102508704A (zh) * | 2011-11-10 | 2012-06-20 | 上海市共进通信技术有限公司 | 计算机软件系统中实现任务分解和并行处理控制的方法 |
CN110311965A (zh) * | 2019-06-21 | 2019-10-08 | 长沙学院 | 一种云计算环境下的任务调度方法及系统 |
CN111061248A (zh) * | 2019-12-12 | 2020-04-24 | 东风电驱动系统有限公司 | 一种基于时间片切片的任务调度系统及方法 |
CN111176613A (zh) * | 2019-12-25 | 2020-05-19 | 中国运载火箭技术研究院 | 基于体系结构模型的协同任务自动分解系统 |
CN111885160A (zh) * | 2020-07-23 | 2020-11-03 | 中国航发控制系统研究所 | 基于网络通讯的燃机控制软件时序任务调度方法 |
Non-Patent Citations (2)
Title |
---|
FRIEDHELM STAPPERT等: "Efficient Longest Executable Path Search for Programs with Complex Flows and Pipeline Effects", 《PROCEEDINGS OF THE 2001 INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURE, AND SYNTHESIS FOR EMBEDDED SYSTEMSNOVEMBER》, pages 132 - 140 * |
张合军: "基于SCADE的无人机飞行控制系统软件设计", 《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》, no. 06, pages 031 - 109 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024040930A1 (zh) * | 2022-08-24 | 2024-02-29 | 华为云计算技术有限公司 | 一种软件部署架构的管理方法以及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1825427A2 (en) | Systems and methods for production planning analysis using discrete event simulation | |
US8000946B2 (en) | Discrete event simulation with constraint based scheduling analysis | |
CN113868120A (zh) | 工业软件调试方法、装置、计算机设备和存储介质 | |
CN112631559A (zh) | 一种基于模型开发中的软件架构和调度设计方法 | |
CN114169531A (zh) | 一种组态化机器学习建模任务描述的预测方法及系统 | |
CN110597718A (zh) | 一种基于ai的自动化测试实现方法和系统 | |
CN109800776A (zh) | 素材标注方法、装置、终端和计算机可读存储介质 | |
Eusse et al. | Pre-architectural performance estimation for ASIP design based on abstract processor models | |
Tyrin et al. | Multi-agent system “Smart Factory” for real-time workshop management: Results of design & implementation for Izhevsk Axion-Holding Factory | |
CN117235527A (zh) | 端到端容器化的大数据模型构建方法、装置、设备及介质 | |
EP2045679A1 (en) | A system and method for checking the consistency of a production schedule within a manufacturing execution system | |
Mirzapourrezaei et al. | Simulation of a manufacturing assembly line based on witness | |
Ulrich et al. | Operator timing of task level primitives for use in computation-based human reliability analysis | |
Pepe et al. | Development of a framework for improving engineering processes | |
KR20120133362A (ko) | 로딩 시뮬레이션 기반 동적 피드백 스케줄링 알고리즘을 장착한 최적화된 생산 스케줄링 시스템 | |
CN111273901B (zh) | 一种可快捷上线部署的机器学习模型的文件格式及部署方法 | |
CN113392436A (zh) | 一种cae分析软件和办公软件集成化控制方法及平台 | |
JP2013020580A (ja) | 並列化方法、システム、及びプログラム | |
US20200019910A1 (en) | Block-based prediction for manufacturing environments | |
Shailesh et al. | A study on performance evaluation of computer systems using Petri Nets | |
Wang et al. | A Data Driven Modeling and Simulation Methodology for Automotive Assembly Plant | |
CN112506609B (zh) | 一种嵌入式系统时序仿真分析的场景刻画方法 | |
KR102643073B1 (ko) | 지능형 업무 처리 자동화 시스템 및 그 구동방법 | |
Chen | Discussion on How to Innovate and Improve the Computer Software Engineering Management | |
Verriet et al. | Experiences and Lessons from Introducing Model-Based Analysis in Brown-Field Product Family Development. |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210409 |
|
WW01 | Invention patent application withdrawn after publication |