Sciences Industrielles pour l Ingénieur



Documents pareils
Les diagrammes de modélisation

Cours de Génie Logiciel

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

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

Guide d'utilisation des appareils DS350E avec tablette Motion LE1700. Dangerfield February 2009 V1.0 Delphi PSS

1. Introduction Création d'une requête...2

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

La gestion intelligente de vos bâtiments :

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

I- Définitions des signaux.

UML : DIAGRAMME D ETATS

La gestion des boîtes aux lettres partagées

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

AQUAGENIUZ Système de surveillance/ controle de l eau

2 Grad Info Soir Langage C++ Juin Projet BANQUE

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

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

GPA770 Microélectronique appliquée Exercices série A

Algorithmique avec Algobox

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

EXCEL PERFECTIONNEMENT CALCULS AVANCES

IFT1215 Introduction aux systèmes informatiques

VIII- Circuits séquentiels. Mémoires

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Access 2010 Entraînement 1 Garage Renault Dossier 24 MCD

TP 7 : oscillateur de torsion

Internet Explorer. Microsoft. Sommaire :

Caractéristiques principales : 1. Prise en charge des réseaux GSM et PSTN 2. Quadri-bande : 850/900/1 800/1 900 MHz 3. Enregistrement vocal sur 2

Convertisseurs statiques d'énergie électrique

STI 3 Édition 4 / Mai 2005

Celestia. 1. Introduction à Celestia (2/7) 1. Introduction à Celestia (1/7) Université du Temps Libre - 08 avril 2008

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

uc : Cas d utilisation Top-Chair [Utilisation normale] Fauteuil Top-Chair Déplacer le fauteuil sur tous chemins «include» «include» «extend»

TPS 4 Objectifs du programme aide à la lecture et à l'écriture Les fonctions principales lecture à haute voix

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

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

Cours Programmation Système

1 sur 5 10/06/14 13:10

Guide d'utilisation du Serveur USB

Catalogue - Formation en «électropneumatique et systèmes automatisés process control system»

LES DÉTERMINANTS DE MATRICES

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

QUESTION 1 {2 points}

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

Infolettre #18 : Les graphiques avec Excel 2010

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant

Utilisation de l'outil «Open Office TEXTE»

PARTIE NUMERIQUE (18 points)

inviu routes Installation et création d'un ENAiKOON ID

L AUTOMATISME LE SIGNAL

Bien travailler sur plusieurs écrans

À propos de votre liseuse... 4

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Guide d'utilisation EasyMP Monitor Ver.4.31

Note de cours. Introduction à Excel 2007

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

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Dessiner dans Galaad FRANÇOIS PALLUT

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Monte charge de cuisine PRESENTATION DU MONTE CHARGE

ANALYSE FONCTIONNELLE INTERNE DEVOIR LIBRE

Guide de l'agent de notification

Les outils graphiques d expression pour l analyse fonctionnelle des systèmes Domaine d application : Représentation conventionnelle des systèmes

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Infos. Indicateurs analogiques encastrables pour installation à courants forts. Série M W/P/ LSP BWQ BGQ TP TG WQ /0S WQ /2S FQ /2 W BI BIW DFQ

modélisation solide et dessin technique

À propos de votre liseuse... 5

MS PROJECT Prise en main. Date: Mars Anère MSI. 12, rue Chabanais PARIS E mail : jcrussier@anere.com Site :

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Manuel d utilisation Alarme Auto na-2018 Attention :

Hot Wire CFM / CMM Thermoanémomètre

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d algorithmique pour la classe de 2nde

SOMMAIRE. Qu est-ce que le compteur électronique... page 1. Comment consulter les informations... page 1. Les différentes options tarifaires...

Alcatel OmniPCX Office

Utilisation du tableau de bord

CFAO. Conception et Fabrication Assistée par Ordinateur. Le matériel utilisé en CFAO : un SYSTÈME AUTOMATISÉ. Barbecue Assisté par Ordinateur

Guide d'utilisation EasyMP Monitor Ver.4.52

DIAGNOSTIQUER EN UTILISANT L INFORMATIQUE

SCIENCES INDUSTRIELLES POUR L INGÉNIEUR. Partie I - Analyse système

Guide pour la réalisation d'un document avec Open Office Writer 2.2

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters

MEGA ITSM Accelerator. Guide de Démarrage

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

Fascicule u7.05 : Impression de résultat pour visualisation

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Panneau solaire ALDEN

MANUEL D UTILISATION (simplifié) DE LA CENTRALE LS-30

ELEC2753 Electrotechnique examen du 11/06/2012

Conception d'applications de base de données ios plus rapides Guide Pratique FileMaker

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

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

APPLICATION DU SCN A L'EVALUATION DES REVENUS NON DECLARES DES MENAGES

Transcription:

Centre d Intérêt 3 : TRAITER l'information Compétences : ANALYSER, CONCEVOIR LE COMPORTEMENT DES SYSTEMES LOGIQUES SEQUENTIELS : Comment décrire un comportement par un graphe d'états? Analyser le comportement d'un système décrit par un graphe d'états Décrire les évolutions temporelles des grandeurs dans la chaîne d'information Modifier une programmation à l'aide d'un graphe d'états COURS 3 TP TD La synthèse d un graphe d états permet d obtenir une machine à états réalisant la partie commande d un système. Les états représentent toutes les valeurs que peuvent prendre au fil du temps les variables internes du circuit de logique séquentielle. La notion d'évènement intervenant dans ces systèmes pour le passage d'un état à un autre, ils sont également appelés systèmes à évènements discrets ("discret" s'oppose à "continu"). Le schéma de la machine à états générique est le suivant : décrivant l'état actuel Par exemple, pour une machine à café, les états peuvent être : 1 Attente de pièce ; 2 Descente du gobelet ; 3 Versement de la poudre à café ; 4 Versement de l eau chaude ; 5 Affichage "café est prêt". Fonctions logiques mémoire Ce comportement se déroule selon une SÉQUENCE. Un tel système est donc bien SÉQUENTIEL. Le graphe d'états, comme l'algorigramme (cf. cours d'informatique), est essentiellement un outil graphique permettant de modéliser le comportement séquentiel, en termes de déroulement d actions temporelles. Mais il peut aussi servir à programmer les composants réalisant la fonction "Traiter" de la chaîne d information (microcontrôleur, microprocesseur, automate programmable, ). Les variables d entrée de la fonction "Traiter" sont alors les informations fournies par la fonction "Acquérir" (capteurs, ) et les variables de sortie sont les ordres pour la fonction "Distribuer" de la chaîne d énergie, éventuellement via la fonction "Communiquer". Quel que soit l outil adopté pour modéliser le comportement séquentiel d un système, il existe souvent plusieurs solutions. La solution la plus simple qui respecte l ensemble des contraintes est donc à privilégier. C est le rôle de l ingénieur de choisir le "bon" outil de description, et la "meilleure solution". CONSTITUTION D UN GRAPHE D ETATS 1/ Etat Dans un graphe d'états, la loi d évolution des états n est évidemment pas aléatoire. Cette loi est choisie par le créateur du graphe afin que celui-ci remplisse la fonction précise. Chaque état est dessiné sous la forme d'un rectangle aux coins arrondis, contenant son nom. Il existe différentes sortes d'états : - l'état initial : pseudo-état qui indique un point d'entrée dans un graphe ; - l'état final : non obligatoire, il indique que le système décrit n'a plus d'état actif ; - état : un état représente une période de la vie du système. Pendant cette période, le système accomplit une ou plusieurs "actions" (ou "activités"), ou attend un "évènement". Il peut être actif ou non ; plusieurs états peuvent être actifs en même temps dans le même système. 2/ Transition, évènement et condition de garde Une transition représente le passage instantané d'un état vers un autre. Une transition ne peut donc pas avoir de durée. On appelle état source l état de départ d une transition et état destination l état d arrivée. Une transition n'est évaluée que si l'état source est actif. CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 1 - Etat 1 Evènement [condition de garde] Etat 2

Une transition est déclenchée par un évènement. En d'autres termes : c'est l'arrivée d'un évènement qui conditionne le franchissement de la transition. Une transition peut aussi être automatique, lorsqu'on ne spécifie pas l'évènement qui la déclenche. Elle est alors franchie lorsque les actions de l'état source sont terminées. En plus de spécifier un évènement précis, il est aussi possible de conditionner une transition à l'aide d'une "condition de garde" : il s'agit d'une expression booléenne encadrée de crochets, évaluée lorsque l'état précédant la transition est vrai et que l'évènement déclencheur se produit. Si la condition de garde est vraie, la transition est alors franchie, sinon elle ne l'est pas et l'événement est perdu. Rq : Différence entre évènement et condition de garde : un événement est parfaitement daté dans le temps, il correspond par exemple à un passage d'une variable de 0 à 1 à un instant précis (front montant) ; une condition de garde n'est pas datée, elle doit être vraie (niveau logique 1) à l'instant où l'événement survient pour que la transition soit franchie. Exemple d'évènement : appui sur un bouton-poussoir, capteur fin de course atteint, etc. Exemple de condition de garde : vitesse du véhicule non nulle, température > 20 C, etc. Il existe 2 sortes d'évènements : - évènement signal : un signal est émis à destination d'un objet ; cette émission est asynchrone, c'est-à-dire que le destinataire ne l'attend pas, et qu'elle peut survenir n'importe quand. Par exemple : l'appui sur un bouton-poussoir ; - évènement temporisé : un évènement de ce type fait intervenir le temps. Il nécessite l'utilisation des mots réservés when(date) pour spécifier un temps absolu, ou after(durée) pour spécifier une durée à partir de l'instant d'activation de l'état précédent. Cet évènement met fin à l'état "Ouverture vantail 1", ce qui met à 0 la commande du moteur du vantail 1 (v1_ouv). Ouverture vantail 1 [Entry]/_v1 ouv_ := 1 ; [Exit]/_v1 ouv_ := 0 ; _fin ouv v1_ Transition conditionnelle : Plusieurs transitions peuvent quitter un même état. Une seule d'entre elles doit être déclenchée ; les événements et / ou les conditions de garde doivent donc être exclusives. Etat et transitions avec la syntaxe du logiciel Automgen Une autre représentation est possible, qui utilise le point de décision : Il est possible d utiliser une condition particulière, notée [else], sur un des segments en aval d un point de décision. Ce segment n est franchissable que si les conditions des autres segments sont toutes fausses. Ev1 Point de décision ("pseudo-état") 3/ Actions (ou activités) Le lancement des actions (ou activités) à l'intérieur de l'état actif est organisé selon des mots réservés : - entry/ est suivi des actions exécutées lorsque l'état devient actif ; - do/ est suivi d'1 ou plusieurs actions exécutées dans l'ordre de leur écriture, à partir de l'instant où l'activité /entry est terminée ; - exit/ est suivi des actions qui de déroulent lorsque l'état se désactive ; Pendant que l'état est actif, un évènement peut lancer une action avec la syntaxe : évènement[condition de garde]/ suivi de l'action. Cette action est lancée chaque fois que l'évènement survient, tant que l'état est actif, en parallèle avec l'action du do/. On parle alors de transition interne. Rq : On peut aussi ne pas utiliser de mot réservé, auquel cas cela correspond à un do/. Rq2 : Un état peut ne pas contenir d'action. Il sert alors à attendre le déclenchement de la transition suivante. Une action peut être : peut être oublié - un ordre de mise à 1 d'une sortie ; la syntaxe est alors SORTIE := 1 ; - un ordre de mise à 0 d'une sortie ; la syntaxe est alors SORTIE := 0 ; - une modification d'une variable numérique interne, par exemple un compteur C ; la syntaxe est alors C := C + 1 ; pour incrémenter la valeur du compteur C de 1. 4/ Lien avec les entrées/sorties de la fonction "Traiter l'information" de la chaîne d'information On aura compris que : - Les informations en entrée vont intervenir dans les transitions du graphe d'états. - Les ordres de commande en sortie vont intervenir dans les actions lancées dans les états actifs. CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 2 -

DEUX EXEMPLES DE CONSTITUTION D'UN GRAPHE D'ETATS 1/ Machine à laver On peut ici commencer par déterminer les états : Prélavage, Lavage, Rinçage, Essorage et bien sûr, Arrêt. On complète le graphe en plaçant des transitions entre les états, pour indiquer la loi d évolution des états en fonction des entrées. On se sert pour cela du comportement séquentiel souhaité ou observé. Les variables d'entrée sont ici les informations suivantes : - m : bouton marche/arrêt du lave-linge ; m = 1 indique marche. - p : bouton qui indique si le programme du lavage sélectionné comporte (p = 1) ou non (p = 0) une phase de prélavage. Les durées des différentes étapes du lavage sont fixées par le constructeur : prélavage : 10 minutes ; lavage : 30 minutes ; rinçage : 10 minutes ; essorage : 5 minutes. Compléter le graphe des états avec les transitions et les événements déclencheurs : Il reste ensuite à définir les variables de sorties, pour lancer les actions : - Cmd_m : égale à 1 si le moteur doit tourner, sinon 0 ; - Vitesse : égale à 0 à l arrêt ; 1 000 tr/min en prélavage, en lavage et en rinçage ; 1 400 tr/min en essorage. Compléter les états avec les actions à lancer. Compléter ce graphe d états afin que l'utilisateur puisse interrompre le cycle du lave-linge quel que soit l état actif de celui-ci. La variable d entrée associée à la demande d arrêt est la variable binaire stop. 2/ Porte de garage basculante Boîtier de commande mural Bouton-poussoir tel Fonctionnement souhaité : Une porte de garage basculante est mise en mouvement par un moteur à 2 sens de rotation : Ouvrir ou Fermer. Un capteur butée détecte une surintensité moteur, qui correspond à l'atteinte d'une position en butée de la porte : ouverte ou fermée. Une télécommande possède 1 bouton tel dont l'appui produit le fonctionnement suivant : - Ouvrir si la porte est fermée ; - Fermer si elle est ouverte ; - inverser le sens si la porte est en mouvement. Enfin, un boîtier de commande mural dans le garage possède 2 boutons-poussoirs cmd_ouv et cmd_fer. On suppose qu'à la mise sous tension, la porte est en position fermée. Lister les entrées-sorties : Proposer le graphe d'états : Informations Ordres TRAITER les infos Rq : Une alternative à l'utilisation du capteur butée est de se servir de temporisations de 10 s. Modifier le graphe en conséquence. CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 3 -

3/ Synthèse : Démarche de modélisation du comportement séquentiel d un système par un graphe d états - Définir la frontière du système et recenser les variables d entrée et de sortie ; - Recenser, nommer et tracer les états du système ; - Tracer les transitions entre les états en fonction du comportement séquentiel souhaité ou observé ; - Définir les conditions et évènements associées à chaque transition et les actions associées à chaque état. HIERARCHISATION AVEC LA NOTION D'ETAT COMPOSITE 1/ Etat composite Lorsque le comportement à décrire : risque d être peu lisible car trop complexe, fait apparaître des parties "séparables" de l ensemble, alors on extrait ces parties pour en faire des sous-graphes séparés, hiérarchiquement inférieurs au graphe principal. On englobe ces sous-graphes dans un état appelé "état composite" ou "super-état". Un état composite est composé de plusieurs sous-états internes. Un état composite possède un état initial. 2/ Exemple avec le comportement d'un four à micro-ondes et généralisation Il y a 2 états composites "Fermé" et "Ouvert". L'état composite "Fermé" contient lui-même un sous-état composite "Chauffe". Il contient lui-même un sous-graphe formé de 2 sous-états "600 W" et "900 W". Il peut y avoir des transitions ayant pour source / cible la frontière d'un sous-état ou la frontière d'un état composite. Quand plusieurs transitions sont possibles, on choisit de suivre celle qui part de l'état le plus en bas de la hiérarchie des états actifs, donc ici partant de "Chauffe" et non pas de "Fermé". Autrement dit : - si l'état actif est "Chauffe" quand on ouvre la porte, l'état "En pause" s'active ; - si l'état actif est "Off" contenu dans "Fermé" quand on ouvre la porte, l'état "Ouvert" s'active et donc l'état "Off" qu'il contient. Autre exemple de l'évolution avec des états composites : (Etat incomplet) Supposons que l'état actif soit l'etat11. Alors, lorsque l'évènement "event" arrive, l'etat1 est désactivé et il se produit successivement les actions suivantes : - Quitter E11 - Quitter E1 - EntrerE2 - EntrerE21 - EntrerE22, et l'état actif est l'etat22 (les états composites Etat 21 et Etat2 sont aussi actifs). Il existe une notation abrégée pour un état composite : 3/ Concurrence et synchronisation Dans un état composite, plusieurs graphes d'états peuvent évoluer simultanément (en parallèle). On dit qu'il y a concurrence de plusieurs états. Par exemple pour un distributeur de boissons : CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 4 -

L'état composite est dit orthogonal car il comporte plus d une région, chaque région représentant un flot d exécution. Graphiquement, dans un état orthogonal, les différentes régions sont séparées par un trait horizontal ou vertical en pointillés allant d'un bord à l'autre de l état composite. Chaque région peut posséder un état initial et final. Une transition qui atteint la bordure d un état composite orthogonal est équivalente à une transition qui atteint les états initiaux de toutes ses régions concurrentes. Toutes les régions concurrentes d un état composite orthogonal doivent atteindre leur état final pour que l état composite soit considéré comme terminé. La synchronisation est alors automatique et la transition de sortie de l'état composite est déclenchée. Il est également possible de représenter ce type de comportement au moyen de transitions concurrentes constituées de barres de synchronisation "fork" et "join". Le graphe ci-dessous est une représentation équivalente à la précédente : Barre de synchronisation "fork" Barre de synchronisation "join" Les transitions automatiques (sans évènement ou condition de garde) qui partent d'une barre de synchronisation "fork" se déclenchent en même temps. On ne franchit une barre de synchronisation "join" qu'après déclenchement de toutes les transitions qui s'y rattachent. Rq : Sur ce diagramme, l état orthogonal "préparation boisson et restitution monnaie" peut éventuellement ne pas apparaître (tout en gardant la représentation de ses sous-états) pour alléger la représentation, car la notion de concurrence est clairement apparente de par l utilisation des barres. 4/ Comment spécifier la synchronisation de 2 sous-graphes? Il est aussi possible, et très utile, de conditionner une transition par l'activité de l'état d'un autre sous-graphe (!). Un exemple éclaircira les choses : Etat composite L'état composite orthogonal K est composé des sous-états L et M. L et M s'activent simultanément, et évoluent indépendamment, en parallèle. Au départ, E- L1 et E-M1 sont actifs. Pour que M passe d'e-m2 à E-M1, il faut que l'évènement Tr4 survienne, à condition que E-L3 soit actif. Cet évènement est conditionné par l'activité de l'état E-L3 de l'autre sous-graphe. Ces 2 sous-graphes s'exécutent en parallèle Sources : http://uml.free.fr/cours/i-p20.html CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 5 - La syntaxe de la condition de garde vérifiant l'activité de ETAT est : [in ETAT]. "Sciences Industrielles pour l'ingénieur", classes préparatoires 1 ère année COLOMBARI / GIRAUD Eds Foucher 2013 "UML 2 : de l'apprentissage à la pratique" Laurent AUDIBERT Eds Ellipses 2009