Une formalisation fonctionnelle des communications sur la puce



Documents pareils
Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

DG-ADAJ: Une plateforme Desktop Grid

Évaluation et implémentation des langages

Introduction aux systèmes temps réel. Iulian Ober IRIT

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Resolution limit in community detection

La Certification de la Sécurité des Automatismes de METEOR

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Chapitre 11 : Le Multicast sur IP

Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie.

Conception des systèmes répartis

Diagrammes de Package, de déploiement et de composants UML

CH.3 SYSTÈMES D'EXPLOITATION

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Programmation C. Apprendre à développer des programmes simples dans le langage C

Thème 3 Conception et vérification d architectures de systèmes sur puce

2. DIFFÉRENTS TYPES DE RÉSEAUX

La sécurité dans les grilles

Cours des réseaux Informatiques ( )

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Réseaux grande distance

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Vérification formelle de la plate-forme Java Card

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

WEA Un Gérant d'objets Persistants pour des environnements distribués

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Groupe Eyrolles, 2000, 2004, ISBN :

Dispositif sur budget fédéral

1. Introduction à la distribution des traitements et des données

Qualité du logiciel: Méthodes de test

Hypervision et pilotage temps réel des réseaux IP/MPLS

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

ISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES

Conception de réseaux de télécommunications : optimisation et expérimentations

Algorithmique des Systèmes Répartis Protocoles de Communications

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Architecture distribuée

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

1 Définition et présentation. 2 Le réseau Numéris. 3 Les services. 3.1 Les services Support (Bearer service) SYNTHESE

1.Introduction - Modèle en couches - OSI TCP/IP

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

Réseaux : Wi-Fi Sommaire. 1. Introduction. 2. Modes de fonctionnement. 3. Le médium. 4. La loi. 5. Sécurité

Formula Negator, Outil de négation de formule.

Algorithmes de recherche d itinéraires en transport multimodal

Présentation du modèle OSI(Open Systems Interconnection)

NOTIONS DE RESEAUX INFORMATIQUES

Pourquoi l apprentissage?

Prise en compte des ressources dans les composants logiciels parallèles

Cours 1 : La compilation

Rémi GILANTE Certifié d Informatique et Gestion. Jean-Claude NOUSSIGUE Agrégé d Économie et Gestion, option B

Le génie logiciel. maintenance de logiciels.

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Catalogue & Programme des formations 2015

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Systèmes et traitement parallèles

Quatrième partie IV. Test. Test 15 février / 71

Introduction au Déploiement

Processus d Informatisation

Programmation de services en téléphonie sur IP

La carte à puce. Jean-Philippe Babau

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Bases de données Cours 1 : Généralités sur les bases de données

Introduction aux Technologies de l Internet

La formation à l informatique et aux TIC au lycée. Proposition de programme Seconde Première Terminale

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Préparation à la certification LPIC-1 "Junior Level Linux Certification"

VLAN Virtual LAN. Introduction. II) Le VLAN. 2.1) Les VLAN de niveau 1 (Port-based VLAN)

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Master Informatique Aix-Marseille Université

DESCRIPTION DU CONCOURS QUÉBÉCOIS INFORMATIQUE (GESTION DE RÉSEAUX)

Chapitre 4 : Exclusion mutuelle

Cisco Certified Network Associate

ECTS CM TD TP. 1er semestre (S3)

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Sujet de thèse CIFRE RESULIS / LGI2P

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Introduction aux algorithmes répartis

Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules

Extrait des Exploitations Pédagogiques

Algorithmique et langages du Web

Initiation au HPC - Généralités

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Réseau CNAS pour le. M. AKKA ABDELHAKIM Chef Département Systèmes et Réseaux Informatiques

Introduction. Adresses

DEMANDE D INFORMATION RFI (Request for information)

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

Transcription:

Une formalisation fonctionnelle des communications sur la puce Julien Schmaltz Thèse dirigée par Dominique Borrione Laboratoire TIMA - Équipe VDS c 2006 Julien Schmaltz p.1/72

Le réseau ferré Réseau composé d un quai par gare et d une voie entre deux gares. Pierre et José veulent aller à Grenoble. Paris Saarbrucken Lyon Montpellier Grenoble Madrid c 2006 Julien Schmaltz p.2/72

Itinéraire au départ La route est calculée à l origine. Le routage est dit à la source. Paris Saarbrucken Lyon Montpellier Grenoble Madrid c 2006 Julien Schmaltz p.3/72

Résolution des conflits Il y a un seul quai dans chaque gare. Pierre et José veulent entrer à Lyon en même temps. La politique d ordonnancement résoud le conflit. Lyon Montpellier Paris Saarbrucken Grenoble Madrid c 2006 Julien Schmaltz p.4/72

Vérification du réseau Thm. Tout train atteint sa destination. Preuve : Exclusion mutuelle et routage correct Paris Saarbrucken Lyon Montpellier Grenoble Madrid c 2006 Julien Schmaltz p.5/72

Vérification d un autre réseau Thm. Tout avion atteint sa destination. Preuve : Exclusion mutuelle et routage correct San Francisco Chicago Boston Denver Indianapolis Austin c 2006 Julien Schmaltz p.6/72

Le particulier et le général Ce qui est particulier à un réseau Politique d ordonnancement Nombre de quais et de voies Ce qui est commun à tout réseau Structure, routage + ordonnancement Correction du routage et de l ensemble c 2006 Julien Schmaltz p.7/72

Le particulier et le général Ce qui est particulier à un réseau Politique d ordonnancement Nombre de quais et de voies Ce qui est commun à tout réseau Structure, routage + ordonnancement Correction du routage et de l ensemble Ma thèse : un modèle formel d un réseau en général c 2006 Julien Schmaltz p.7/72

Plan Puces, vérification et réseaux Ma thèse Formalisation fonctionnelle : GeNoC Méthodologie c 2006 Julien Schmaltz p.8/72

Les systèmes sur puce Omniprésence, systèmes critiques Complexité croissante Sûreté et bon fonctionnement c 2006 Julien Schmaltz p.9/72

TOP 10 des bugs Pentium FDIV (1995), >450 M$ Ariane 5 (1996) National Cancer Institute, Panama City (2000) Multidata Systems International, Au moins 8 morts, 20 patients avec de graves séquelles Mise en accusation pour homicide involontaire... c 2006 Julien Schmaltz p.10/72

Méthodes de vérification Simulation numérique : Test intensif des programmes mais la complexité rend impossible une vérification exhaustive Méthodes formelles Preuve pour toutes les entrées et tous les états possibles Au lieu de déboguer un programme, on devrait prouver qu il satisfait sa spécification, et la preuve devrait être vérifiée par un programme informatique, J. McCarthy, 1962 c 2006 Julien Schmaltz p.11/72

Le paradigme SoC Conception orientée plateforme : Réutilisation de composants paramétrés Haut niveau d abstraction MPEG4 AES µp RAM Assemblage de composants c 2006 Julien Schmaltz p.12/72

Le paradigme SoC Conception orientée plateforme : Réutilisation de composants paramétrés Haut niveau d abstraction MPEG4 AES µp µp RAM Assemblage de composants c 2006 Julien Schmaltz p.12/72

Le paradigme SoC Conception orientée plateforme : Réutilisation de composants paramétrés Haut niveau d abstraction µp AES AES MPEG4 µp RAM Assemblage de composants c 2006 Julien Schmaltz p.12/72

Le paradigme SoC Conception orientée plateforme : Réutilisation de composants paramétrés Haut niveau d abstraction µp AES AES MPEG4 µp RAM Assemblage de composants RAM c 2006 Julien Schmaltz p.12/72

Le paradigme SoC Conception orientée plateforme : Réutilisation de composants paramétrés Haut niveau d abstraction µp AES AES MPEG4 µp RAM Assemblage de composants MPEG4 RAM c 2006 Julien Schmaltz p.12/72

Le paradigme SoC Conception orientée plateforme : Réutilisation de composants paramétrés Haut niveau d abstraction µp AES AES MPEG4 Architecture µp RAM Assemblage de composants MPEG4 De Communication RAM c 2006 Julien Schmaltz p.12/72

Le paradigme SoC Conception orientée plateforme : Réutilisation de composants paramétrés Haut niveau d abstraction µp AES Interface AES MPEG4 Architecture Interface µp RAM Assemblage de composants MPEG4 Interface De Communication RAM Interface c 2006 Julien Schmaltz p.12/72

La vérification des SoC s Preuve de l assemblage : Preuve de chaque composant Preuve de leur interconnexion MPEG4 AES µp Interface OK OK Architecture OK AES Interface µp RAM Assemblage de composants MPEG4 Interface OK De Communication OK RAM Interface c 2006 Julien Schmaltz p.13/72

Des bus... Bus partagé Bus matriciel (+) Faible surface (+) Simplicité (-) Difficilement extensible (-) Faible parallélisme c 2006 Julien Schmaltz p.14/72

... aux réseaux Tore Cube Grille (+) Facilement extensible (+) Haut niveau de parallélisme (-) Complexité (-) Augmentation de la surface c 2006 Julien Schmaltz p.15/72

Les méthodes formelles Recherche des bugs Méthodes algorithmiques (automatiques) Contre-exemples Systèmes non paramétrés Bas niveau d abstraction Preuve de l absence de bugs Méthodes déductives Assistants de preuve (non automatiques) Systèmes paramétrés Haut niveau d abstraction c 2006 Julien Schmaltz p.16/72

Vérification formelle des NoC s Bus AMBA par vérification de modèles (Roychoudhury et al., 2003) Bus AMBA par vérif. de mod. et HOL (Amjad, 2004) Protocole Æthereal de Philips en utilisant PVS (Gebremichael et al., 2005) Bas niveau d abstraction Uniquement des cas particuliers Pas de méthode générale c 2006 Julien Schmaltz p.17/72

Plan Puces, réseaux et bugs Ma thèse Formalisation fonctionnelle : GeNoC Méthodologie c 2006 Julien Schmaltz p.18/72

Objectif global Un modèle pour toute architecture...? c 2006 Julien Schmaltz p.19/72

Contribution Une formalisation fonctionnelle des communications : GeNoC (Generic Network on Chip) Identification des composantes essentielles et de leurs propriétés Formalisation des interactions entre ces composantes Correction de l ensemble est une conséquence des propriétés essentielles des composantes Méthodologie supportée par des outils automatiques c 2006 Julien Schmaltz p.20/72

Plan Puces, réseaux et bugs Ma thèse Formalisation fonctionnelle : GeNoC Méthodologie c 2006 Julien Schmaltz p.21/72

Principes de la généralisation µp Interface AES Architecture Interface MPEG4 Interface De Communication RAM Interface c 2006 Julien Schmaltz p.22/72

Principes de la généralisation messages Interface trames messages Interface trames Architecture De Communication trames trames Interface Interface messages messages c 2006 Julien Schmaltz p.22/72

Modélisation fonctionnelle messages messages trames trames Ordonnancement Scheduling Routage Routing trames trames messages messages Système = F(Routing, Scheduling,, ) c 2006 Julien Schmaltz p.23/72

Obligations de preuve messages messages OP i OP i trames trames Ordonnancement Scheduling Routage Routing OP r OP s trames trames Système = F(Routing, Scheduling,, ) messages OP i messages OPi c 2006 Julien Schmaltz p.24/72

Le théorème sur l ensemble messages messages OP i OP i trames trames Ordonnancement Scheduling Routage Routing OP r OP s trames trames messages OP i messages OPi Thm : tout message atteint sa destination c 2006 Julien Schmaltz p.25/72

Le théorème sur l ensemble messages messages OP i OP i trames trames Ordonnancement Scheduling Routage Routing OP r OP s trames trames messages OP i messages OPi Thm : tout message atteint sa destination c 2006 Julien Schmaltz p.25/72

Les interfaces messages messages trames trames Ordonnancement Scheduling Routage Routing trames trames messages messages c 2006 Julien Schmaltz p.26/72

Les interfaces Modélisation Lien avec le modèle OSI (e.g. couches 1 à 4) La fonction produit des trames à partir de messages La fonction consomme les trames Obligation de preuve La composition est une identité c 2006 Julien Schmaltz p.27/72

Le routage messages messages trames trames Ordonnancement Scheduling Routage Routing trames trames messages messages c 2006 Julien Schmaltz p.28/72

Le réseau Octagon 7 0 1 8 nœuds Extensible à 4 i 6 2 Liens bidirectionaux 5 4 3 Routage selon le plus court chemin Conçu par STMicroelectronics, ref : DAC 01 et IEEE Micro 2002 par F. Karim et al. c 2006 Julien Schmaltz p.29/72

Algorithme de routage 6 7 5 0 4 1 3 2 RelAd = (dest current) mod 8 if RelAd = 0 then stop elsif RelAd = 1 2 then go clockwise elsif RelAd = 6 7 then go counter clockwise else go across endif Exemple : route de 1 vers 6 c 2006 Julien Schmaltz p.30/72

Algorithme de routage 6 7 5 0 4 1 3 2 RelAd = (6 1 ) mod 8 if RelAd = 0 then stop elsif RelAd = 1 2 then go clockwise elsif RelAd = 6 7 then go counter clockwise else go across endif Exemple : route de 1 vers 6 c 2006 Julien Schmaltz p.31/72

Algorithme de routage 6 7 5 0 4 1 3 2 RelAd = (6 5 ) mod 8 if RelAd = 0 then stop elsif RelAd = 1 then go clockwise elsif RelAd = 6 7 then go counter clockwise else go across endif Exemple : route de 1 vers 6 c 2006 Julien Schmaltz p.32/72

Algorithme de routage 6 7 5 0 4 1 3 2 RelAd = (6 6 ) mod 8 if RelAd = 0 then stop elsif RelAd = 1 2 then go clockwise elsif RelAd = 6 7 then go counter clockwise else go across endif Exemple : route de 1 vers 6 c 2006 Julien Schmaltz p.33/72

Régularisation des architectures Mais : la plupart des structures sont irrégulières... c 2006 Julien Schmaltz p.34/72

Régularisation des architectures... elles sont régularisées en considérant que tous les nœuds sont identiques. c 2006 Julien Schmaltz p.34/72

Régularisation des architectures Cette régularisation est valide si toute route n emprunte que des nœuds appartenant au réseau irrégulier initial. c 2006 Julien Schmaltz p.34/72

Logique de routage Identique à tous les nœuds Détermine les déplacements unitaires possibles Représentée par une fonction L prochain = L(courant, destination) Principe de modélisation Calcul de toutes les routes autorisées par la logique de routage c 2006 Julien Schmaltz p.35/72

Routage : cas déterministe s d s, Route = c 2006 Julien Schmaltz p.36/72

Routage : cas déterministe s d s, Route = L(s, d), c 2006 Julien Schmaltz p.36/72

Routage : cas déterministe s d s, Route = L(s, d), L(L(s, d), d), c 2006 Julien Schmaltz p.36/72

Routage : cas déterministe s d s, Route = L(s, d), L(L(s, d), d), d c 2006 Julien Schmaltz p.36/72

Routage : cas adaptatif Routage adaptatif et minimal s d Toutes les routes = les routes vers la droite + les routes vers le bas c 2006 Julien Schmaltz p.37/72

Routage : correction Terminaison du routage Distance décroit à chaque saut Correction du routage Route va de l origine à la destination Nœuds de la route existent c 2006 Julien Schmaltz p.38/72

L ordonnancement messages messages trames trames Ordonnancement Scheduling Routage Routing trames trames messages messages c 2006 Julien Schmaltz p.39/72

Arbitrage de bus A B Arbitre C D Si A et B veulent émettre, l arbitre tranche L arbitre préserve l exclusion mutuelle à tout instant c 2006 Julien Schmaltz p.40/72

Commutation par circuits 0 7 1 6 2 5 3 4 Réservation des nœuds avant émission A tout instant, un nœud n appartient qu à un seul circuit c 2006 Julien Schmaltz p.41/72

Fonction Scheduling Modélisation Préservation d un invariant 2 instants : maintenant et plus tard c 2006 Julien Schmaltz p.42/72

Le système messages messages trames trames Ordonnancement Scheduling Routage Routing trames trames messages messages Système = F(Routing, Scheduling,, ) c 2006 Julien Schmaltz p.43/72

Modélisation de l ensemble La fonction GeNoC Prend la liste des communications en attente Retourne la liste des résultats et celle des communications avortées Les transactions Une transaction représente une communication en attente, soit l intention de A d envoyer msg à B C est un quadruplet (id A msg B) c 2006 Julien Schmaltz p.44/72

La fonction GeNoC Scheduling Interface A Interface B A Messages Trames Trames Messages B Noeud A Noeud B (id 1 A msg 1 B) (id 2 D msg 2 T) (id 3 F msg 3 E) (id 4 R msg 4 Z) Routing Missives Avortées Transactions Résultats c 2006 Julien Schmaltz p.45/72

De la transaction à la missive Scheduling Interface A Interface B A Messages Trames Trames Messages B Noeud A (id 1 A msg 1 B) (id 1 A msg 1 B) (id 2 D msg 2 T) (id 3 F msg 3 E) (id 4 R msg 4 Z) Routing Noeud B Missives Avortées Transactions Résultats c 2006 Julien Schmaltz p.46/72

De la transaction à la missive Scheduling Interface A Interface B A Messages Trames Trames Messages B Noeud A (id 1 A frm 1 B) (id 1 A frm 1 B) (id 2 D frm 2 T) (id 3 F frm 3 E) (id 4 R frm 4 Z) Routing Noeud B Missives Avortées Missives Résultats c 2006 Julien Schmaltz p.46/72

Routage (id 1 frm 1 Routes 1 ) Scheduling Interface A Interface B A Messages Trames Trames Messages B Noeud A Noeud B (id 1 frm 1 Routes 1 ) (id 2 frm 2 Routes 2 ) (id 3 frm 3 Routes 3 ) (id 4 frm 4 Routes 4 ) Routing Missives Avortées Voyages Résultats c 2006 Julien Schmaltz p.47/72

Ordonnancement Scheduling Scheduled (id 1 frm 1 Routes 1 ) (id 3 frm 3 Routes 3 ) Interface A Interface B A Messages Trames Trames Messages B Noeud A Noeud B Routing (id 2 frm 2 Routes 2 ) (id 4 frm 4 Routes 4 ) Missives Avortées Delayed Résultats c 2006 Julien Schmaltz p.48/72

Résultats Scheduling Interface A Interface B A Messages Trames Trames Messages B Noeud A Noeud B Routing (id 2 frm 2 Routes 2 ) (id 4 frm 4 Routes 4 ) (id 1 B msg 1 ) (id 3 E msg 3 ) Missives Avortées Delayed Résultats c 2006 Julien Schmaltz p.49/72

Missives avortées Scheduling Interface A Interface B A Messages Trames Trames Messages B Noeud A Noeud B Routing (id 2 D frm 2 T) (id 4 R frm 4 Z) (id 1 B msg 1 ) (id 3 E msg 3 ) Missives Avortées Missives Résultats c 2006 Julien Schmaltz p.50/72

Missives avortées Scheduling Interface A Interface B A Messages Trames Trames Messages B Noeud A Noeud B Routing (id 4 R frm 4 Z) (id 1 B msg 1 ) (id 3 E msg 3 ) (id 2 T msg 2 ) Résultats Missives Avortées c 2006 Julien Schmaltz p.50/72

Critère de correction Scheduling Interface A Interface B A Messages Trames Trames Messages B Noeud A Noeud B (id 1 A msg 1 B) (id 2 D msg 2 T) (id 3 F msg 3 E) (id 4 R msg 4 Z) Transactions Routing (id 1 B msg 1 ) (id 3 E msg 3 ) (id 2 T msg 2 ) Résultats (id 4 R frm 4 Z) Missives Avortées c 2006 Julien Schmaltz p.51/72

Terminaison La fonction GeNoC est récursive, on doit prouver l arrêt des calculs : C est un prérequis aux raisonnements automatiques C est nécessaire pour assurer la vivacité du système Pour assurer l arrêt des appels récursifs, chaque nœud possède un nombre fini de tentatives pour effectuer les transactions en attente à ce nœud. c 2006 Julien Schmaltz p.52/72

Définition formelle À partir d une liste de transactions, T, de l ensemble des nœuds du réseau NodeSet et d une liste de nombres de tentatives att, la fonction GeNoC produit : La liste R des résultats La liste A des missives avortées GeNoC : D T GenNodeSet AttLst D R D T (T, NodeSet, att) (R, A) c 2006 Julien Schmaltz p.53/72

Critère de correction res R,!trans T, { Id R (res) = Id T (trans) Msg R (res) = Msg T (trans) Dest R (res) = Dest T (trans) c 2006 Julien Schmaltz p.54/72

Critère de correction res R,!trans T, { Id R (res) = Id T (trans) Msg R (res) = Msg T (trans) Dest R (res) = Dest T (trans) En français! Pour chaque résultat res, il existe une unique transaction trans telle que trans et res ont les mêmes identifiant, message, et destination. c 2006 Julien Schmaltz p.54/72

Les obligations de preuve Interfaces La composition est une identité Routage (id A frm B) (id frm Routes) Correspondance missive/voyage Même trame et même identifiant Route va de l origine à la destination Ordonnancement Exclusion mutuelle entre Scheduled et Delayed Pas de nouveaux identifiants Préservation des trames et de la correction des routes c 2006 Julien Schmaltz p.55/72

Preuve du théorème Correction du routage + préservation bonne destination Non modification des trames tout message est obtenu par la composition Correction des interfaces message reçu = message émis Exclusion entre Scheduled et Delayed + pas de nouveaux identifiants découpage de la preuve en deux c 2006 Julien Schmaltz p.56/72

Plan Puces, réseaux et bugs Ma thèse Formalisation fonctionnelle : GeNoC Méthodologie c 2006 Julien Schmaltz p.57/72

GeNoC et logique (d ordre 2) OP i OP s OP r Thm,, Routing, Scheduling c 2006 Julien Schmaltz p.58/72

GeNoC et logique (d ordre 2) OP i OP s OP r Thm Exemple : Routing7 6 0 1 2 OP r 0 7 6 1 2 Thm7 0 1 5 4 3 5 4 3 6 5 3 2 4 Instanciation fonctionnelle de l Octagon c 2006 Julien Schmaltz p.58/72

ACL2 A Computational Logic for Applicative Common LISP Langage de programmation (LISP) Exécutable (vitesse programmes C) Logique mathématique (1 er ordre) Assistant de preuve (heuristiques) s matérielles et logicielles Microprocesseurs (e.g. AMD) JVM Compilateurs, OS,... c 2006 Julien Schmaltz p.59/72

Méthode systématique Routing Thm ACL2 Prouve! Prouvé! OP r c 2006 Julien Schmaltz p.60/72

Méthode systématique, OP i Routing OP r Scheduling OP s GeNoC Thm Routing Thm ACL2 Prouve! Prouvé! OP r c 2006 Julien Schmaltz p.60/72

Routage en XY (0 2) (1 2) (2 2) Y (0 1) (1 1) (2 1) (0 0) (1 0) (2 0) Déplacements selon l axe X puis selon l axe Y. X c 2006 Julien Schmaltz p.61/72

Définition du routage en XY L xy (s, d) d si s = d (s x + 1, s y ) si s x < d x (s x 1, s y ) si s x > d x (s x, s y + 1) si s x = d x s y < d y (s x, s y 1) si s x = d x s y > d y Y (0 2) (1 2) (2 2) (0 1) (1 1) (2 1) (0 0) (1 0) (2 0) X Distance dist xy (s, d) = d x s x + d y s y c 2006 Julien Schmaltz p.62/72

Preuve du routage en XY La distance décroit Validité des routes Même trame et même identifiant Route va de l origine à la destination Nœuds de la route existent Seule la preuve que les nœuds des routes existent nécessite de guider ACL2. 14 fonctions, 49 théorèmes, 615 lignes de code, temps de preuve 25 secondes c 2006 Julien Schmaltz p.63/72

Preuve de l Octagon La distance décroit Validité des routes Même trame et même identifiant Route va de l origine à la destination Nœuds de la route existent Difficulté liée à l arithmétique. 21 fonctions, 64 théorèmes, 1325 lignes de code, temps de preuve <740 secondes c 2006 Julien Schmaltz p.64/72

Conclusions Modèle formel et générique Réalisation du modèle dans ACL2 Concrétisations variées pour validation c 2006 Julien Schmaltz p.65/72

Modèle générique : GeNoC Identifie les composantes essentielles de toute architecture de communication Exprime leurs propriétés essentielles Formalise la propriété globale satisfaite par l interaction des composantes comme une conséquence des propriétés des composantes c 2006 Julien Schmaltz p.66/72

Réalisation du modèle dans ACL2 1864 lignes de code, 71 fonctions et 119 théorèmes Preuve générale : 62 fonctions, 77 théorèmes, 1357 lignes de code Les modules : 9 fonctions, 42 théorèmes, 507 lignes de code Génération automatique des obligations de preuve c 2006 Julien Schmaltz p.67/72

Validation de GeNoC Couche OSI 1 - Bi-Φ-M Couche OSI 2 Scheduling - Ethernet Arbitrage de bus Ordonnancement sur les réseaux - Commutation par circuits - Commutation par paquets - Arbitre AMBA AHB Interface A Interface B A Messages Trames Trames Messages B Noeud A Noeud B Routing Routage déterministe - Octagon - Algorithme en XY Routage adaptatif - Algorithme en double Y c 2006 Julien Schmaltz p.68/72

Perspectives Extensions de GeNoC Vérification persistante des systèmes c 2006 Julien Schmaltz p.69/72

Extensions de GeNoC GeNoC n est qu une étape... Structures maître/esclave Ajout des files et des canaux Algorithmes non minimaux Interblocages Notion explicite du temps... Objectif : se rapprocher du RTL Stage M2R (A. Helmy) c 2006 Julien Schmaltz p.70/72

Vérification persistante... vers un but nécessaire. Un théorème pour un système complet, soit la preuve : Des applications Des microprocesseurs Des compilateurs Des systèmes d exploitation Réseau d interconnexion Post-doc, projet Verisoft, Université du Saarland c 2006 Julien Schmaltz p.71/72

Remerciements Université du Texas à Austin, W.A. Hunt Région Rhône-Alpes, bourse EURODOC c 2006 Julien Schmaltz p.72/72