IGL301 - Spécification et vérification des exgiences 1 Diagramme état-transition (ref : Bray section pages 266 à 283 et article Desharnais, J.,

Slides:



Advertisements
Présentations similaires
(ref : Bray section pages 283 à 290)
Advertisements

Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
Commerce électronique Automne  Introduction  Création du panier d’achats  Migration du panier d’achats  Conclusion.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
UML2 : Panorama de la notation Laurent Henocque Enseignant Chercheur ESIL/INFO France
Classes, objets, séquences, communication, états
Système d’aide à la décision Business Intelligence
Initiation à la conception des systèmes d'informations
Suites ordonnées ou mettre de l’ordre
AMUE – SIFAC Intégration Fichier Mouvements BDF
Rappels et présentation du réseau local
Modèle objet : les classes
Révision et modification de votre demande
Ch.1 : Modélisation des systèmes par SysML
DOC MYCK : Programmation
03/02/2018.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Représentation des nombres réels
Initiation aux bases de données et à la programmation événementielle
Pas de variable globale
Visite guidée - session 3 Les postes de charge et les gammes
Quelques ressources sur la modélisation
Information et Système d’Information
Loi Normale (Laplace-Gauss)
Langages pour le Temps Réel
Les bases de données et le modèle relationnel
3ème Livre 1 Rappel.
Présentation multimédia avec open office
Cyber-Sphinx Séance 2.
Langages de programmation TP10
Routage S 3 - Questionnaire N°1
Les interfaces en PHP.
Technologies de l’intelligence d’affaires Séance 12
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Fonctions Logiques & Algèbre de BOOLE
Cyber-Sphinx Séance 2.
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Structure D’une Base De Données Relationnelle
REVUE DE LITTERATURE. Introduction Première partie majeure dans la rédaction du mémoire, la réalisation d’une revue de littérature consiste à effectuer.
Module: Logique Mathématique. SOMMAIRE 1- Notions d’ensembles 2- Constructions d’ensembles 3- Cardinal d’ensembles 4- Relations d’ensembles ordonnées.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Type Concret – Type Abstrait
Plateforme CountrySTAT Aperçu global des métadonnées dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME CountrySTAT.
Programme financé par l’Union européenne
© Robert Godin. Tous droits réservés.
Cours 10 : Les Web Services et WSDL Février Version 1.0 -
SYSTèMES à évènements discrets
Transfert d’IHM de PC vers PDA
Les cas d’utilisation 420-KE2-LG.
2.4 La loi de vitesse d’une réaction chimique
La puissance du transfert d’énergie électrique entre un générateur et un circuit constitué de conducteurs ohmiques dépend-elle de ces conducteurs ohmiques.
Rappels sur le grafcet Normes NF EN CEI /01/2019
Transition vers l’assignation automatique des stages à la résidence
Définition :. Pourquoi le GEMMA ? GEMMA : l'acronyme GEMMA signifie : Guide d'Etude des Modes de Marche et d'Arrêt. Comme son nom l'indique, c'est un guide.
Contribution du LHyGeS
Plan I.Définitions II.Objectifs III.Intérêt IV.Quoi tester ? V.Processus VI.Exemples VII.Conclusion VIII.Références.
Flowchart Itération Cours 04.
Principes de programmation (suite)
Programmation Scratch
Merise le modèle de traitement
GESTION DE LA PRODUCTION Réalisé par : EL MAROUSSI Mohammed DRIOUCHI Mohammed Abdeljabbar WAKENNOU Salah CRMEF Grand Casablanca Cycle de préparation à.
PAF Guillaume Martin - Fabrice Cizeron - Xavier Roulot
Structure de données Les listes.
Non-conformités Des non-conformités Pourquoi? Rev.3 (2015/06/01)
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
ScienceDirect Guide d’utilisation de la base de données : ScienceDirect Pr R. EL OUAHBI.
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Modélisation fonctionnelle : ETUDE DE CAS. 01 Modélisation fonctionnelle :étude de cas Ce chapitre va nous permettre d’illustrer pas à pas, sur une première.
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

IGL301 - Spécification et vérification des exgiences 1 Diagramme état-transition (ref : Bray section pages 266 à 283 et article Desharnais, J., Frappier, M., Mili, A.: State Transition Diagrams. )

IGL301 - Spécification et vérification des exgiences 2 Diagrammes état-transition automate machine à états finie –Mealy –Moore machine à états étendue –SDL –statechart –ROOM

IGL301 - Spécification et vérification des exgiences 3 Automate déterministe structure (Q, , ,q 0 ) où –Q : ensemble des états –  : alphabet –  : fonction de transition définie sur Q    Q –q 0  Q : état initial –peut aussi inclure l’ensemble F  Q des états finaux l’automate est dit déterministe pcq  est une fonction plutôt qu’une relation

IGL301 - Spécification et vérification des exgiences 4 Automate : représentation graphique q0q0 q1q1 q2q2 a b c Q = {q 0, q 1, q 2 }  = {a, b, c}  = {(q 0,a)  q 1, (q 1,b)  q 1, (q 1,c)  q 2 } F = {q 2 }

IGL301 - Spécification et vérification des exgiences 5 Automate : modélisation on s’en sert pour réprésenter les séquences d’évènements valides d’un système un évèmenent peut prendre plusieurs formes –une entrée, une sortie, un appel de méthode, etc les états sont souvent une abstraction de l’état du système –habituellement impossible de représenter tous les états du système avec un automate –founit un point de vue partiel difficile de représenter le parallélisme

IGL301 - Spécification et vérification des exgiences 6 Exercice 1 Utilisez un automate pour spécifier le comportement d’une bibliothèque Prenez en compte seulement les prêts de livres aux membres Décrivez les limitations et les informations implicites

IGL301 - Spécification et vérification des exgiences 7 Solution 1 q0q0 q1q1 créer emprunter q2q2 renouveler retourner information implicite et limitations point de vue d’un livre seulement n’exprime pas les contraintes sur le membre limite de prêt n’indique pas si un membre peut emprunter plusieurs livres à la fois supprimer

IGL301 - Spécification et vérification des exgiences 8 Exercice 2 Ajouter les réservations à l’exercice précédent Décrivez les limitations et les informations implicites

IGL301 - Spécification et vérification des exgiences 9 Solution 2 q0q0 q1q1 créer emprunter q2q2 renouveler retourner q3q3 réserver q4q4 retourner prêter SurRes q5q5 réserver q6q6 retourner prêter SurRes limitations et informations implicites ne représente que deux réservations à la fois impossible de représenter toutes les réservations n’exprime pas les contraintes sur le membre : 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 réserver annulerRés... supprimer

IGL301 - Spécification et vérification des exgiences 10 Exercice 3 Décomposez votre spécification en plusieurs diagrammes Exprimez les liens entre les diagrammes

IGL301 - Spécification et vérification des exgiences 11 Exercice 4 Écrivez le pseudo-code d’un programme qui traite les évènements d’une bibliothèque –soyez le plus précis possible; –faites référence au modèle de données; –donnez toutes les préconditions et toutes les mises-à-jour de chaque évènement

IGL301 - Spécification et vérification des exgiences 12 Exercice 4 (suite) traitez les évènements suivants : creer emprunter renouveler retourner supprimer inscrire désinscrire reserver preterSurRes annulerRes afficherPrets

IGL301 - Spécification et vérification des exgiences 13 Exercice 5 Décrivez les liens entre vos automates et votre pseudo-code pour la bibliothèque –indiquez à quel état du système correspond un état de l’automate –indiquez le lien entre les préconditions des évènements et le pseudo-code –indiquez les forces et les limitations de la notation d’automate

IGL301 - Spécification et vérification des exgiences 14 Solution 5 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 les préconditions –ne donne pas les messages d’erreurs –comment déterminer si un programme satisfait un automate???

IGL301 - Spécification et vérification des exgiences 15 Exercice 6 Spécifiez à l’aide d’un automate le comportement d’un système téléphonique de base (POTS) –décrochez –composer un numéro –répondre à un appel identifiez bien les entrées et les sorties

IGL301 - Spécification et vérification des exgiences 16 Exercice 6 (suite) faire le modèle conceptuel de données du POTS faire le diagramme de classe du POTS faire les cas d’utilisation du POTS quels liens y a-t-il entre ces diagrammes

IGL301 - Spécification et vérification des exgiences 17 Exercice 7 Définissez la notion d’équivalence de deux automates

IGL301 - Spécification et vérification des exgiences 18 Machine à états finie proposé par Mealy et Moore (séparément) –Mealy : sortie associée à une transition –Moore : sortie associée à un état distingue entre les entrées et les sorties –sur réception d’une entrée, une sortie est produite distinction avec automate –automate 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)

IGL301 - Spécification et vérification des exgiences 19 Machine à états de Mealy

IGL301 - Spécification et vérification des exgiences 20 Machine de Mealy : convention transition s1 --- i / o --> s2: –si l’entrée i est reçue alors que le système est dans l’état s1, la sortie o est produite et le nouvel état du système est s2 –i est aussi appelé le déclencheur (trigger)  O : sortie inintéressante, ou absente si une entrée est reçue et qu’aucune transition n’est définie pour cette entrée, il ne se passe rien (l’entrée est ignorée)

IGL301 - Spécification et vérification des exgiences 21 Exercice Spécifier une pile avec une machine de Mealy

IGL301 - Spécification et vérification des exgiences 22 Machine Mealy : exemple d’une pile état initial

IGL301 - Spécification et vérification des exgiences 23 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

IGL301 - Spécification et vérification des exgiences 24 Séquence : définitions S* dénote l’ensemble de toutes les séquences (incluant la séquence vide  ) formées à partir d’éléments de S S+ dénote l’ensemble de toutes les séquences non vides formées à partir d’éléments de S S* = S+  {  } on dénote par t1t2 la concaténation des séquence t1 et t2

IGL301 - Spécification et vérification des exgiences 25 Machine de Mealy : sémantique

IGL301 - Spécification et vérification des exgiences 26 Diagramme état-transition généralisé plusieurs notations utilisées –SDL –Statechart –ROOM –ad hoc (ex: celle du livre)

IGL301 - Spécification et vérification des exgiences 27 STD : exemple d’un guichet bancaire comment déterminer good ou bad? Quel est l’état initial? trigger action état

IGL301 - Spécification et vérification des exgiences 28 STD : exemple d’une pile (UML)

IGL301 - Spécification et vérification des exgiences 29 SDL SDL - Specification and Description Language norme CCITT

IGL301 - Spécification et vérification des exgiences 30 SDL State Transition Trigger Response (action with output) Action (no output) Decision or Message

IGL301 - Spécification et vérification des exgiences 31 SDL - Guichet bancaire

IGL301 - Spécification et vérification des exgiences 32 SDL - Concurrence un trait pointillé dénote un envoi de message

IGL301 - Spécification et vérification des exgiences 33 SDL - Temporisateur (timer) Timer 1 10 secs Timer 1

IGL301 - Spécification et vérification des exgiences 34 SDL - Exemple temporisateur

IGL301 - Spécification et vérification des exgiences 35 SDL - exemple alarme incendie

IGL301 - Spécification et vérification des exgiences 36 Exercice 8 Spécifier le comportement d’un livre avec SDL prenez en compte les prêts, les réservations et les retards

IGL301 - Spécification et vérification des exgiences 37 Statechart machine à états hierarchique concurrence actions associées aux transitions et aux états condition associée aux transitions

IGL301 - Spécification et vérification des exgiences 38 statechart - notation trigger (guard) / action 1 state A 2 state B bad PIN (1 st attempt) 2 await PIN 1 await card entry card entered bad PIN (2nd attempt)/ eject card good PIN etc.

IGL301 - Spécification et vérification des exgiences 39 Statechart - état hiérarchique T1 T2 T3 T4 T2 T5

IGL301 - Spécification et vérification des exgiences 40 Statechart - hiérarchisation T4 T3 T4 T T4 T3 T2

IGL301 - Spécification et vérification des exgiences 41 Statechart - historique T3 2 H T2 T4

IGL301 - Spécification et vérification des exgiences 42 Statechart - hiérarchisation class editing boat editing race editing series editing entry editing results editing

IGL301 - Spécification et vérification des exgiences 43 Statechart - hiérarchisation ces deux notations sont équivalentes

IGL301 - Spécification et vérification des exgiences 44 Statechart - hiérarchisation class editing boat editing race editing series editing entry editing results editing class-buttonseries-buttonrace-button results-button boat-buttonentry-button

IGL301 - Spécification et vérification des exgiences 45 Statechart - concurrence await IR signal await 2 nd IR signal < 10 sec, await 2 nd smoke signal await smoke signal alarm off alarm on +ve -ve alarm signal reset smoke signal time-out smoke signal/ send alarm signal +ve/ send alarm signal

IGL301 - Spécification et vérification des exgiences 46 Exercice 9 Donnez un statechart pour le système de guichet bancaire Donnez un statechart pour le POTS

IGL301 - Spécification et vérification des exgiences 47 TP4 - partie I Spécifiez à l’aide d’un statechart un four micro-onde ayant les caractéristiques suivantes –trois niveaux de température (low, medium, high) –timer (chronomètre) –defrost (3 étapes de durée égale : la première à high, la deuxième à medium et la dernière à low) –programmation jusqu’à 3 étapes où l’utilisateur peut spécifier la température et la durée –définissez les touches appropriées et réalistes pour permettre à l’utilisateur d’utiliser ces fonctions –par souci de simplicité, ne spécifiez pas l’affichage à l’écran; spécifiez seulement les actions de contrôle pour l’élément chauffant et les alarmes sonores (fin de cuisson ou fin d’un timer, par exemple) –décrivez le traitement des actions sous forme de pseudo- code quand cela est nécessaire –déclarez les variables d’état que vous utilisez dans les actions

IGL301 - Spécification et vérification des exgiences 48 TP4 - partie II Utilisez un statechart pour spécifier un aspect de votre projet de session Décrivez le problème sous forme textuelle et donnez le statechart La taille du problème doit être similaire à celle du micro-onde Soyez suffisamment précis pour qu’un observateur externe (comme moi) qui ne connait pas du tout le problème puisse interpréter votre spécification sans ambiguïté