-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2011-2012/ALSOC/Analyse de la robustesse de circuits soumis à des fautes transitoires : classification du type de robustesse Print page

Analyse de la robustesse de circuits soumis à des fautes transitoires : classification de la robustesse

Contact : emmanuelle.encrenaz(at)lip6(.)fr, denis.poitrenaud(at)lip6(.)fr

 

Contexte et positionnement

La robustesse d’un système caractérise la capacité de ce dernier à réagir « convenablement » même lorsqu’il évolue dans un environnement perturbé. Les perturbations peuvent provenir d’un environnement inadapté ou partiellement défaillant, ou bien produisant des pics de tension qui modifient l’état interne du système. L’analyse des capacités de robustesse d’un système est un problème important qui intervient dans les différentes étapes de conception d’un système intégré sur puce : d’un point de vue algorithmique lors des différentes étapes de spécification et raffinements et dans la mise en œuvre de mécanisme de protection par blindage ou redondance au niveau du circuit implanté.

L'équipe LabSoC de Telecom ParisTech développe un environnement appelé DIPLODOCUS [AM+06], dont l'objectif principal est la conception et le partitionnement de système sur puces et de systèmes intégrés, à un haut niveau d'abstraction, et selon l'approche dite en "Y" (Application, architecture, mapping). Plus précisément, l'environnement DIPLODOCUS propose de décrire l'application sous la forme de tâches abstraites communicantes. Le langage permettant de décrire ces tâches se focalise sur le contrôle : par exemple, les données sont abstraites, seuls des nombres d'échantillons de données peuvent être échangés entre tâches via des canaux de communication. L'architecture matérielle est décrite indépendamment de l'application sous la forme de noeuds matériels abstraits: noeuds d'exécution (e.g., CPU, accélérateurs matériels), noeuds de communication (i.e., bus) et noeuds de stockage (par exemple, mémoires). L'ensemble de ces abstractions permet de réaliser des simulations extrêmement rapides [KA+09] et des vérifications formelles [KA+10], soit sur l'application directement, soit sur la projection de cette application sur une architecture matérielle. L'ensemble de l'approche est implantée sous la forme d'un profil UML supporté par l'outil open-source TTool [A+08].

Les équipes ALSOC et MOVE du LIP6 ont développé, dans le cadre du projet ANR FME3, un cadre méthodologique permettant l’analyse de robustesse de circuits décrits au niveau RTL et soumis à des fautes transitoires [BB+09]. A l’issue de ce projet, différentes classes de robustesse ont été définies, ainsi que les outils algorithmiques de mesure de robustesse associés ; les expérimentations menées sur différents circuits décrits au niveau RTL montrent la pertinence de l’approche [BB+10].

Dans la pratique, la conception de systèmes complexes suit une méthodologie dans laquelle les applications sont initialement décrites à un niveau d’abstraction bien plus haut que le niveau RTL : ce dernier apparaît une fois que les choix architecturaux et de partitionnement ont été effectués. Il est intéressant d’analyser la robustesse d’un système dès les premières étapes de sa conception, et d’étudier comment le cadre méthodologique mis en place au niveau RTL peut évoluer pour des systèmes plus abstraits.

Finalité du stage

Le travail demandé consiste à étendre la plate-forme d’analyse de robustesse adaptée pour les descriptions RTL pour l’analyse de systèmes plus abstraits.

Les études menées jusqu’à présent nous ont confortés dans l’idée que la classification définie dans le cadre du projet FME3 peut être affinée. La classification considère 4 classes, allant de l’équivalence observationnelle avec le modèle de référence (classe 1, la plus stricte et la plus difficile à vérifier) à la classe 4 qui indique qu’après une période de perturbations pendant laquelle des fautes surviennent, le système retombera inévitablement dans un ensemble d’états corrects (que l’on peut paramétrer). La classe 3 a des applications pratiques mais reste difficile à vérifier, la classe 4 nécessite que l’utilisateur définisse précisément l’ensemble des états corrects à atteindre, et cet ensemble peut ne pas être simplement définissable ; par contre l’analyse de cette classe est plus aisée. Nous souhaitons investiguer la possibilité de définir une classe de robustesse intermédiaire aux classes 3 et 4 offrant un pouvoir d’expression suffisant pour les utilisateurs et offrant une complexité d’analyse intermédiaire aux classes 3 et 4.

Déroulement du stage

1.      Etude des modèles et outils d’analyse de robustesse pour les systèmes décrits au niveau RTL.

2.      Etude des différents niveaux de modélisation offerts par le flot de conception Diplodocus TTool au travers de l’étude de cas « applications automobiles sur Bus CAN ».

3.      Etude et proposition d’une classe de robustesse entre les classes 3 et 4 adaptées aux applications supportant des mécanismes de points de reprise.

4.      Expérimentations sur certaines applications du jeu de test « applications automobiles sur Bus CAN » et conclusions.

Pré-requis

Modélisation des systèmes concurrents par systèmes de transitions ; Notions de vérification par model-checking ; Architecture, méthodes et outils de conception des systèmes embarqués sur puce.

 

Lieu et rémunération

Le stage se déroulera dans les locaux du LIP6 et sera rémunéré 420 euros/mois.

Bibliographie

[AM+06] L. Apvrille, W. Muhammad, R. Ameur-Boulifa, S. Coudert and R. Pacalet, "A UML-based Environment for System Design Space Exploration", 13th IEEE Int. Conf. on Electronics, Circuits and Systems (ICECS'2006), Nice, France, December 2006

[A+08] L. Apvrille, "TTool for DIPLODOCUS: An Environment for Design Space Exploration", Proc. of the 8th Annual Int. Conf. on New Technologies of Distributed Systems (NOTERE'2008), Lyon, France, June 2008

 [BB+10] S. Baarir, C. Braunstein, E. Encrenaz, J.-M. Ilié, T. Li, I. Mounier, D. Poitrenaud, S. Younes, Quantifying Robustness by Symbolic Model checking, Int. workshop on Hardware Verification (HWVW'10), satellite event of  Int. Conf. on Computer Aided Verification (CAV'10), Edimburgh, Scotland, jul. 2010.

[BB+09] S. Baarir, C. Braunstein, R. Clavel, E. Encrenaz, J.-M. Ilié, R. Leveugle, I. Mounier, L. Pierre, D. Poitrenaud, Complementary Formal Approaches for Dependability Analysis, IEEE 24th Int. Symp. Defect and Fault Tolerance in VLSI Systems (DFT 2009), pp. 331-339. IEEE Computer Society, Chicago, Illinois, USA, oct. 2010.

[KA+09] D. Knorreck, L. Apvrille,  R. Pacalet, "Fast Simulation Techniques for Design Space Exploration", Proceedings of the 47th Int. Conf. on Objects, Models, Components, vol. 33, pp. 308-327, Patterns, DOI: 978-3-642-02571-6, Zurich, Switzerland, June 2009

[KA+10] D. Knorreck, L. Apvrille, R. Pacalet, "Formal System-level Design Space Exploration", the 10th annual IEEE international conference on New Technologies of Distributed Systems (NOTERE'2010), Tozeur, Tunisia, June 2010.

[Lev10]           R. Leveugle, “Early Robustness Evaluation of Digital Integrated Systems”, Invited Presentation for a special session on Robustness in ECSI Forum on Design Languages (FDL), Southampton, UK, sept. 2010.

 [MI+08] S. Mitra, R. Iyer, K. Trivedi, , J. Tschanz, “Reliable Systems: Models, Metrics and Design Techniques”, Tutorial of 28th ACM & IEEE Int. Conf. on Computer-Aided Design (ICCAD’08), San Jose, California, USA, nov. 2008

LIP6 LIP6-SoC LIP6 CNRS UPMC