Lee Jaekwon, Shin Seung Yeob, Nejati Shiva, Briand Lionel C
SnT, University of Luxembourg, Kirchberg, Luxembourg.
University of Ottawa, Ottawa, Canada.
Empir Softw Eng. 2022;27(6):142. doi: 10.1007/s10664-022-10170-1. Epub 2022 Aug 6.
In real-time systems, priorities assigned to real-time tasks determine the order of task executions, by relying on an underlying task scheduling policy. Assigning optimal priority values to tasks is critical to allow the tasks to complete their executions while maximizing safety margins from their specified deadlines. This enables real-time systems to tolerate unexpected overheads in task executions and still meet their deadlines. In practice, priority assignments result from an interactive process between the development and testing teams. In this article, we propose an automated method that aims to identify the best possible priority assignments in real-time systems, accounting for multiple objectives regarding safety margins and engineering constraints. Our approach is based on a multi-objective, competitive coevolutionary algorithm mimicking the interactive priority assignment process between the development and testing teams. We evaluate our approach by applying it to six industrial systems from different domains and several synthetic systems. The results indicate that our approach significantly outperforms both our baselines, i.e., random search and sequential search, and solutions defined by practitioners. Our approach scales to complex industrial systems as an offline analysis method that attempts to find near-optimal solutions within acceptable time, i.e., less than 16 hours.
在实时系统中,分配给实时任务的优先级通过依赖底层任务调度策略来确定任务执行的顺序。为任务分配最优优先级值对于确保任务在最大限度地提高与指定截止日期的安全裕度的同时完成执行至关重要。这使得实时系统能够容忍任务执行中意外的开销并仍然满足其截止日期。在实践中,优先级分配是开发团队和测试团队之间交互过程的结果。在本文中,我们提出了一种自动化方法,旨在考虑关于安全裕度和工程约束的多个目标,识别实时系统中最佳的优先级分配。我们的方法基于一种多目标竞争协同进化算法,该算法模仿开发团队和测试团队之间的交互式优先级分配过程。我们通过将其应用于来自不同领域的六个工业系统和几个合成系统来评估我们的方法。结果表明,我们的方法显著优于我们的基线,即随机搜索和顺序搜索,以及从业者定义的解决方案。作为一种离线分析方法,我们的方法能够扩展到复杂的工业系统,试图在可接受的时间内(即少于16小时)找到接近最优的解决方案。