Holistic Optimization for configuration of embedded software architecture : application to the AUTOSAR standard
Optimisation holistique pour la configuration d’une architecture logicielle embarquée : application au standard AUTOSAR
Résumé
AUTOSAR (AUTomotive Open System ARchitecture) has been created by automotive manufacturers, suppliers and tools developers in order to establish an open industry standard for automotive E/E(Electrical/Electronic) architectures. AUTOSAR provides a set of concepts and defines a common methodology to develop automotive software platforms. The key features of this standard are modularity and configurability of automotive software; this allows functional reuse of software modules provided by different suppliers and guarantees interoperability of these modules through standardized interfaces. However, the development of an embedded application according to AUTOSAR necessitates configuring a lot of parameters related to the large number of Software Components (SWCs), their allocations to the hardware platform and then, the configurationof each Electronic Control Unit (ECU). Different alternatives are possible during the design of such systems. Each implementation decision may impact system performance and needs therefore to be evaluated and compared against performance constraints and optimization goals. In this thesis, we introduce a holistic optimization approach to synthesizearchitecture E/E of an embedded AUTOSAR system. This approach is based on heuristic and metaheuristic methods. The metaheuristics (e.g. genetic algorithm) has the role to find the most satisfactory allocations of SWCs to ECUs. Each allocation step, two heuristics are developed to solve the problem of the ECU configuration (the number of tasks and priorities, allocation of runnables to tasks, etc.) and networks configuration (the number of messagesand priorities, allocation of data-elements to messages, etc.). In order to evaluate the performance of each allocation, we propose a new analysis method to calculate the response time of tasks, runnables, and end-to-end paths. The architectural exploration approach proposed by this thesis considers the model for periodic applications and is evaluated using generic and industrial applications.
AUTOSAR (AUTomotive Open System Architecture) est un standard industriel mondial créé en 2003 dans le but de standardiser le développement des architectures logicielles automobiles. Il fournit un ensemble de concepts et définit une méthodologie commune pour le développement des logiciels embarqués automobiles. Les principales caractéristiques de ce standard sont la modularité et la « configurabilité» de logiciels qui permettent la réutilisation fonctionnelle des modules logiciels fournis par des fournisseurs différents. Cependant,le développement d’une application embarquée AUTOSAR nécessite la configuration d’un grand nombre de paramètres liés principalement au grand nombre de composants logiciels (software component« SWC ») de l’application. Cette configuration commence par l’étape d’allocation des SWCs à la plateforme matérielle (calculateursconnectés par des réseaux), jusqu’à l’étape de configuration de chaque calculateur et du réseau de communication. Différentes alternatives sont possibles pendant ces étapes de configuration etc chaque décision de conception peut impacter les performances temporelles du système, d’où la nécessité d’automatiser ces étapes de configuration et de développer un outil d’évaluation d’architectures.Dans ce travail de thèse, nous introduisons une approche holistique d’optimisation afin de synthétiser l’architecture E/E d’un système embarqué AUTOSAR. Cette approche se base sur des méthodes métaheuristique et heuristique. La méthode métaheuristique (i.e. algorithme génétique) a le rôle de trouver les allocations les plus satisfaisantes des SWCs aux calculateurs. A chaque allocation proposée, deux méthodes heuristiques sont développées afin de résoudre le problème de la configuration des calculateurs (le nombre de tâches et ses priorités, allocation des runnables aux tâches, etc.) et des réseaux de communication (le nombre de messages et ses priorités, allocation des « data-elements » aux messages,etc.). Afin d’évaluer les performances de chaque allocation, nous proposons une nouvelle méthode d’analyse pour calculer le temps de réponse des tâches, des runnables, et de bout-en-bout de tâches/runnables. L’approche d’exploration architecturale proposée par cette thèse considère le modèle des applications périodiques et elle est évaluée à l’aide d’applications génériques et industrielles.