Summary: | Le contexte de ce travail est l'assistance à la conception de systèmes embarqués, et particulièrement de Systems on Chip (SoC). Les domaines d'application concernés sont variés: avionique, téléphones portables, automobile. La complexité de ces systèmes, et leur interaction forte avec leur environnement, posent des problème de maîtrise de la conception (pour éviter les détections d'erreurs tardives, les diagnostics et réparations coûteux en moyens, mais aussi en temps de mise sur le marché), et de validation ou certification pour les systèmes à sûreté critique (qui doivent être vérifiés avant leur mise en service). Il s'en suit un fort besoin de méthodes et d'outils pour assister la conception sûre de ces systèmes, qui prennent la forme de méthodologies et de modèles à base de composants, de langages de spécification de haut niveau, d'outils de transformation et compilation, d'analyse et de vérification, de synthèse et génération de code. Dans ce contexte, une contribution est une proposition d'un modèle intermédiaire entre les systèmes de calculs dans le cadre du parallélisme de données intensif et les langages formels. Ce modèle intermédiaire permet la génération du code en langages formel à partir de ces systèmes dans le cadre ingénierie dirigé par les modèles. La validation formelle et l'analyse statique est donc possible sur la base du code généré. Une autre contribution est une proposition de mécanismes de contrôle dans le même cadre, sous forme de constructeurs de langage de haut-niveau et de leur sémantique. On veut les définir pour leur exploitation dans la vérification, synthèse et génération de code. Il s'agit de déterminer un niveau d'abstraction de représentation des systèmes où soit extraite la partie contrôle, et de la modéliser sous forme d'automates à états finis. Ceci permet de spécifier et implémenter des changements de modes calculs, qui se distinguent par exemple par les ressources utilisées, la qualité du service fourni, le choix d'algorithme remplissant une fonctionnalité. Cette abstraction est alors favorable à l'application d'outils d'analyse et vérification (de type model checking). On s'intéressera aussi à l'utilisation de techniques de synthèse de contrôleurs discrets, qui peut assurer la correction de façon constructive: à partir d'une spécification partielle du contrôle, elle calcule la partie manquante pour que les propriétés soient satisfaites. L'avantage pour le développement de la partie contrôle est dans la simplification de la spécification, et la correction par construction du résultat. Ce travail se fera en articulation avec des travaux déjà commencés sur la proposition d'une méthodologie de séparation contrôle/donnée! de mécanismes de contrôle, et leur intégration dans l'environnement de conception de systèmes à parallélisme de données intensif Gaspard. On travaillera dans le cadre des modèles de systèmes réactifs proposés par l'approche synchrone, de ses langages de programmation à base d'automates, et de ses outils académiques et commerciaux. En étude de cas, on s'intéressera à des applications en systèmes embarqués téléphone portable multimédia. === The work presented in this dissertation is carried out in the context of System-on-Chip (SoC) and embedded system design, particularly dedicated to data-parallel intensive processing applications (DIAs). Examples of such applications are found in multimedia processing and signal processing. On the one hand, safe design of DIAs is considered to be important due to the need of Quality of Service, safety criticality, etc., in these applications. However, the complexity of current embedded systems makes it difficult to meet this requirement. On the other hand, high-Ievel safe control, is highly demanded in order to ensure the correctness and strengthen the flexibility and adaptivity of DIAs. As an answer to this issue, we propose to take advantage of synchronous languages to assist safe DIAs design. First, a synchronous modeling bridges the gap between the Gaspard2 framework, which is dedicated to SoC design for DIAs, and synchronous languages that act as a model of computation enabling formal validation. The latter, together with their tools, enable high-Ievel validation of Gaspard2 specifications. Secondly, a reactive extension to a previous control proposition in Gaspard2, is also addressed. This extension is based on mode automata and contributes to conferring safe and verifiable features onto the previous proposition. As a result, model checking and discret controller synthesis can be applied for the purpose of correctness verification. Finally, a Model-Driven Engineering (MDE) approach is adopted in order to implement and validate our proposition, as well as benefit fron the advantages of MDE to address system complexity and productivity issues. Synchronous modeling, MARTE-based (the UML profile fo Modeling and Analysis of Real-Time and Embedded system) control modeling, and model transformations, including code generation, are dealt with in the implementation.
|