-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2013-2014/ALSOC/Modélisation et remontée au modèles haut niveau des informations de simulation Print page

Modélisation et remontée au modèles haut niveau des informations de simulation

Ce stage a déjà été attribué.

Contexte


La conception orientée modèles des systèmes embarquées complexes est à présent une pratiquecourante pour le développement de la partie logicielle de ces systèmes. A contrario, les aspects matériels de ces systèmes sont plus rarement conçus avec ces approches à base de modèle. Ainsi, la pratique courante repose davantage sur l'utilisation de techniques de description du matériel à des niveaux d'abstraction différents : description de niveau TLM-DT (niveau transaction à temps distribué), description de niveau CABA (Cycle Accurate/Bit Accurate), description de niveau RTL (Register Transfer Level), par exemple. Les deux aspects logiciels et matériels sont ainsi décrits et conçus en parallèle avec des techniques différentes, avec une phase intégration commune
à la fin du cycle de développement. Cette intégration consiste généralement en la validation du logiciel sur l'architecture cible, ce qui permet à la fois d'identifier d'éventuelles erreurs de codage et de conception au niveau logiciel et matériel.
Bien entendu, il serait préférable de pouvoir évaluer le logiciel aussitôt que possible sur une ar-
chitecture matérielle réaliste, et ce avant que le code complet ait été réalisé. L'environnement AVATAR [PKA11] développé par Telecom ParisTech est une solution orientée modèles pour l'analyse et la conception de logiciels embarqués. AVATAR repose sur des diagrammes SysML pour décrire les aspects logiciels du système, ainsi que les propriétés de sureté de fonctionnement
et de sécurité devant être respectées par le système [KAD11].

AVATAR est implémenté par l'outil TTool [Apv], logiciel libre, qui permet de réaliser de façon graphique des modélisations AVATAR, et de simuler ou de vérifier formellement les modèles avec une approche de type presse-bouton. Notons que ces simulations et ces vérifications sont réalisées sans architecture matérielle cible.
L'environnement AVATAR comporte aussi un générateur de code. Ce dernier repose sur une transformation du modèle de conception vers un code C-POSIX, amené à être linké avec une librairie logicielle AVATAR, avant d'être exécuté. Cette exécution peut se réaliser soit sur une plate-forme locale, soit sur cible, soit enfin sur une plate-forme de prototypage de type SoCLib [SoC03]. SoCLib est une bibliothèque de modèles de composants faisant partie d'une architecture
à mémoire partagée et basée sur le protocôle VCI (Virtual Component Interconnect) séparant la fonctionnalité des composants de leur communication. Le département SoC du LIP6 est le principal porteur de ce projet, auquel participent entre autres en tant que partenaires industriels
Thales et ST microelectronics et en tant que partenaires académiques une grande partie des laboratoires de micro-électronique français. 
La simulation se réalise à un niveau de détail très important, notamment lors de l'utilisation des simulateurs d'instructions de processeurs [PBdM+ 09] ou lors de la simulation du comportement des mémoires caches.
Une première contribution de lien modèles logiciels - SoCLib a été faite par Telecom ParisTech  [AB12]. La contribution consiste principalement dans une approche presse-bouton pour utiliser SoCLib depuis TTool : génération du code depuis les modèles, compilation pour SoCLib, lancement de SoCLib. De plus, les modèles UML sont animés pendant l'exécution du code issue de TTool sous la plate-forme SoCLib.

 

Contributions

Le stage de cinq ou six mois au LIP6, encadré par D. Genius avec un support de L. Apvrille, permettra de travailler sur les aspects modèles : modélisation de la plate-forme, modélisation du déploiement, remontée aux modèles des informations de simulation bas niveau. La génération de code de la plate-forme se réalisera dans un deuxième temps, et selon l'avancée du stagiaire. Enfin, l'aspect exploration sera traité de façon prospective. La figure montre l'environnement mis en place et le travail encore à accomplir.

Le stage sera proposé sous réserve de financement par le projet LIP6 (Prototypage de sYstèmes embaRqués bAsé sur des transforMatIons de moDèles haut-nivEau).
L'intérêt pour le LIP6 d'intégrer une plate-forme de conception logicielle de systèmes embarqués est d'ouvrir SoCLib à une communauté du développement logiciel habituellement peu encline à utiliser les plates-formes de prototypage. Pour arriver à cet objectif, nous proposons de réaliser les points suivants dans le cadre du projet proposé :

1. Plate-forme matérielle. La description actuelle de la plateforme matérielle (la
   topcell) est écrite à la main en SystemC. Même s'il est souhaitable de proposer une lisibilité et un contrôle détaillée au développeur expert qui participe activement au développement des composants, il serait judicieux, afin d'élargir le public d'utilisateurs, de proposer une génération de topcell à partir d'une interface graphique.
   On pourrait ainsi partir d'un modèle de plate-forme générique, basé sur des composants validés et testés faisant partie du coeur de SoCLib puis le paramétrer et élargir par des composants spécifiques.


2. Déploiement. Les informations de déploiement sont limitées au niveau de TTool, obligeant ainsi l'utilisateur de TTool-SoCLib à saisir manuellement la configuration de la plate-forme de prototypage. Nous proposons ainsi d'intégrer à TTool un diagramme de déploiement autorisant la description d'une plate-forme matérielle à partir de bibliothèques de composants SoCLib dont l'assemblage aura été dûment testé. A partir de ces informations de déploiement, il sera possible de décrire graphiquement la plate-forme de prototypage, de mapper les composants logiciels sur les processeurs d'exécution, et les objets logiciels notamment les canaux de communications sur les segments de la mémoire, puis de générer automatiquement la configuration de la plate-forme.


3. Applications de type task farm. Une classe d'applications qui est particulièrement intéressante dans ce contexte est celle des applications de télécommunication à haut débit, fortement parallèles et à des exigences de débit très élevées. L'approche TTool/AVATAR n'intègre pas actuellement de facilité pour décrire des applications possédant de nombreuses tâches identiques. Nous proposons de simplifier la saisie multiple des tâches, tant au niveau des modèles de conception qu'au niveau des nouveaux modèles de déploiement. Le générateur de code de TTool sera adapté en conséquence.


4. Exploration d'architecture. L'environnement TTool/AVATAR n'a pas été conçu
   à des fins d'exploration d'architectures. Néanmoins, le fait d'y ajouter un support permettant l'exécution de logiciel sur une plate-forme de prototypage ouvre de nouvelles perspectives [Jab11], et en particulier celle d'expérimenter plusieurs solutions de mapping des tâches logicielles sur des processeurs. L'environnement SoCLib/DSX (Design Space eXplorer) pourrait être utilisé à cet effet. En fait, la recherche sur l'exploration de l'espace de conception pour un spectre large d'applications, essentiellement de flux vidéo et de télécommunications, fait partie du travail de l'equipe ALSOC [GFP11]. Cette partie du projet sera essentiellement prospective, et n'amènera pas a priori à la réalisation de nouveaux développements.


5. Animation de modèle. Sous TTool, l'animation du modèle lors du prototypage
  est réduite à la réalisation d'un diagramme de séquences, et non à l'animation
  complète des machines à étas des entités logiciels. Cela complique bien entendu la recherche des chemins ayant conduits aux problèmes. De plus, l'animation devra être étendue aux diagrammes de description de la plate-forme matérielle : montrer de façon graphique la charge des processeurs en cours de simulation, par exemple. Un nombre de travaux à ce sujet a déjà été réalisé récemment du côté ALSOC, basé sur l'analyse des traces des communications VCI, comme l'obtention des statistiques très précises, la plus récente dans le contexte du projet [Gen13].

Stage Inter-Laboratoire


Le stage permettra dans un premier temps de travailler sur les aspects modèles cités ci-dessus : modélisation de la plate-forme, modélisation du déploiement, remontée au modèles des informations de simulation bas niveau. La génération de code de la plate-forme se réalisera dans un deuxième temps, et selon l'avancée du stagiaire. Enfin, l'aspect exploration sera traité de façon prospective.

 

Encadrement

Le stage sera co-encadré par Daniela Genius (LIP6) et Ludovic Apvrille (Telecom ParisTech). Il sera localisé au LIP6 et rémunéré à 436 Euros/mois.


                                     Coordonnées des encadrants


                      Daniela Genius                       Ludovic Apvrille
                   daniela.genius@lip6.fr        ludovic.apvrille@telecom-paristech.fr
                    LIP6 équipe ALSOC             LabSoC, département COMELEC
              Université Pierre et Marie Curie           Campus SophiaTech
                      4 Place Jussieu                  450 Route des Chappes
                         75005 Paris                          06410 Biot
                    Tel. : 01 44 27 71 24                Tel. : 04 93 00 84 06

 

Références


[AB12]   L. Apvrille and A. Becoulet. Prototyping an embedded automotive system from its UML/SysML models. In ERTSS'2012, Toulouse, February 2012.
[Apv]   Ludovic Apvrille. TTool, an open-source toolkit for the modeling and verification of embedded systems. In http ://ttool.telecom-paristech.fr/.
[BWH+ 03] F. Balarin, Y. Watanabe, H. Hsieh, L. Lavagno, C. Passerone, and A. L. Sangiovanni-Vincentelli. Metropolis : An integrated electronic system design environment. IEEE Computer, 36(4) :45­52, 2003.
[ECEP06] Cagkan Erbas, Selin Cerav-Erbas, and Andy D. Pimentel. Multiobjective optimization and evolutionary algorithms for the application mapping problem in multiprocessor system-on-chip design. IEEE Transactions on Evolutionary Computation, 10(3) :358­374, 2006.
[Gen13]    Daniela Genius. Measuring Memory Latency for Software Objects in a NUMA System-on-Chip Architecture. Darmstadt, Germany, July 2013. Reconfigurable Communication-centric Systems on Chip.
[GFP11]    Daniela Genius, Etienne Faure, and Nicolas Pouillon. Mapping a telecommunication application on a multiprocessor system-on-chip. In G. Gogniat, D. Milojevic, and A. Morawiec A.and A. Erdogan, editors, Algorithm-Architecture Matching for Signal and Image Processing, chapter 1, pages 53-­77. Springer LNEE vol. 73, November 2011.
[Jab11]    Chafik Jaber. High-Level SoC Modeling and Performance Estimation Applied to a Multi-Core Implementation of LTE EnodeB Physical Layer. PhD thesis, EDITE de Paris, september 2011.
[KAD11]    D. Knorreck, L. Apvrille, and P. De Saqui-Sannes. TEPE : A SysML language for time-constrained property modeling and formal verification. ACM
SIGSOFT Software Engineering Notes, 36(1) :1­8, January 2011.
[PBdM+ 09] Nicolas Pouillon, Alexandre Becoulet, Aline Vieira de Mello, François Pêcheux, and Alain Greiner. A generic instruction set simulator API for timed
 and untimed simulation and debug of MP2-SoC
s. In IEEE Int. Workshop on
 Rapid System Prototyping, pages 116­122. IEEE Computer Society, 2009.
[PHL+ 01] Andy D. Pimentel, Louis O. Hertzberger, Paul Lieverse, Pieter van der Wolf, and Ed F. Deprettere. Exploring embedded-systems architectures with Artemis. IEEE Computer, 34(11) :57­63, 2001.
[PKA11]    G. Pedroza, D. Knorreck, and L. Apvrille. AVATAR : A SysML environment for the formal verification of safety and security properties. In The 11th IEEE Conference on Distributed Systems and New Technologies (NOTERE'2011), Paris, France, May 2011.
[Soc03]    SocLib consortium. The SoCLib project : An integrated system-on-chip modelling and simulation platform. Technical report, CNRS, 2003.www.soclib.fr.

 

 

LIP6 LIP6-SoC LIP6 CNRS UPMC