Exercice 7: porte de tramway avec passerelle



Documents pareils
INDEX Fonctionnement Schéma de câblage... 24

Installation de Windows 2000 Serveur

De l automatisme à la domotique...

Easy Lock. Mod. DPN13PG Mod. DPN18PG V.2 LIRE LES INSTRUCTIONS ATTENTIVEMENT AVANT UTILISATION ET LES CONSERVER EN CAS DE BESOIN PAGE 2 PAGE 4 PAGE 8

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Guide d'utilisation du Serveur USB

HA33S Système d alarme sans fils

Solutions informatiques

Installation de Windows 2003 Serveur

Fonctionnement : 2. Branchez le récepteur en utilisant l adaptateur secteur sur lequel est indiqué «récepteur horsealarm».

Introduction. Instructions relatives à la création d ateliers de test. Préparer l ordinateur Windows Server 2003

Trousse de sécurité d'alarme - NVR

Brief créatif site e-commerce

Installation d'un serveur DHCP sous Windows 2000 Serveur

Table des matières. 1. Description du matériel : Données techniques : Présentation de la serrure :... 4

SAGASAFE Mode d'emploi de la série DCP Version 7.0

Je prends le métro. Un outil pédagogique pour apprendre à utiliser le métro

Asset Management Software Client Module. Manuel d utilisation

Comment configurer IPhone App Zoiper,pour se connecter au serveur VOIP de Kavkom?

KeePass - Mise en œuvre et utilisation

EW7015 Station de stockage USB 3.0 double pour disques durs SATA 2,5 et 3,5 "

Configuration d'un annuaire LDAP

Gobius 1 ¾ alarme pour des fosses septiques

Manuel de l'utilisateur CLAVIER ÉLECTRONIQUE LEVERSET AVEC PROGRAMMATION BLUETOOTH. ASSA ABLOY, le leader mondial en matière de solutions de porte

Patton M-ATA-1/E - guide d installation et de configuration

Précisions à propos des services de placement. Ordres et politique d'exécution des ordres

1. Utilisation du logiciel Keepass

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

DéSIT Démarche d ingénierie pour les Systèmes d Information Transport ambiants, sécurisés et personnalisables

Gestion des cartes ristourne

Manuel d utilisation Alarme Auto na-2018 Attention :

Zone pavée destinée aux usagers des autobus et pouvant comprendre un banc ou un abri.

Elle supporte entièrement la gestion de réseau sans fil sous Windows 98SE/ME/2000/XP.


Installation de la messagerie EMWAC IMS Sur Windows NT4 serveur ou Windows 2000 serveur

SAGEM Wi-Fi 11g USB ADAPTER Guide de mise en route rapide

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

TUTORIEL INSTALLATION D UNE WENBOX ETHERNET DE WENGO SUR UN MODEM ROUTEUR DG834 G DE NETGEAR

Outil d autodiagnostic du niveau d accessibilité - Les cabinets médicaux -

Prendre le bus. Un outil pédagogique pour utiliser le bus à destination des personnes âgées

TABLE DES MATIERES...

Merci d'avoir choisi notre système d'alarme intelligent. Veuillez lire ce manuel avant l'installation afin de la faire fonctionner correctement.

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

EW7011 Docking Station USB 3.0 pour disques durs 2.5" et 3.5" SATA

Ce tutoriel ne fera pas de vous un expert sur le déploiement via WDS, mais il vous permettra de comprendre un peu les rouages de ce système.

Fonctions pour la France

Configuration des points d'accès

Connexion de Votre Imprimante Multifonction à votre Réseau pour la Première Fois

ETI/Domo. Français. ETI-Domo Config FR

SP-1101W/SP-2101W Quick Installation Guide

L'appel public à l'épargne, pour quel besoin de financement? (2/3)

Utilisation d'un réseau avec IACA

Cadastre du bruit SIT-JURA. Connecteur Arcview9.x - MSAccess. Mode d emploi. Appel formulaire. Page 1 sur 15

Comment ranger automatiquement les messages qui m'arrivent, grâce à et dans Thunderbird seulement.

SOS OPPOSITION SUITE A FRAUDE A CARTE BANCAIRE

MultiSense un nouveau concept de contrôle de niveau et de mousses. Même encrassé, ce capteur ne détecte que les vraies situations.

Guide destiné aux partenaires: de l'inscription à MPN à l'établissement d'une offre pour Office 365

Comment ouvre-t-on un compte bancaire?

COMMISSIONS DE SECURITE ET D'ACCESSIBILITE DANS LES ETABLISSEMENTS RECEVANT DU PUBLIC

I GENERALITES SUR LES MESURES

Manuel d'accompagnement à l'enregistrement d'un patient dans «MonDossierMedical.ch»

X-Lite guide de configuration et d utilisation

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

TeamViewer 9 Manuel Wake-on-LAN

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

Réglage, paramétrage, contrôle, modification. Salle de conférence.

Les réseaux cellulaires

SAML et services hors web

Guide de configuration de SQL Server pour BusinessObjects Planning

Les usagers sont civilement responsables des dommages qu ils causent aux biens et aux personnes dans le véhicule.

GUIDE À L USAGE DES PERSONNES À MOBILITÉ RÉDUITE QUI NE VOYAGENT PAS DE MANIÈRE HABITUELLE OU VOYAGENT POUR LA PREMIÈRE FOIS EN AVION

1S9 Balances des blancs

BASE ELEVES 1er degré

Ministère de l'approvisionnement et des Services. Guide de l'utilisateur de Web Express de RSA (version 1.2)

Recommandation n 22 relative à l ouverture d un compte bancaire ou postal séparé (06 novembre 2001).

La garantie internationale

Règlement d utilisation de TaxiBus Table des matières

5 EXEMPLES DES MEILLEURES PRATIQUES

UNIVERSITE DE BORDEAUX Référence GALAXIE : 94

Manuel de l'extranet d'hotelbooker

Kaspersky Security Center Web-Console

PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique

CONDITIONS POUR LE PRÊT D ÉQUIPEMENT AU SERVICE DES AIDES TECHNIQUES

Retrouver un mot de passe perdu de Windows

NORME INTERNATIONALE D AUDIT 330 PROCÉDURES A METTRE EN ŒUVRE PAR L'AUDITEUR EN FONCTION DE SON ÉVALUATION DES RISQUES

Si vous avez des questions ou bien si vous voulez tout simplement vous détendre, faite un tour sur le forum.

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.0

PROJET PAIEMENT EXPRESS

Chapitre 4 : les stocks

Présentation de GnuCash

Objet : Guide d'installation et de maintenance pour "My IC Phone 8082" connecté à un OmniPCX Office R810

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Ordinateurs de bureau HP et Compaq - Création du jeu de disques de récupération

Installation de Windows 2008 Serveur

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

Installation d un serveur DHCP sous Gnu/Linux

Exposition. VLR plongée e commission photo

Nos félicitations, Vous avez choisi pour un produit de qualité et nous sommes convaincus que vous avez faites le choix le plus sûr.

Transcription:

Lionel DEBROUX Savaş Ali TOKMEN Master 2 Génie Informatique Option Systèmes et Logiciels Embarqués UFR IMA, Université Joseph Fourier, Grenoble Exercice 7: porte de tramway avec passerelle Cahier de charges Fonctions L'application est un programme qui contrôle l'ouverture et la fermeture automatique d'une porte de tramway avec passerelle. Ce contrôleur a quatre éléments dans l'environnement: La porte: le contrôleur lui envoie les commandes ouvrir_porte et fermer_porte. L'état de la porte est connu en permanence grâce au signal porte_ouverte. On suppose que la porte et son capteur d'ouverture fonctionnent parfaitement bien: la porte ne s'ouvre et se ferme que sur la commande du contrôleur. La passerelle: sous la porte, le tramway dispose d'une passerelle extractible (utile pour les poussettes, les fauteuils roulants, etc.). Cette passerelle est contrôlée avec les commandes sortir_pass et rentrer_pass, son état est connu par le signal pass_sortie. Comme la porte, la passerelle et son capteur fonctionnent parfaitement bien. L'usager qui peut appeler demande_porte pour demander la porte ou demande_pass pour demander la passerelle. Cette demande peut se faire quand le tramway n'est pas en station (où une lumière porte demandée ou passerelle demandée est allumée) ou quand le tramway est en station (dans quel cas la passerelle sort et la porte s'ouvre, si bien sûr le tramway n'a pas signalé attention au départ ). Le tramway fournit au contrôleur deux informations: en_station pour signaler que le tramway est en station et attention_depart pour signaler que le tramway va partir bientôt. Le tramway attendra pour le signal porte_pass_ok (qui signifie que la porte est fermée et la passerelle est rentrée) pour redémarrer. Critères de sécurité Il est important que les critères de sécurité suivants soient satisfaits (en supposant que la porte, la passerelle et le tramway fonctionnent correctement): La porte ne doit jamais être ouverte quand le tramway n'est pas en station. La passerelle ne doit jamais être sortie quand le tramway n'est pas en station. La passerelle ne doit jamais bouger (ni rentrer, ni sortir) tant que la porte est ouverte. Critères d'usabilité Il y a deux moyens très simples de satisfaire les critères de sécurité: Page 1 / 6

1. Ne jamais ouvrir la porte ni sortir la passerelle. 2. Ne jamais émettre le signal porte_pass_ok (donc le tramway ne part jamais). Il est donc important que les critères d'usabilité suivantes soient satisfaits: Quand un passager demande la passerelle ou la porte alors que le tramway est en mouvement, cette demande doit être satisfaite (la passerelle sortie si nécessaire puis la porte ouverte) au prochain arrêt. Quand un passager demande la passerelle ou la porte alors que le tramway est en station et n'a pas encore signalé attention_depart pour cette station et que les portes sont fermées, cette demande doit être satisfaite (la passerelle sortie si nécessaire puis la porte ouverte). Quand le tramway signale attention_depart, le contrôleur doit fermer la porte, si nécessaire rentrer la passerelle et une fois ces deux actions terminés signaler porte_pass_ok. Implémentation Signaux internes Nous définissons un signal interne nommé vapartir, qui décrit si le tramway veut partir (est en station et a signalé attention_depart). Il agit donc de la façon suivante: arrivée attention départ départ Ce qui donne comme code Lustre: vapartir = en_station and ( attention_depart or prev ); Pour des raisons de commodité, nous avons aussi définis les pre des signaux porte_demandee (pred), pass_demandee (prep), ouvrir_porte (preo), sortir_pass (pres) et vapartir (prev). Signaux de sortie porte_demandee La porte: Reste demandée tant que le tramway n'a pas atteint son arrêt Devient demandée si la porte (ou la passerelle) est demandée alors que l'arrêt n'a pas été atteint. De plus, tant que la passerelle est en train de sortir, on laisse le signal porte_demandee à vrai pour que les passagers sachent que la porte va ouvrir bientôt. pass_demandee La passerelle: porte_demandee = ( sortir_pass or not en_station ) and ( pred or demande_porte or pass_demandee or sortir_pass ); Reste demandée tant que le tramway n'a pas atteint son arrêt Page 2 / 6

Devient demandée si la passerelle est demandée alors que l'arrêt n'a pas été atteinte. ouvrir_porte La porte: pass_demandee = ( not en_station ) and ( prep or demande_pass ); Ne doit s'ouvrir que si le tramway est à un arrêt. Avant de s'ouvrir, elle doit attendre que la passerelle sorte si ceci est nécessaire (donc la passerelle était demandée). Ne s'ouvre que si on l'avait demandé quand le tramway était en mouvement ou que l'on le demande avant que le tramway ait envie de partir. sortir_pass La passerelle: ouvrir_porte = en_station and ( not porte_ouverte ) and ( not vapartir ) and not( pass_demandee or sortir_pass ) and ( pred or preo or demande_porte ); Ne doit sortir que si le tramway est à un arrêt. Ne doit pas sortir si la porte est ouverte ou est en train de s'ouvrir. Ne sort que si on l'avait demandé quand le tramway était en mouvement ou que l'on le demande avant que le tramway ait envie de partir. fermer_porte sortir_pass = en_station and ( not pass_sortie ) and ( not vapartir ) and not( preo or porte_ouverte ) and ( prep or pres or demande_pass ); La porte doit se fermer si le tramway a envie de partir et si elle était ouverte avant. rentrer_pass La passerelle: fermer_porte = porte_ouverte and vapartir; Doit rentrer si le tramway a envie de partir. Doit attendre que la porte soit fermée avant de rentrer. porte_pass_ok rentrer_pass = pass_sortie and vapartir and not porte_ouverte; La porte et la passerelle sont "OK" si le tramway voulait partir et que la porte a fini de fermer et la passerelle est rentrée. porte_pass_ok = vapartir and not( porte_ouverte or pass_sortie ); Page 3 / 6

Tests et preuves Tests Nous avons effectué plusieurs tests, par exemple un d'entre eux se déroule de la façon suivante: Toutes les entrées sont à faux, donc le tramway est en mouvement. On demande la porte. Le tramway met porte_demandee à vrai. On attend un peu, et demande la passerelle. Le tramway met pass_demandee à vrai. Maintenant, on arrête le tramway en mettant en_station à vrai. Le contrôleur agit de façon attendue en essayant de sortir la passerelle. Pendant ce temps, la sortie porte_demandee reste toujours à vrai (car la porte attend la passerelle). Au bout de quelques cycles, on met pass_sortie à vrai et la contrôleur commence à ouvrir la porte. On met porte_ouverte à vrai. Le contrôleur arrête d'émettre ouvrir_porte. Au bout de quelques cycles, on signale attention_depart. Le contrôleur commence à fermer la porte. Une fois que l'on a mis porte_ouverte à faux, le contrôleur commence à rentrer la passerelle. Finalement, quand on met pass_sortie à faux, le contrôleur émet porte_pass_ok jusqu'à ce que le tramway se mette en mouvement (en_station devient faux). Le contrôleur semble répondre de façon correcte. Preuves Assertions Nous avons trois assertions essentiels sur le fonctionnement du système: (1) La porte ne s'ouvre que si le contrôleur l'a demandé: ((not pre porte_ouverte and porte_ouverte) => ouvrir_porte) (2) La passerelle ne sort que si le contrôleur l'a demandé ((not pre pass_sortie and pass_sortie) => sortir_pass) (3) Le tramway attend au moins un tick avant de signaler attention_depart: ((not pre en_station and en_station) => not attention_depart) D'autres assertions sont aussi utilisées pour certains preuves. Elles seront introduites quand c'est nécessaire. Contrôleur stable Le contrôleur est dit stable s'il n'envoie pas des ordres contradictoires: il n'essaye pas d'ouvrir et de fermer la porte en même temps, de même n'essaye pas de sortir et de rentrer la passerelle en même temps. #(ouvrir_porte, fermer_porte) and #(sortir_pass, rentrer_pass) Cette preuve se fait sans aucune assertion. Page 4 / 6

Passagers vivants et tramway non-cassé Les passagers meurent (cessent d'être vivants) du moment que la porte du tramway s'ouvre quand ce dernier n'est pas en station. Similairement, le tramway casse si la passerelle est sortie alors que le tramway n'est pas en station. not((porte_ouverte or pass_sortie) and not en_station) Cette preuve portant sur l'état de la porte et de la passerelle, les assertions (1) et (2) sont utilisées. Confort passagers (1) Les passagers sont confortables si la porte s'ouvre quand ils le demandent et que le tramway est en station. Donc: (en_station and demande_porte and not porte_ouverte) => ouvrir_porte Pour prouver ceci, les assertions suivantes sont nécessaires: attention_depart n'a pas été signalé not attention_depart La passerelle n'est pas en train de sortir not sortir_pass Confort passagers (2) Les passagers sont encore plus confortables si le système se rappelle qu'ils avaient demandés à descendre pendant que le tramway roule et que les portes s'ouvrent une fois l'arrêt atteint. (en_station and pre porte_demandee) => ouvrir_porte Pour prouver ceci, les assertions suivantes sont nécessaires: L'assertion (1) L'assertion (3) attention_depart n'a pas été signalé not attention_depart Confort passagers (3) Ce critère de confort s'adresse aux passagers qui désirent utiliser la passerelle: si un usager avait demandé la passerelle, alors la passerelle sort et la porte s'ouvre une fois que le tramway atteint son arrêt. ((en_station and pre pass_demandee) => sortir_pass) and ((en_station and pass_sortie) => ouvrir_porte) Pour prouver ceci, les assertions (1), (2) et (3) sont nécessaires. Attention chevilles La passerelle ne doit pas bouger (ni rentrer, ni sortir) si la porte est ouverte. not(porte_ouverte and (sortir_pass or rentrer_pass)) Cette preuve se fait sans aucune assertion. Page 5 / 6

La porte ferme et la passerelle rentre Une fois que le signal attention_depart est émis, la porte doit fermer et si nécessaire la passerelle doit rentrer. ((porte_ouverte) => fermer_porte) and ((pass_sortie and not porte_ouverte) => rentrer_pass) Dans ce cas, nous utilisons les assertions comme cas de départ: en_station and attention_depart Le départ est possible Une fois que le départ devient possible (donc la porte est fermée et la passerelle rentrée), le contrôleur signale bien que la porte est la passerelle sont OK : porte_pass_ok Dans ce cas, nous utilisons les assertions comme cas de départ: en_station and attention_depart and not(porte_ouverte or pass_sortie) Conclusions Un contrôleur de porte de tramway avec passerelle qui fonctionne de façon attendu (suit les spécifications) a donc été implémenté avec succès. Page 6 / 6