Module OMGL - ModDyn



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

RTDS G3. Emmanuel Gaudin

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

Le génie logiciel. maintenance de logiciels.

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Métriques de performance pour les algorithmes et programmes parallèles

Génie Logiciel Avancé Cours 3 Le modèle à objets

Les diagrammes de modélisation

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

Urbanisation de système d'information. PLM 4 (Product Lifecycle Management) Préoccupation d'assurance qualité Processus et Procédures

PARCOURS COMPLET AU COURS MOYEN

Machines virtuelles Cours 1 : Introduction

UML : DIAGRAMME D ETATS

Chapitre 1 Les instruments fermes

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Brique BDL Gestion de Projet Logiciel

FaceBook aime les Maths!

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Cours Bases de données

Analyse,, Conception des Systèmes Informatiques

OCL - Object Constraint Language

MATHÉMATIQUES FINANCIÈRES

SIMULATEUR DE MARCHE FINANCIER

Alfstore workflow framework Spécification technique

LES TOUT PREMIERS PAS

Bigdata et Web sémantique. les données + l intelligence= la solution

Bases de données. Chapitre 1. Introduction

Analyse des Besoins (Spécifications)

CONTEC CO., LTD. Novembre 2010

IFT2255 : Génie logiciel

Qualité du logiciel: Méthodes de test

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

Messagerie vocale Édition Îles-de-la-Madeleine. Guide d utilisation télébec telebec.com

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

TD sur JMS ) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

WEBISO Internet & Intranet workflow

Appelant le

La veille concurrentielle est une arme.

pyensae StockPrices September 1, Manipulation de séries financières avec la classe StockPrices

Introduction au Génie Logiciel

relatif aux opérations d assurance réalisées dans le cadre d un «patrimoine d affectation»

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Patrons de Conception (Design Patterns)

COMPRENDRE LES OPTIONS BINAIRES - LEÇON 1

Manuel KBC-Online Local

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Fonctions de deux variables. Mai 2011

Analyser la valeur du contenu avant de l écrire?

TYXAL. Annexe pour la télésurveillance et l'accès PC par modem pour les transmetteurs des gammes TYXAL et TYDOM

L a gamme financière en Belgique

L ABC de l acquisition de petites entreprises

Synthèse d une conception UML temps-réel à partir de diagrammes de séquences

Module 3 : L électricité

Module 3 : L électricité

Traduction des Langages : Le Compilateur Micro Java

L hypertexte, le multimédia, c est quoi?

Manuel d utilisation du logiciel RÉSULTATS. Édition destinée aux départements

11 Février 2014 Paris nidays.fr. ni.com

INFORM OBLIGATIONS DE PREMIÈRE QUALITÉ ET OBLIGATIONS À HAUT RENDEMENT: AUGMENTER LE RENDEMENT ET DIMINUER LE RISQUE GRÂCE À UNE JUSTE COMBINAISON

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

Engagement de l ABC en matière de lisibilité des documents hypothécaires. Préparé par l Association des banquiers canadiens

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Ingénierie et gestion des connaissances

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Ingénérie logicielle dirigée par les modèles

Corrigé des exercices sur les références

Modélisation et Simulation

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

Baccalauréat Professionnel Électrotechnique, Énergie, Équipements Communicants

Once the installation is complete, you can delete the temporary Zip files..

b ) La Banque Centrale Bilan de BC banques commerciales)

Utilisation des nombres pour résoudre des problèmes Aspect cardinal Maternelle MS-GS. Francette Martin

L Equilibre Macroéconomique en Economie Ouverte

Sélection du contrôleur

Nombres et calcul numérique


Cours 1 : Qu est-ce que la programmation?

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Simulation d une économie monétaire (programmation impérative, sujet 3)

UE C avancé cours 1: introduction et révisions

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Prezi. Table des matières

ANALYSE TRAMEs LIAISON SERIE

FAQ messagerie CRI Université de Bourgogne

Introduction à l analyse numérique : exemple du cloud computing

Partie 1. Fonctions plus complexes dans Excel. Fonctions Si(), Et(), Ou() et fonctions imbriquées. Opérateurs logiques. I.1.

A.3 Les méthodes : L applicabilité

CARTES PRÉPAYÉES AU CANADA : IDENTIFICATION DES ENJEUX JURIDIQUES ET GESTION DU RISQUE. Institut Canadien 28 novembre 2012 Nicolas Faucher

Table des matières. Avant-propos...

PPE 2-1 Support Systeme. Partie Support Système

Le scoring est-il la nouvelle révolution du microcrédit?

LES DECIMALES DE π BERNARD EGGER

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

1 Modélisation d une base de données pour une société de bourse

Le Guide Pratique des Processus Métiers

COMPTE RENDU. Atelier-débat avec les futurs clients éligibles. 25 septembre 2002

Gregory Renard CTO Wygwam - Research and Innovation Manager Usilink Microsoft Regional Director - Most Valuable Professional

Transcription:

Module OMGL - ModDyn Modélisation de la dynamique modèle ETAT-TRANSITION J. Christian Attiogbé Février 2009, maj avril 2012 J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 1 / 42 Plan La dynamique dans le logiciel La dynamique à rapport à ce qui ce passe avec le déroulement du temps Il n y a pas d événement sans le facteur temps. Une suite d événements décrit un comportement : des transitions entre des états. En modélisation, on tient compte de cette facette dynamique. En construction de logiciels, on prévoit le comportement d un logiciel. On fait pour cela des modèles. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 2 / 42

Plan La dynamique dans le logiciel on actimage actimage 1 2 3 off desactimage J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 3 / 42 Ce cours Plan Outils de modélisation des traitements, des comportements, ou de la dynamique dans les logiciels. Ces outils complètent ceux destinés à la modélisation des données. Expressions régulières Automates à états finis (diagrammes état/transition) Automates de Mealy et Moore Réseaux de Petri Automates hiérarchiques de Harel (ou Statecharts) Algèbres de processus (CCS, FSP, Lotos) J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 4 / 42

Plan Organisation Cours : 9h20 TD/TP : 32h (MM C. Attiogbé, O. Finot, J-M. Mottu) emploi de divers outils logiciels de modélisation Evaluation : contrôle continu, régulièrement J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 5 / 42 Modélisation Plan La modélisation est une activité délicate, on procède par abstractions (l outillage mathématique sert), par analogie avec des cas connus (réutilisation), par entraînement et exercices. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 6 / 42

Plan Modélisation : où se situe-t-on? Informatique = Software (Génie logiciel) : construire des logiciels Hardware : construire des matériels (ordinateurs) On modélise ce qu on va construire, les données et des traitements Modélisation : une étape d abstraction/conceptualisation en amont de la programmation. Quel peut être le modèle d un logiciel? Combinaison des modèles des données (vus dans un Module précédent), des traitements (la dynamique) et autres caractéristiques. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 7 / 42 Modélisation Plan Modélisation : Hoare : A scientific theory is formalised as a mathematical model of reality, from which can be deduced or calculated the observable properties and of a well-defined class of processes in the physical world. Il y a deux principales notions de modèles (en informatique). 1 Modèle = une approximation de la réalité par une structure mathématique. 2 Un objet O est modèle d une réalité R, si O permet de répondre aux questions que l on se pose sur R. En Mathématique, Physique,...: systèmes d équations portant sur des grandeurs (masses, énergie,...) ou des lois hypothétiques. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 8 / 42

Plan Plan de la suite 1 Expressions régulières 2 Automates à états finis 3 Automates de Mealy (et Moore) J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 9 / 42 Terminologie Expressions régulières Diagramme Etat/Transition (State Diagram) Automate (Automaton, Automata) Machine à états finis (Finite State Machine) Système de transitions (étiquetées) : Labelled Transition Systems Alphabet d actions Espace d états Relation de transition, Fonction de transition graphe d états J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 10 / 42

Expressions régulières Expressions régulières Une expression régulière décrit un comportement/traitement ; c est un modèle du comportement. Une expression régulière est décrite avec : des actions abstraites, des valeurs, des opérateurs :. + * () Exemples : (1.0)* + (1+0)* (lire. traiter. ecrire)* login. (command. (response + error))*. logout J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 11 / 42 Exemple de modèle Automates à états finis Des états, des transitions, des étiquettes Est-il est possible d obtenir une ressource sans avoir donné un code correct? J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 12 / 42

Automates à états finis Automate déterministe Structure d un automate à états Ensemble d états : S ={S 0,, S f, } Un alphabet d actions ou d étiquettes : A Une relation de transition δ définie sur (S x A) et S : S A S Un état initial S 0 (élément de S) Un ou des états finaux S f (éléments de S) L automate est déterministe lorsque la relation de transition est une fonction plutôt qu une relation. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 13 / 42 Automates à états finis Automate déterministe : notation Etat, état initial, état final, transition (étiquetée) entre états J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 14 / 42

Automates à états finis Automate déterministe : exemple Remarque : qu est-ce qu un automate non-déterministe? En construire un à partir de l exemple. Quel impact sur la programmation? J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 15 / 42 Automates à états finis Automate déterministe : exemple S = {E 0, E 1, E 2 } A = {a, i, o, h, e,!} S 0 = E 0 δ = {((E 0, o), E 0 ), ((E 0, a), E 1 ), ((E 1, i), E 1 ), ((E 1, e), E 2 ), ((E 0, h), E 2 ), ((E 2,!), E 2 )} J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 16 / 42

Automates à états finis Exemples d automates Vie d un processus dans un système Lecture d une adresse éléctronique normalisée Feu tricolore (à la française, RJV) Marche Toumaï Inscription d un étudiant (à l Université) Unix (comportement de base du système) Mami nova (invitation au goûter) Exercice : Dessinez les automates représentant les comportements dans chacun des cas. Quels sont les états? les transitions entre quels états? J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 17 / 42 Automates à états finis Modélisation avec les automates A quoi servent des automates en Génie logiciel? : A modéliser (donc un Outil de Génie Logiciel), afin d étudier/prédire/analyser les comportements des systèmes avant de les développer. Le modèle n est pas le système, le modèle simule mathématiquement le système. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 18 / 42

Automates à états finis Modélisation avec les automates Modélisation ou représentation des séquences d événements [autorisés] d un système (logiciel) : algorithme/module/composant un événement peut prendre plusieurs formes : une entrée, une sortie, un appel d opérations, etc un état de l automate est une abstraction d un état du système modélisé J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 19 / 42 Automates à états finis Modélisation avec les automates Un automate modélise un système (ou un module) Hiérarchisation : les états sont des automates Composition parallèle (avec des produits de plusieurs automates). J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 20 / 42

Automates à états finis Exercices Spécification des comportements liés à une bibliothèque à l aide d automates Exo1 : On considère l automate vie d un livre Exo2 : On considère l automate prêts de livres aux membres de la bibliothèque. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 21 / 42 Exercice bibliothèque Automates à états finis Vie d un livre : Mis en service, emprunté, rendu, sorti de service Prêt d un livre aux membres : abonner membre ; emprunter, retourner, renouveler, perdre,..., désabonner J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 22 / 42

Automates à états finis Analyse des solutions Vie d un livre (si on en a plusieurs?) Les prêts Combien de livres empruntés au maximum? Limites de renouvellement? J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 23 / 42 Exercice Automates à états finis Améliorer les spécifications précédentes en mettant des contraintes Besoin de caractériser les états et les transitions J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 24 / 42

Automates à états finis Améliorations Pouvoir représenter toutes les réservations Pouvoir exprimer des contraintes sur le(s) membre(s) : l emprunteur courant ne peut réserver son livre réservations servies dans l ordre d arrivée, mais annulés dans n importe quel ordre J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 25 / 42 Exercice Automates à états finis Décomposition de la spécification en plusieurs diagrammes (automates) Liaison entre les diagrammes J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 26 / 42

Automates à états finis Limitations des automates les paramètres d entrée et de sortie des événements ne sont pas explicites difficile de représenter entièrement l espace du système difficile de donner toutes des préconditions ne donne que les cas normaux d évolution J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 27 / 42 Automates à états finis Exercice : conversation téléphonique Spécifiez à l aide d un automate le comportement d un système de communication : Décrocher, composer le numéro, répondre à un appel, parler, raccrocher,... J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 28 / 42

Automates à états finis Composition des modèles dynamiques : composition des automates Produit libre de deux automates Produit synchrone de deux automates Dans la pratique, différentes entités identifiées dans le cahier de charges vont être décrites séparément puis composées pour former un système global. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 29 / 42 Machine à états finis Automates à états finis Automates(machines) de Mealy et Moore : une catégorie d automates où on peut effectuer des actions ou sortie pendant le déroulement de l automate. Mealy : action de sortie associée aux transitions Moore : action de sortie associée aux états On distingue les entrées et les sorties sur réception d une entrée, une sortie peut être produite Distinction avec automate élémentaire Dans un automate on ne distingue pas entrée et sortie ; On identifie dans le texte accompagnant l automate, la nature d un évènement (entrée ou sortie). J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 30 / 42

Automates à états finis Machine à états finis : Mealy Les machines de Mealy sont des automates non hiérarchiques. Les états sont simples (pas de sous-états) et les transitions entre états sont atomiques. Sur les transitions entre états on peut avoir les étiquettes : evenement / actions [garde] / actions evenement[garde] / actions garde est une condition booléenne Dans les gardes on utilise les opérateurs logiques : OR, AND, NOT Lorsqu on a plusieurs actions, elles sont séparées par ; J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 31 / 42 Automates de Mealy (et Moore) Machine à états de Mealy Ensemble d états : S Ensemble d entrées : In Ensemble de sorties : Out Un état initial : S 0 Deux relations : transition δ : S In S sortie δ o : S In Out Etat final J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 32 / 42

Machines de Mealy Automates de Mealy (et Moore) Notation des transitions Ss i/o St si l entrée i est reçue alors que le système est dans l état Ss, la sortie o est produite et le nouvel état du système est St i est aussi appelé le déclencheur (trigger). J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 33 / 42 Automates de Mealy (et Moore) Caractéristiques d une machine de Mealy non hiérarchique un état dénote l état complet du système le système est dans un seul état à la fois une transition est atomique ; elle ne peut être décomposée J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 34 / 42

Automates de Mealy (et Moore) Etude de cas : distributeur On considère le distributeur suivant : Le distributeur délivre des bouteilles d eau à 50c, des canettes de cola à 50c et des barres chocolatées à 1 euro. le distributeur n accepte que des pièces de 50c. Le distributeur fonctionne selon le principe suivant : on introduit un certain nombre de pièces ; si ce nombre est strictement plus grand que 2 alors la pièce introduite est rejetée immédiatement On envisage plusieurs versions en faisant différentes hypothèses de travail. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 35 / 42 Automates de Mealy (et Moore) Suite cahier de charges distributeur (V1) on peut (tenter de) commander dès qu on a introduit une pièce ; si le solde est insuffisant, la machine le signale. Dans le cas contraire, la commande est honorée et la monnaie éventuelle est rendue. (V2) tant que la commande n est pas passée, on peut toujours annuler et les pièces introduites sont rendues. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 36 / 42

Automates de Mealy (et Moore) Solution Distributeur (au tableau) J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 37 / 42 Automates de Mealy (et Moore) Solution Distributeur Une solution, hypothèse : pièece unique acceptée (50cents). Eau,Choco,Barre/SoldeInsuf Eau/ serveau Choco/servChoco Reset/Commande? 0 piece50/ Annuler/rendreP 50 Barre/SoldeInsuf Choco/servChoco Reset,Annuler/Commande? Barre/servBarre 100 Eau/ serveau Annuler/rendreP piece50/ Reset/Commande? piece50/rendrep J. Christian Attiogbé (Février 2009, maj avril 2012) Figure: Module Machine OMGL - ModDyn à Boisson 38 / 42

Automates de Mealy (et Moore) Modélisation : contrôle d accès Lecteur de carte/code ; Déblocage d accès à une salle Modéliser l usager, puis le gestionnaire d accès Composition (par produit synchrone) des deux modèles. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 39 / 42 Automates de Mealy (et Moore) Synthèse : machines à états Mealy Très expressif, même si non hiérarchique Les étiquettes de transition comportent : evt [garde] / actions*. Pratiquement, il faut déclarer et initialiser les variables. On peut utiliser des fonctions, des procédures, des paramètres, etc Aide à la génération de code exécutable. J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 40 / 42

Automates de Mealy (et Moore) Généralisation des machines à états SDL (normalisé, utilisé en Télécoms) Statecharts de David Harel (hiérarchiques) Réseaux de Petri Algèbres de processus J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 41 / 42 Automates de Mealy (et Moore) Références bibliographiques Il y a de nombreuses références sur le sujet : voici quelques indications en guise de points d entrée Jacques Stern Fondements mathématiques de l informatique, Masson, Bellot et Sakarovitch Logiques et automates, Ellipses, J.E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation Second Edition. Addison-Wesley (2001). J. Christian Attiogbé (Février 2009, maj avril 2012) Module OMGL - ModDyn 42 / 42