CN110866679A - 符合do-178标准的机载软件开发流程调度方法 - Google Patents
符合do-178标准的机载软件开发流程调度方法 Download PDFInfo
- Publication number
- CN110866679A CN110866679A CN201911030007.7A CN201911030007A CN110866679A CN 110866679 A CN110866679 A CN 110866679A CN 201911030007 A CN201911030007 A CN 201911030007A CN 110866679 A CN110866679 A CN 110866679A
- Authority
- CN
- China
- Prior art keywords
- task
- completion time
- scheduling
- person
- qmin
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种符合DO‑178标准的机载软件开发流程调度方法,用于解决现有机载软件开发流程调度方法容易陷入局部最优的技术问题。技术方案是每次迭代过程是对解空间的一次搜索,多次搜索最终取最优结果。由于将基于SoftMax函数衰减的概率Min‑Min调度算法应用到符合DO‑178B/C的机载软件开发过程的任务与人员调度中,改善了原本Min‑Min调度算法的容易陷入局部最优的问题,由于增大了搜索空间,对给定66个随机生成的项目过程的实验情况表明,本发明平均情况下相比背景技术Min‑Min调度能减少8.3%的项目完成时间,而实验结果的箱形图表明该算法最差情况下也好于Min‑Min调度。
Description
技术领域
本发明涉及一种机载软件开发流程调度方法,特别涉及一种符合DO-178标准的机载软件开发流程调度方法。
背景技术
RTCA DO-178B/C,即“机载系统和设备认证的软件考虑”,是应用于机载系统安全关键软件的安全指导,是为机载软件的符合性证明和审查活动提供指导的一套标准,其目的是指导航空机载软件开发,确保机载系统中的软件可靠地运行。DO-178B/C标准是以目标为导向,涵盖整个软件研制周期的机载软件研制过程规范,它以传统的瀑布模型定义了机载软件开发过程。随着DO-178B/C标准的发展和机载软件规模的不断扩大,常见调度算法被应用到机载软件开发过程中,用于管理并合理分配任务与人力资源。例如,Hartmann,S.,&Briskorn,D.等人在文章A survey of variants and extensions of the resource-constrained project scheduling problem,European Journal of OperationalResearch,207(1),1-14(2010)中总结了资源受限的软件项目调度问题使用的调度算法。
机载软件开发过程的人员与任务分配问题是一种有资源和偏序约束的静态调度问题,该类调度问题已经被证明是一个NP-Hard问题,在多项式时间内无法获得最优解,但我们可以获得近似的较优解。针对该类问题的传统方法Min-Min算法,实质是一种贪心算法,它先尝试为当前任务集中每一个任务映射一个完成任务最快的人员,再从任务-人员的映射对中选取一个完成时间最短的映射对,并真正将任务分配给人员,如此循环直到所有任务分配完成。Min-Min算法虽然能快速给出较优解,但是容易陷入局部最优,从而不能给出整体较优的解。
发明内容
为了克服现有机载软件开发流程调度方法容易陷入局部最优的不足,本发明提供一种符合DO-178标准的机载软件开发流程调度方法。该方法每次迭代过程是对解空间的一次搜索,多次搜索最终取最优结果,加入衰减因子是为了让算法收敛于Min-Min调度,有助于算法的稳定性,由于增大了搜索空间,平均情况下能取得比Min-Min调度更优的结果,最差情况下与Min-Min调度表现相当。由于将基于SoftMax函数衰减的概率Min-Min调度算法应用到符合DO-178B/C的机载软件开发过程的任务与人员调度中,改善了原本Min-Min调度算法的容易陷入局部最优的问题,由于增大了搜索空间,对给定66个随机生成的项目过程的实验情况表明,本发明平均情况下相比背景技术Min-Min调度能减少8.3%的项目完成时间,而实验结果的箱形图表明该算法最差情况下也好于Min-Min调度。
本发明解决其技术问题所采用的技术方案:一种符合DO-178标准的机载软件开发流程调度方法,其特点是包括以下步骤:
步骤一、输入任务有向无环图的起始节点S,当前人员集合M,迭代次数I。
步骤二、初始化最优调度队列集合Qmin,初始化Qmin的完成时间为有限位整数最大值,判断当前迭代次数是否小于迭代次数I,如果当前迭代次数小于迭代次数I,则执行步骤三;如果当前迭代次数大于等于迭代次数I,输出Qmin,结束。
步骤三、依据起始节点S,初始化可分配的任务集合P、空任务队列集合Q、初始化映射集合Map<P,M>,并将所有任务节点放入链表U。
步骤四、为人员集合M中每一位人员建立一个空任务队列,并加入到集合Q中。遍历链表U,将所有前置条件为空的任务加入到集合P中
步骤五、遍历链表U,将所有前置条件为空的任务加入到集合P中
步骤六、当P不为空集时,执行以下分步骤直到P为空:
清空映射集合Map<P,M>
对于当前可分配集合P中每一个任务T:
计算当前人员集合M中每一个人员完成该任务的时间,根据完成任务时间,按照公式计算选中该人员的概率,再以随机轮盘赌的形式从所有人员中选取一个人员,作为一个任务-人员映射对加入到映射集合Map<P,M>中。
随后,将已分配的任务从可分配的任务集合P中移除,并判断已分配任务的每一个后继任务是否满足前置条件,如果满足则加入可分配任务集合P。
步骤七、计算集合Q中所有人员的任务队列最长完成时间作为Q的完成时间,判断Q的完成时间是否小于Qmin的完成时间,如果Q的完成时间小于Qmin的完成时间,则令Qmin=Q,如果Q的完成时间是否大于等于Qmin的完成时间,Qmin不变。最后迭代次数加1,返回步骤二。
本发明的有益效果是:该方法每次迭代过程是对解空间的一次搜索,多次搜索最终取最优结果,加入衰减因子是为了让算法收敛于Min-Min调度,有助于算法的稳定性,由于增大了搜索空间,平均情况下能取得比Min-Min调度更优的结果,最差情况下与Min-Min调度表现相当。由于将基于SoftMax函数衰减的概率Min-Min调度算法应用到符合DO-178B/C的机载软件开发过程的任务与人员调度中,改善了原本Min-Min调度算法的容易陷入局部最优的问题,由于增大了搜索空间,对给定66个随机生成的项目过程的实验情况表明,本发明平均情况下相比背景技术Min-Min调度能减少8.3%的项目完成时间,而实验结果的箱形图表明该算法最差情况下也好于Min-Min调度。
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1是本发明符合DO-178标准的机载软件开发流程调度方法的流程图。
具体实施方式
在描述具体步骤之前,对步骤中使用的变量和模型进行说明。
(A)DO-178B/C任务任务模型。
使用有向无环图(DAG)表示DO-178B/C标准定义的机载软件开发过程中有前置约束关系的所有任务集合。
任务流程是由任务节点构成的有向无环图T=(N,E)。T的顶点集N为任务节点的集合,代表一个满足DO-178B/C标准的机载软件开发流程中的所有任务,边集E代表任务间的前置约束关系。若边集E中含有边eij,说明任务节点Nj依赖于任务节点Ni。
任务节点Ni用六元组Ni=(Ti,Tpi,Ci,ESTi,LSTi,EFFi)表示,其中T表示任务属性的集合,包括任务名、任务ID、任务所属的阶段等、Tp是任务类型,Tpi∈{项目计划,需求,设计,编码,验证,质量保证,配置管理,合格审定},C表示任务预计的工时,EST表示任务最早开始时间,LST表示任务最晚开始时间,EFF表示任务对于人员角色组的任务效率。
(B)DO-178B/C人员模型。
使用三元组Mk=(Ik,Rk,EffTk)来描述参与项目的人员Mk∈M。其中M是所有参与项目的人员的集合,Ik是Mk的成员属性的集合,包含成员名、成员ID、成员状态等。Rk是Mk的DO-178B/C角色。其中Rk属于集合{项目管理人员,软件需求人员,软件设计人员,软件编码人员,软件验证人员,质量保证人员,配置管理人员,适航联络人员}。Effk是Mk对任务类型的效率表,Effkl表示成员Mk做l类任务的效率。
(C)调度模型。
将任务队列节点用Pi表示,Pi定义为
Pi=(Nk,Ml,STi,EDi),Nk∈N,Ml∈M (1)
pi∈Ql (2)
其中,Nk为任务节点,Ml是任务分配给人员,STi,EDi分别为任务的开始时间和结束时间。一个人员的任务队列节点的集合构成一个任务队列,所有成员的任务队列构成任务队列集合Q。Q实质上扩展自sched:N→M,即所有任务节点集合到人员集合的一个映射,即Nk与Ml满足sched(Nk)=Ml
调度问题的目标函数G的形式化描述如公式所示。
要求对于任务DAG图T=(N,E),人员集合M,存在一个调度schedmin:N→M在满足约束条件的情况下产生一个任务队列Q,使得G最小,如公式(4)所示。
该问题等价于有资源和偏序约束的静态调度问题,求出一个调度序列使得所有任务完成时间最小。该类调度问题已经被证明是一个NP-Hard问题,在多项式时间内无法获得最优解。
(D)SoftMax概率计算。
其中,LFT=max E,EFT=min E
公式(5)中集合E是参与概率计算的完成时间的集合,LFT是集合中最晚完成时间,EFT是集合中最早的完成时间。ε∈R是衰减系数,用于控制算法收敛。易推导得:当ε趋近于无穷大时,集合中最小的元素被选中的概率趋近于1。衰减系数ε的计算如式(6)所示
其中iter是当前迭代次数,itermax是最大迭代次数,K为设定的参数,K越大,集合中越小的元素被选中的概率越大,用于控制搜索的范围,K越小,搜索范围越大,K越大,搜索范围越倾向于最小值。
参照图1。本发明符合DO-178标准的机载软件开发流程调度方法具体步骤如下:
步骤一、输入任务有向无环图的起始节点S,当前人员集合M,迭代次数I。
步骤二、初始化最优调度队列集合Qmin,初始化Qmin的完成时间为最大值,判断当前迭代次数是否小于迭代次数I,如果小于迭代次数I,则执行步骤三,如果大于等于迭代次数I则输出Qmin,结束。
步骤三、依据起始节点S,初始化可分配的任务集合P、空任务队列集合Q、初始化映射集合Map<P,M>,并将所有任务节点放入链表U。
步骤四、为人员集合M中每一位人员建立一个空任务队列,并加入到集合Q中。遍历链表U,将所有前置条件为空的任务加入到集合P中
步骤五、遍历链表U,将所有前置条件为空的任务加入到集合P中
步骤六、当P不为空集时,执行以下小步骤直到P为空:
清空映射集合Map<P,M>
对于当前可分配集合P中每一个任务T:
计算当前人员集合M中每一个人员完成该任务的时间,根据完成任务时间,按照公式(5)计算选中该人员的概率,再以随机轮盘赌的形式从所有人员中选取一个人员,作为一个任务-人员映射对加入到映射集合Map<P,M>中。
根据完成任务时间与公式(5)计算当前映射集合Map<P,M>中每一个映射被选中的概率,再以随机轮盘赌的形式从所有映射中选取一个映射,将该映射中的任务实际分给与其关联的人员的任务队列中。
随后,将已分配的任务从可分配的任务集合P中移除,并判断已分配任务的每一个后继任务是否满足前置条件,如果满足则加入可分配任务集合P。
步骤七:计算集合Q中所有人员的任务队列最长完成时间作为Q的完成时间,判断Q的完成时间是否小于Qmin的完成时间,如果小于Qmin的完成时间,令Qmin=Q,迭代次数加1,返回步骤二。
该算法为满足一个任务分配时,其前置任务必须全部完成的约束,采用逐步扩展可分配顶点集的方式遍历有向无环图。对于可分配顶点集中的所有顶点,基于SoftMax函数衰减的概率Min-Min调度算法尝试将其依次按照公式(5)计算的概率随机分配到任务队列中,并记录该次分配的任务节点到任务队列的映射。若顶点集中所有顶点分配完成,从该次映射的集合中,按照公式(5)计算的概率,随机选择一次任务节点到任务队列的映射,并将该任务节点实际分配给该任务队列。
Claims (1)
1.一种符合DO-178标准的机载软件开发流程调度方法,其特征在于包括以下步骤:
步骤一、输入任务有向无环图的起始节点S,当前人员集合M,迭代次数I;
步骤二、初始化最优调度队列集合Qmin,初始化Qmin的完成时间为有限位整数最大值,判断当前迭代次数是否小于迭代次数I,如果当前迭代次数小于迭代次数I,则执行步骤三;如果当前迭代次数大于等于迭代次数I,输出Qmin,结束;
步骤三、依据起始节点S,初始化可分配的任务集合P、空任务队列集合Q、初始化映射集合Map<P,M>,并将所有任务节点放入链表U;
步骤四、为人员集合M中每一位人员建立一个空任务队列,并加入到集合Q中;遍历链表U,将所有前置条件为空的任务加入到集合P中;
步骤五、遍历链表U,将所有前置条件为空的任务加入到集合P中;
步骤六、当P不为空集时,执行以下分步骤直到P为空:
清空映射集合Map<P,M>,
对于当前可分配集合P中每一个任务T:
计算当前人员集合M中每一个人员完成该任务的时间,根据完成任务时间,按照公式计算选中该人员的概率,再以随机轮盘赌的形式从所有人员中选取一个人员,作为一个任务-人员映射对加入到映射集合Map<P,M>中;
随后,将已分配的任务从可分配的任务集合P中移除,并判断已分配任务的每一个后继任务是否满足前置条件,如果满足则加入可分配任务集合P;
步骤七、计算集合Q中所有人员的任务队列最长完成时间作为Q的完成时间,判断Q的完成时间是否小于Qmin的完成时间,如果Q的完成时间小于Qmin的完成时间,则令Qmin=Q,如果Q的完成时间是否大于等于Qmin的完成时间,Qmin不变;最后迭代次数加1,返回步骤二。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911030007.7A CN110866679B (zh) | 2019-10-28 | 2019-10-28 | 符合do-178标准的机载软件开发流程调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911030007.7A CN110866679B (zh) | 2019-10-28 | 2019-10-28 | 符合do-178标准的机载软件开发流程调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110866679A true CN110866679A (zh) | 2020-03-06 |
CN110866679B CN110866679B (zh) | 2023-05-02 |
Family
ID=69653408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911030007.7A Active CN110866679B (zh) | 2019-10-28 | 2019-10-28 | 符合do-178标准的机载软件开发流程调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866679B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630252A (zh) * | 2009-07-07 | 2010-01-20 | 中国科学院软件研究所 | 一种基于过程仿真技术进行软件项目进度控制的方法 |
CN101923464A (zh) * | 2010-05-19 | 2010-12-22 | 上海爱韦讯信息技术有限公司 | Do-178b标准文档生成器 |
US20160335583A1 (en) * | 2015-05-14 | 2016-11-17 | Atlassian Pty Ltd | Systems and Methods for Scheduling Work Items |
CN110098964A (zh) * | 2019-04-29 | 2019-08-06 | 武汉大学 | 一种基于蚁群算法的部署优化方法 |
-
2019
- 2019-10-28 CN CN201911030007.7A patent/CN110866679B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630252A (zh) * | 2009-07-07 | 2010-01-20 | 中国科学院软件研究所 | 一种基于过程仿真技术进行软件项目进度控制的方法 |
CN101923464A (zh) * | 2010-05-19 | 2010-12-22 | 上海爱韦讯信息技术有限公司 | Do-178b标准文档生成器 |
US20160335583A1 (en) * | 2015-05-14 | 2016-11-17 | Atlassian Pty Ltd | Systems and Methods for Scheduling Work Items |
CN110098964A (zh) * | 2019-04-29 | 2019-08-06 | 武汉大学 | 一种基于蚁群算法的部署优化方法 |
Non-Patent Citations (1)
Title |
---|
SÖNKE HARTMANN 等: "A survey of variants and extensions of the resource-constrained project scheduling problem", EUROPEAN JOURNAL OF OPERATIONAL RESEARCH * |
Also Published As
Publication number | Publication date |
---|---|
CN110866679B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106134136B (zh) | 计算针对广域网上的数据传送的长期调度 | |
CN109753356A (zh) | 一种容器资源调度方法、装置及计算机可读存储介质 | |
CN111106999A (zh) | 一种ip-光网络通信业务联合分配方法及装置 | |
CN110825527B (zh) | 一种云环境下截止期-预算驱动的科学工作流调度方法 | |
CN109409763B (zh) | 基于贪婪式分组策略的动态测试任务调度方法及调度平台 | |
Ashouraei et al. | A new SLA-aware load balancing method in the cloud using an improved parallel task scheduling algorithm | |
CN110414826B (zh) | 一种云制造环境下柔性多任务前摄性调度优化方法 | |
CN104077634A (zh) | 基于多目标优化的主动-反应式动态项目调度方法 | |
Brunner et al. | Bounded flexibility in days‐on and days‐off scheduling | |
CN110866679A (zh) | 符合do-178标准的机载软件开发流程调度方法 | |
CN112415959B (zh) | 边云协同的工业信息物理系统主动安全响应方法及架构 | |
CN112183918B (zh) | 一种输电线路在线巡检作业计划的智能生成方法 | |
CN116167595B (zh) | 一种人员组决策变量的确定方法、电子设备及存储介质 | |
Römer et al. | Future Demand Uncertainty In Personnel Scheduling: Investigating Deterministic Lookahead Policies Using Optimization And Simulation. | |
CN113992520B (zh) | 一种虚拟网络资源的部署方法和系统 | |
CN115511269A (zh) | 一种任务模型驱动的无人集群指挥控制模拟方法 | |
Kamalinia et al. | Hybrid task scheduling method for cloud computing by genetic and PSO algorithms | |
CN114611401A (zh) | 多层级复杂业务智能仿真方法与系统 | |
Rigas et al. | Scheduling aerial vehicles in an urban air mobility scheme | |
CN111008788B (zh) | 一种基于改进离散头脑风暴优化算法的引航员指派方法 | |
Zhang et al. | Dynamic VNF scheduling: a deep reinforcement learning approach | |
CN111260252A (zh) | 一种电力通信网现场运维作业工单调度方法 | |
CN115731748B (zh) | 航班跑道排序方法及存储介质 | |
US20240037646A1 (en) | Distributed computer system and method enabling application of autonomous agents | |
Krishnan et al. | A Hybrid Approach of Memetic and Bees Life Algorithm for Multiobjective Workflow Scheduling in Cloud. |
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 |