Architecture Exploration of Real-time Systems Based on Multi-Objective Optimization
Résumé
This article deals with real-time embedded system design and verification. Real-time embedded systems are frequently
designed according to multi-tasking architectures that have timing constraints to meet. The design of real-time embedded
systems expressed as a set of tasks raises a major challenge since designers have to decide how functions of the system must
be assigned to tasks. Assigning each function to a different task will result in a high number of tasks, and then in higher
preemption overhead. In contrast, mapping many functions on a limited number of tasks leads to a less flexible design which
is more expensive to change when the functions of the system evolve. This article presents a method based on an optimization
technique to investigate the assignment of functions to tasks. We propose a multi-objective evolution strategy formulation which
both minimizes the number of preemptions and maximizes task laxities. Our method allows designers to explore the search space
of all possible function to task assignments and to find good tradeoffs between the two optimization objectives among schedulable
solutions. After explaining our mapping approach, we present a set of experiments which demonstrates its effectiveness for
different system sizes.