Optimal priority assignment for real-time systems: a coevolution-based approach
Open Access
- 6 August 2022
- journal article
- research article
- Published by Springer Nature in Empirical Software Engineering
- Vol. 27 (6) , 1-49
Abstract
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.Keywords
All Related Versions
Funding Information
- European Research Council (694277)
- Natural Sciences and Engineering Research Council of Canada
- Natural Sciences and Engineering Research Council of Canada
This publication has 73 references indexed in Scilit:
- Achieving scalable model-based testing through test case diversityACM Transactions on Software Engineering and Methodology, 2013
- A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineeringSoftware Testing, Verification and Reliability, 2012
- Adaptive Random Testing: The ART of test case diversityJournal of Systems and Software, 2010
- A fast and elitist multiobjective genetic algorithm: NSGA-IIIEEE Transactions on Evolutionary Computation, 2002
- Weakly hard real-time systemsIEEE Transactions on Computers, 2001
- Approximating the Nondominated Front Using the Pareto Archived Evolution StrategyEvolutionary Computation, 2000
- Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approachIEEE Transactions on Evolutionary Computation, 1999
- Assignment and scheduling communicating periodic tasks in distributed real-time systemsIEEE Transactions on Software Engineering, 1997
- An extendible approach for analyzing fixed priority hard real-time tasksReal-Time Systems, 1994
- On a Test of Whether one of Two Random Variables is Stochastically Larger than the OtherThe Annals of Mathematical Statistics, 1947