Combiner Méthodes Formelles et Simulation à évènements discrets

Documents pareils
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Évaluation et implémentation des langages

Model checking temporisé

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

Conception des systèmes répartis

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Analyse,, Conception des Systèmes Informatiques

SECTION 5 BANQUE DE PROJETS

!-.!#- $'( 1&) &) (,' &*- %,!

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Master Informatique Aix-Marseille Université

IFT2255 : Génie logiciel

Université de Bangui. Modélisons en UML

Utilisation des tableaux sémantiques dans les logiques de description

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Formula Negator, Outil de négation de formule.

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

Cours de Master Recherche

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

SIMULATION HYBRIDE EN TEMPOREL D UNE CHAMBRE REVERBERANTE

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

4.2 Unités d enseignement du M1

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Corps des nombres complexes, J Paul Tsasa

IRL : Simulation distribuée pour les systèmes embarqués

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

Qualité du logiciel: Méthodes de test

Promouvoir l identité coopérative via la RSE? Quelques premiers résultats sur données européennes et françaises

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

Cours 1 : La compilation

Machines virtuelles Cours 1 : Introduction

Les nouveautés de Femap 11.1

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2.

THOT - Extraction de données et de schémas d un SGBD

Chapitre I : le langage UML et le processus unifié

SCL LOGICIEL DE CONTROL

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Les diagrammes de modélisation

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

III- Raisonnement par récurrence

Brique BDL Gestion de Projet Logiciel

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

CONCEPTION DE PROJET SIG AVEC UML

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

Élasticité des applications à base de services dans le Cloud

Processus d Informatisation

Traduction des Langages : Le Compilateur Micro Java

MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE

Monitoring continu et gestion optimale des performances énergétiques des bâtiments

Synergies entre Artisan Studio et outils PLM

Projet Active Object

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Ingénierie et gestion des connaissances

Séance 1 Méthodologies du génie logiciel

Master Data Management en Open Source C est le Bon Moment

Suites numériques 3. 1 Convergence et limite d une suite

Management des processus opérationnels

RTDS G3. Emmanuel Gaudin

Université Paris XI Faculté des sciences d Orsay THÈSE. présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay

OpenText Content Server v10 Cours (ex 223)

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

Développement d un interpréteur OCL pour une machine virtuelle UML.

Problématiques de recherche. Figure Research Agenda for service-oriented computing

TangibleData. Manipulation tangible et multitouch de bases de données

OCL - Object Constraint Language

Intelligence Artificielle Planification

Figure 1 : représentation des différents écarts

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

BES WEBDEVELOPER ACTIVITÉ RÔLE

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Object Removal by Exemplar-Based Inpainting

Calculabilité Cours 3 : Problèmes non-calculables.

LE PROBLÈME DE RECHERCHE ET LA PROBLÉMATIQUE

Les apports de l informatique. Aux autres disciplines

Apprentissage incrémental par sélection de données dans un flux pour une application de sécurité routière

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Préparation à l examen EFA en Macro

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Big Data et Graphes : Quelques pistes de recherche

MABioVis. Bio-informatique et la

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Probabilités III Introduction à l évaluation d options

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Introduction à la B.I. Avec SQL Server 2008

Analyse de sécurité de logiciels système par typage statique

Jean-François Boulicaut & Mohand-Saïd Hacid

Transcription:

Combiner Méthodes Formelles et Simulation à évènements discrets A. YACOUB, M. HAMRI, C. FRYDMAN Laboratoire des Sciences de l Information et des Systèmes (LSIS UMR 7296) Aix-Marseille University France JDF 16 Journées DEVS francophones 11-15 avril 2016, Cargèse, France

Contents 1 Motivations 2 Combiner Méthodes formelles et Simulation 3 Applications 4 Conclusion 2/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 2 / 40

Contents 1 Motivations 2 Combiner Méthodes formelles et Simulation 3 Applications 4 Conclusion 3/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 3 / 40

Introduction La compréhension et la mise au point de systèmes fiables (software, hardware...) nécessite de plus en plus de compétences et de connaissances. La compréhension de systèmes (évènements climatiques, feux de circulation...) est aussi difficile en raison de la quasi-impossibilité de faire des tests sur le système réel. Deux domaines dans la littérature proposent des solutions : La vérification formelle (FV) et la Modélisation et Simulation (M&S). 4/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 4 / 40

Vérification et Validation Le processus de Vérification et Validation (V&V) est une phase importante dans le développement d un système. (PMBOK Guide, 2011) La Validation consiste à s assurer qu un produit est conforme aux attentes utilisateurs (conformité au cahier des charges). "Avons-nous fait le bon produit?" La Vérification consiste à s assurer qu un produit est conforme à un ensemble de contraintes de conception (spécification) imposées. "Faisons-nous le produit correctement?" 5/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 5 / 40

Vérification et Validation Dans le cadre logiciel, La Validation consiste donc à tester dynamiquement le logiciel en condition réelle, donc à exécuter le code. La validation permet alors de s assurer de la conformité du logiciel aux spécifications. La Vérification consiste en un ensemble de tests statiques et dynamiques pour vérifier que le code logiciel est conforme à la conception. 6/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 6 / 40

Vérification et Validation Dans le cadre de la Modélisation et Simulation (M&S), La Validation consiste à s assurer que le modèle de simulation représente bien le système étudié avec un degré de précision suffisant pour les utilisations prévues pour le modèle. La Vérification consiste à s assurer que le modèle de simulation (le modèle implémenté) est conforme au modèle conceptuel. 7/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 7 / 40

Vérification formelle Parmis les techniques de vérification, on trouve la vérification formelle = Action de prouver la fiabilité d un système par rapport à un ensemble de spécifications et de propriétés en utilisant les méthodes formelles. Une méthode formelle est un ensemble d une notation formelle et d une sémantique formelle (Bowen, 1995). Deux grandes familles de méthodes formelles : le theorem proving et le model checking. Le model-checking consiste à vérifier que syntaxiquement et sémantiquement un modèle M (généralement un automate fini) donné satisfait une propriété φ. Principalement, le model-checking consiste donc à explorer (grâce à divers algorithmes) systématiquement la totalité de l espace d états [symboliques] d un modèle. 8/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 8 / 40

Avantages du Model Checking Vérification exhaustive. Modèles basés sur la logique, syntaxiques, rigoureux et simples. On ne modélise que ce qui est intéressant pour la vérification des propriétés. Modèles non-déterministes présentés comme un avantage permettant de raisonner sans se soucier de la résolution du non-déterminisme dans le système. Algorithmes performant dans la grande majorité des cas. 9/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 9 / 40

Vérification formelle Prenons par exemple PROMELA - Process Meta Language (Holzmann, 1991). PROMELA : language de spécification + sémantique d exécution pour représenter des processus concurrents. PROMELA permet d écrire des modèles de vérification : une description du système + un ensemble de propriétés à vérifier sur le modèle (safety - "Rien de mauvais ne se produit", liveness - "Finalement, quelque chose de bien finit par se produire"). Un modèle de vérification est un modèle qui se concentre uniquement sur les aspects conceptuels nécessaires pour la vérification des propriétés => Notion de simplicité => Abstraction de très haut-niveau. 10/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 10 / 40

Vérification formelle Problèmes : Un modèle de très haut-niveau oblige à faire abstraction de concepts importants. Toutes les classes de systèmes temporels ne sont pas vérifiables ou difficilement vérifiables (Alur, 1994). Problème d explosion combinatoire récurrent (Clarke, 2008). Que se passe-t-il si les interactions entre composants dépendent de valeurs de données ou de leur coordination temporelle qu on ne peut pas représenter? 11/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 11 / 40

Prenons l exemple du Pacman Modélisons et vérifions des propriétés avec Pacman. 12/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 12 / 40

Prenons l exemple du Pacman Pacman, fantomes = FSM/processus asynchrones. 13/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 13 / 40

Prenons l exemple du Pacman Score, vies = Entiers. 14/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 14 / 40

Prenons l exemple du Pacman Position : nombre réel. Impossibilité d utiliser les réels avec certaines méthodes formelles. Alors on utilise une grille et des entiers. 15/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 15 / 40

Prenons l exemple du Pacman Figure : From "Conceptual Model Verification with Alloy", Ross Gore, SpringSim 15. 16/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 16 / 40

Prenons l exemple du Pacman Vérifier les collisions = Pas d état avec un pacman et un fantôme dans la même case. Pas de prise en compte de la vitesse. 17/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 17 / 40

Prenons l exemple du Pacman Ok, donc ce modèle garantit qu un Pacman et un fantôme ne peuvent pas se croiser sans collisioner. Mais il ne prend pas en compte la vitesse de déplacement qui dépend du temps écoulé entre deux états, c est à dire le temps entre le calcul de deux images successives à l écran. Ce modèle n est donc pas suffisant pour garantie cette propriété... 18/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 18 / 40

Avec les Timed Automata Peut-on résoudre ce simple problème? Solution 1 : Affiner la précision de la grille => explosion de l espace d états ; Solution 2 : Existe-t-il un autre formalisme vérifiable pour modéliser la vitesse dans l espace des réels? Les Timed Automata (Alur, 1994) permettent de prendre en compte la notion d horloge si les contraintes sont linéaires. Mais ils ne permettent pas de modéliser l interpolation. Et globalement, la vérification des systèmes temporels est difficile. 19/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 19 / 40

FV : En bref... L objectif d un modèle n est pas de définir entièrement un système. Un modèle de vérification aide les designers à découvrir les erreurs et les mauvaises hypothèses avant implémentation. Mais : Plus un modèle est précis, plus la probabilité que le système soit correct augmente. Trop de détails dans un modèle de vérification conduisent à des erreurs de design, mais un trop grand niveau d abstraction aussi... Le problème dans Pacman? Le temps... Quelle solution? 20/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 20 / 40

Une solution? En M&S, Zeigler (1976) définit un cadre et des techniques universelles de modélisation et simulation. Notamment, La séparation entre modélisation et simulation assure la réutilisabilité des modèles (modèles conceptuels vs modèles de simulation). Un formalisme (DEVS) et une sémantique opérationnelle claire (fournie par le simulateur abstrait) pour la représentation d un ensemble large de systèmes. La notion de Cadre Experimental (EF) facilite la découverte d hypothèses sur le système réel. 21/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 21 / 40

Une solution? Des solutions de vérification à base de simulation existent malgré que la simulation n est pas exhaustive. Des solutions combinant vérification formelle et simulation existent à base de remodélisation. Les MF sont utilisées pour vérifier les modèles de simulation... On peut donc combiner MF et DEVS. Notre idée : Introduire la sémantique de DEVS au sein des méthodes formelles. 22/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 22 / 40

Contents 1 Motivations 2 Combiner Méthodes formelles et Simulation 3 Applications 4 Conclusion 23/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 23 / 40

Idée Idée : Introduire dans le langage de spécification d une méthode formelle, la sémantique du simulateur abstrait DEVS, en modifiant légèrement la sémantique opérationnelle de la MF si elle existe. Pourquoi? On peut regénérer un modèle plus abstrait qui sera vérifiable en profitant de la puissance des algorithmes de vérification formelle, pour les invariants temporelles. On peut regénérer un modèle de simulation pour la vérification à base de simulation pour les propriétés comportementales. On peut alors combiner VF et Simulation sans remodéliser. On peut faire un rapprochement entre simuler et exécuter. Important pour la validation. Un seul modèle conceptuel est nécessaire pour vérifier à base de model-checking et de simulation. 24/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 24 / 40

Construire Dev-PROMELA PROMELA (Holzmann, 1997), un langage de spécification qui permet la modélisation et la vérification de processus asynchrones. Un modèle PROMELA : Un semble de processus asynchrones. Un processus est un ensemble d instructions et un semble de données de types "basiques" (entiers, booléens, bytes...). La sémantique est donnée par un automate fini. On introduit des ajouts syntaxiques pour modéliser : Les évènements : le modèle évolue selon des évènements qu il émet ou qu il reçoit ; Le temps écoulé entre chaque instruction : chaque instruction est associée à un nombre réel qui indique le temps qui doit s écouler entre la dernière instruction exécutée et celle-ci ; Types de transitions : s il s agit d une transition interne au sens des DEVS ou une transition externe. Réels : Un type abstrait pour modéliser les nombres réels. 25/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 25 / 40

Construire DEv-PROMELA 26/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 26 / 40

Construire DEv-PROMELA La sémantique d un modèle DEv-PROMELA = semantique donnée par le simulateur DEVS. Un DEv-PROMELA est simulable. Un DEv-PROMELA peut-il être vérifié? Oui puisque le modèle PROMELA atemporel à la même sémantique que le modèle temporel pour les propriétés structurelles. 27/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 27 / 40

Construire DEv-PROMELA 28/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 28 / 40

Construire DEv-PROMELA Structurellement, un DEv-PROMELA sans notions d évènements, de temps... = une bonne abstraction PROMELA. VF Recherche de deadlock induit par la structure (absence de transition...) ou des propriétés indépendantes du temps écoulées. Simulation Verification de propriétés dépendantes du temps écoulé et validation du modèle conceptuel. 29/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 29 / 40

Avantages On peut modéliser ce qui n était pas modélisable avant (ou difficilement). On peut vérifier ce qu on ne pouvait pas vérifier avant par simulation, tout en gardant la puissance de la vérification formelle (le modèle est vérifiable et simulable). On peut réduire en partie le problème d explosion combinatoire (la temporalité implique l ordonnancement => tous les chemins n ont pas tous un sens dans le monde réel). On passe d une abstraction très haut-niveau à une abstraction plus bas-niveau. Un seul et unique modèle, contrairement aux techniques par transformation explicite. 30/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 30 / 40

Avantages Un nouveau formalisme syntaxique avec la sémantique de DEVS. Plus facile de vérifier le modèle de simulation à partir de règles de réécriture depuis un DEv-PROMELA. Un DEv-PROMELA peut être implémenté dans n importe quel simulateur DEVS. 31/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 31 / 40

Avantages Valider un logiciel = Exécuter l implémentation. Simuler => Découvrir de nouvelles hypothèses sur le système. Simuler un modèle conceptuel de logiciel => "Pré-valider" les spécifications. Valider via un modèle à évènements discrets : gain de temps substantiel par rapport à une exécution temps réel. 32/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 32 / 40

Contents 1 Motivations 2 Combiner Méthodes formelles et Simulation 3 Applications 4 Conclusion 33/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 33 / 40

Retour à Pacman? Dans l exemple du Pacman : l interpolation est modélisable en DEv-PROMELA. On peut la vérifier par simulation. MC : "Existe-t-il un cas où un fantôme et un Pacman peuvent se croiser sans déclancher une collision?" Model-checking affirme que non! Simulation : On fait varier la vitesse et on vérifie la même propriété. La simulation affirme que oui. Que s est-il passée? 34/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 34 / 40

L abstraction sur des entiers... 35/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 35 / 40

Alors, on fait quoi? Résultat : Ici, la simulation détecte une erreur que le model-checking n est pas capable de détecter (le déplacement dépend du temps écoulé entre deux états). Le modèle ne garantit pas la propriété de non-croisement. ; Pour les autres propriétés qui ne dépendant pas du temps (le nombre de vie peut-il être négatif? Le score est-il toujours positif? Un pacman peut-il sortir du labyrinthe..), le model-checking est suffisant. 36/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 36 / 40

Contents 1 Motivations 2 Combiner Méthodes formelles et Simulation 3 Applications 4 Conclusion 37/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 37 / 40

Conclusion Le DEv-PROMELA est une extension de PROMELA pour la modélisation, vérification et validation de modèles à évènements discrets qui combinent VF et simulation. Une seule modélisation pour la VF et pour la Simulation. VF = vérification de propriétés indépendantes du temps, simulation complète la VF pour les propriétés dépendantes du temps. DEv-PROMELA est un langage syntaxique, rendant plus aisé l implémentation. Mais, DEv-PROMELA est limité au Classic DEVS. La simulation dépend toujours des scénarii joués. Identifier les bons scénarii reste un challenge. 38/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 38 / 40

Perspectives Etendre la classe des systèmes modélisables avec DEv-PROMELA (Parallel DEVS, GDEVS...) Etablir des règles pour identifier le cadre expérimental. Améliorer le MC en tenant en compte que des chemins définis réellement par le modèle DEv-PROMELA (et pas l ensemble des chemins exprimés par le DEVS symbolique). 39/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 39 / 40

Merci! Merci pour votre attention. Des questions? 40/40 Yacoub et al. (LSIS) Formal Methods and Discrete-Event Simulation JDF 16 40 / 40