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 random search and solutions defined by practitioners. Our approach scales to complex industrial systems as an online analysis method that attempts to find (near-)optimal solutions within acceptable time, i.e., less than two days.
翻译:在实时系统中,分配给实时任务的优先事项取决于任务时间安排政策,从而决定任务执行的先后顺序。给任务分配最佳优先价值至关重要,以便任务完成处决,同时从规定的最后期限中最大限度地增加安全幅度。这使得实时系统能够容忍任务执行中意外的间接费用,并且仍然在最后期限之前完成。实际上,优先分配产生于开发和测试小组之间的交互过程。在本条中,我们建议一种自动化方法,目的是确定实时系统中可能的最佳优先分配,并计及安全幅度和工程限制方面的多重目标。我们的方法是以多目标、竞争性的连动算法为基础,以模拟开发和测试小组之间的互动优先分配过程。我们评估我们的方法,将它应用到不同领域的六个工业系统和几个合成系统。结果显示,我们的方法大大超过从业人员随机搜索和确定的解决办法。我们对复杂工业系统采用的方法,作为在可接受的时间内试图找到(近)最佳解决办法的在线分析方法,即不到两天。