Pondération : 1 2 3 4 5 6 7 Total 30 10 30 30 10 10 10 130



Documents pareils
McAfee Firewall Enterprise Control Center

Synthèse de cours (Terminale S) Calcul intégral

Techniques d analyse de circuits

Université de Sherbrooke, Département d informatique

McAfee Firewall Enterprise, Multi Firewall Edition

STI2D Logique binaire SIN. L' Algèbre de BOOLE

Intégrale et primitives

Commencer MFC-J4410DW

Notes de révision : Automates et langages

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

NE connectez PAS le câble USB à ce stade (si vous utilisez un câble USB). de l'appareil et vérification des composants. Noir Jaune Cyan Magenta

INSTRUCTIONS POUR L INSTALLATION ET LE FONCTIONNEMENT DES SERRURES À POIGNÉE BÉQUILLE

FONDATION CLEMENTINE ET MAURICE ANTILLE

RadioCommunications CDMA

Chapitre 2 Le problème de l unicité des solutions

La plateforme Next Generation Mini guide

l appareil et vérifier les composants Module tambour-cartouche de toner (pré-installé)

USB cable users: Do not connect the USB cable until step A2.

l'appareil et vérifiez les composants Cartouches d'encre incluses [x4] CD-ROM d'installation CD-ROM de documentation

Chapitre 11 : L inductance

Guide d'utilisation Easy Interactive Tools Ver. 2

Séquence 8. Probabilité : lois à densité. Sommaire

Statuts ASF Association Suisse Feldenkrais

Module 2 : Déterminant d une matrice

Chapitre VI Contraintes holonomiques

Toyota Assurances Toujours la meilleure solution

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

/HVV\VWqPHVFRPELQDWRLUHV

Introduction à la modélisation et à la vérication p. 1/8

Algorithmes sur les mots (séquences)

Commencer DCP-7055W / DCP-7057W /

Wieland-Werke AG, Ulm, Allemagne Février 2012

Avant d utiliser l appareil, lisez ce Guide de référence rapide pour connaître la procédure de configuration et d installation.

GABARIT À PÊNE DORMANT ÉLECTRONIQUE

Algorithmique des Systèmes Répartis Protocoles de Communications

Solutions électriques VELUX

Comment évaluer la qualité d un résultat? Plan

ANALYSE NUMERIQUE NON-LINEAIRE

LANGAGES - GRAMMAIRES - AUTOMATES

Production statistique: passage d une démarche axée sur les domaines à une démarche axée sur les processus

Outils pour un. partenariat. renouvelé. entre propriétaires et gestionnaires. résidences sociales et logements-foyers

Tout ce qu il faut savoir en math

Université Paris-Dauphine DUMI2E. UFR Mathématiques de la décision. Notes de cours. Analyse 2. Filippo SANTAMBROGIO

semestre 3 des Licences MISM annnée universitaire

Chapitre. Chapitre 12. Fonctions de plusieurs variables. 1. Fonctions à valeurs réelles. 1.1 Définition. 1.2 Calcul de dérivées partielles

- Phénoméne aérospatial non identifié ( 0.V.N.I )

Guide des bonnes pratiques

CTC Generic LITHO FLEXO. PANTONE a mm/dd/yy xxxxxx. PANTONE a mm/dd/yy xxxxxx PANTONE a mm/dd/yy xxxxxx.

BASE DE BIOÉTHIQUE SECTION 1 : SYLLABUS PROGRAMME D ÉDUCATION EN ÉTHIQUE

Classeur courtier d assurance. Comment organiser son activité et se préparer à un contrôle

Cours d Analyse IV Suites et Séries de fonctions

Influence du milieu d étude sur l activité (suite) Inhibition et activation

Turbine hydraulique Girard simplifiée pour faibles et très faibles puissances

Partie 4 : La monnaie et l'inflation

Théorème de Poincaré - Formule de Green-Riemann

Tutoriel Infuse Learning. Créer des quizzes multimédias sur ordinateur ou tablette

Conseils et astuces pour les structures de base de la Ligne D30

LOGICIEL FONCTIONNEL EMC VNX

Équations différentielles et systèmes dynamiques. M. Jean-Christophe Yoccoz, membre de l'institut (Académie des Sciences), professeur

LICENCE DE MATHÉMATIQUES DEUXIÈME ANNÉE. Unité d enseignement LCMA 4U11 ANALYSE 3. Françoise GEANDIER

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

EVALUATION À 360 Demonstration MICHEL DUPONT RAPPORT PERSONNEL 360. rapport généré:

Baccalauréat S Asie 19 juin 2014 Corrigé

EnsEignEmEnt supérieur PRÉPAS / BTS 2015

I. RACINE CARREE D UN NOMBRE POSITIF : La racine carrée d un nombre positif a est le nombre positif noté a dont le carré est a.

Electrovanne double Dimension nominale Rp 3/8 - Rp 2 DMV-D/11 DMV-DLE/11

Pour développer votre entreprise LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

COURS D ANALYSE. Licence d Informatique, première. Laurent Michel

Simulation Matlab/Simulink d une machine à induction triphasée. Constitution d un référentiel

NCCI : Modèle de calcul pour les pieds de poteaux articulés Poteaux en I en compression axiale

Étape II. Compétences à développer de 8 à 12 ans. Grilles des compétences

TUBES ET PROFILS CREUX

Description du procédé de remplacement des appareils. Description du procédé de remplacement des appareils. 1) Choix de l appareil de remplacement B

Probabilités sur un univers fini

essais dossier Oser s équi Prothèses auditives

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Calculer comment se constituer un capitale ; Calculer comment rembourser une dette en effectuant des versements réguliers.

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

COMPARAISON MULTIPLICATIVE DE GRANDEURS. schéma CE2 CM1 CM2

Thèse Présentée Pour obtenir le diplôme de doctorat en sciences En génie civil Option : structure

Guide de l'utilisateur

Exprimez-vous lors du choix de vos pneus:

ANALYSE : FONCTIONS D UNE VARIABLE RÉELLE

Sciences Industrielles Précision des systèmes asservis Papanicola Robert Lycée Jacques Amyot

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données


Magister en : Génie Mécanique

Manuel de référence des commandes SMS Advisor Advanced

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

L éditorial. rapport d activité Francis Daumas. décembre 2014 éditorial

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

NEWS PRO ACTIV. [Juillet 2015] Ce mois-ci on vous parle de. L arrêté est applicable à compter du 1er Juillet 2015.

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

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Portiers audio et vidéo ABB-Welcome et ABB-Welcome M

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

Théorie des graphes et optimisation dans les graphes

Direction des affaires financières DAF 3

Licence M.A.S.S. Cours d Analyse S4

La spirale de Théodore bis, et la suite «somme=produit».

Transcription:

Université e Sherrooe, Déprtement inormtique IGL50 : Méthoes ormelles en génie logiiel, Exmen inl Proesseur : Mr Frppier, Luni 6 éemre 0, 9h00 à h00, lol D-0 Doumenttion permise. Appreil életronique interit. L orretion est, entre utres, sée sur le it que hune e vos réponses soit lire, est-à-ire lisile et ompréhensile pour le leteur; préise, est-à-ire exte et sns erreur; onise, est-à-ire qu il n y it ps élément superlu; omplète, est-à-ire que tous les éléments requis sont présents. Ponértion : 5 6 7 Totl 0 0 0 0 0 0 0 0. (0 pts) Soit l spéiition B suivnte 'une ile, qui utilise une séquene pour représenter l ile. Rppel: En B, une séquene q seq(elem) est une ontion e type..r(q) à ELEM. On peut on utiliser pour une séquene tous les opérteurs es ensemles, ontions et reltions. MACHINE q SETS ELEM CONSTANTS PROPERTIES NAT VARIABLES q INVARIANT q seq(elem) INITIALISATION q := [] OPERATIONS eniler(e) = PREe ELEM r(q) < THEN q := q e END; eiler = PRE r(q) > 0 THEN q := til(q) END; r tete = PRE r(q) > 0 THEN r := irst(q) END END Complétez l'éuhe e son rinement onné à l pge suivnte. Ce rinement est sé sur le onept e liste irulire pour représenter une ile. L ile est stoée ns le veteur v e tille. L vrile inique le éut e l ile (l tête). L vrile inique l in (l queue) e l ile. L vrile n inique le nomre 'éléments ns l ile Qun on enile un élément, on l'joute à l position +. Qun on éile un élément, on inrémente simplement. Si ou tteignent l in u veteur (ie, l position ), on ontinue u éut u veteur, 'où l'ppelltion "irulire". Ainsi, on lule l position suivnte e à l'ie e l'opérteur mo. Pr exemple, l igure i-essous présente les trnsitions à prtir 'un étt où l ile [,,] est stoée ns le veteur v, ve en tête et en queue. e eniler() eiler eniler(e) [,,] [,,,] [,,] [,,,e] Solution: voir q_re.re /7

Voii quelques inies pour vous ier. Déinissez l onstnte su_, une ontion qui retourne le suesseur 'une position ns l liste; pr exemple, su_() = et su_() =. Utilisez ette ontion pour luler les vleurs e et. Déinissez l onstnte qv, une ontion qui pren en entrée, le éut e l ile ns v, et i, une position ns l ile q, et qui retourne l position orresponnte ns v; pr exemple, o qv()() = o qv()() = + o qv()() = REFINEMENT q_re REFINES q CONSTANTS su_, qv PROPERTIES su_ =... qv =... VARIABLES v,,,n INVARIANT v à ompléter /* Veteur es éléments e l ile */ à ompléter /* éut : position u premier élément e l ile */ à ompléter /* in : position u ernier élément e l ile */ n à ompléter /* n 'éléments e l ile */ /* invrint e ollge à ompléter */ à ompléter INITIALISATION OPERATIONS eniler(e) = à ompléter eiler = à ompléter r tete = à ompléter END. (0 pts) Donnez le rinement e l'opértion supprimer(e), qui supprime une ourrene e l'élément e e l ile. L'opérteur q j retourne les j premiers éléments e l séquene q. L'opérteur q j supprime les j premiers éléments e q. L'opérteur q ^ q retourne l onténtion es séquenes q et q. Inie: Utilisez l ontion su_ ve l omposition reltionnelle «;» pour éler ilement les éléments vnt ou près e. supprimer(e) = PRE e ELEM THEN IF e rn(q) THEN ANY p WHERE p om(q) q(p) = e THEN q := (q p-) ^ (q p) END END END; Solution: voir q_re.re /7

. (0 pts) () Spéiiez ve Alloy un système e ommunition sur internet similire à Sype, et qui ressemle u système téléphonique vu en lsse, mis en plus simple. Ce système se omporte omme suit. Si u est lire et si u est lire, Cll(u,u) permet à u 'ppeler u; u peut ensuite epter l'ppel, en isnt Aept(u), ou éliner, en isnt Deline(u). Qun u epte, u et u sont onnetés et peuvent se prler. Leur onverstion se termine qun l'un ou l'utre eetue un Terminte(ux). L'tion Cll(u,u) ne peut ps s'exéuter si u ou u n'est ps lire. L'ppelnt u peut nnuler un ppel qui n'est ps enore epté ou éliné, en isnt Cnel(u). Un utilisteur n'est ps lire qun il ppelle et qun il est ppelé. Il reevient lire près Deline, Cnel ou Terminte. Le igrmme étt-trnsition i-essous illustre e système. Dns l'étt initil u système, on suppose que tous les utilisteurs existent et qu'ils sont lires. On ne peut ps en jouter ou supprimer pr l suite. Deline(u) lire Cll(u,u) ppelnt Aept(u) onneté Cnel(u) Terminte(u) ou Terminte(u) () Donnez l'invrint e e système. Entre utres, ssurez-vous 'inlure les propriétés suivntes ns votre invrint. Il y en plusieurs utres. Un utilisteur ne peut ppeler ou être ppelé pr plus 'un utilisteur à l ois. Un utilisteur ne peut être onneté ve plus 'un utilisteur à l ois. Les étts lire, ppelnt et onneté sont mutuellement exlusis pour un utilisteur onné (pr exemple, un utilisteur ne peut être lire et onneté en même temps). () Prouvez ussi l propriété suivnte (qui n'est ps un invrint, on vous evez onner un he pproprié pour l prouver): Si eux utilisteurs sont lires, lors ils peuvent être onnetés (en isnt un Cll suivi 'un Aept). Utilisez les signtures suivntes pour votre spéiition. Pr souis e onision, vous n'vez ps à oer le préit Trnsition hituellement utilisé ns nos exemples (on le suppose onnu). open util/orering[stte] enum Event {init,ll,ept,eline,nel,terminte} sig User{} sig Stte { lire : set User, ppelnt : User - > User, onnete : User - > User, event : Event } Solution : voir q.ls /7

. (0 pts) Spéiiez en CSP le système érit à l question prééente, en omplétnt le oe suivnt. Vous n'vez qu'à onner le oe pour le proessus ppel. nuser = USER = {..nuser} - - tions u système hnnel ept, eline, nel, terminte : USER hnnel ll: USER.USER - - tions internes utilisées pour le ontrôle; à msquer ns le omportement inl hnnel lierer : USER.USER SYNC = { ll } CTRL = { lierer } Min = (tousappels [ union(sync,ctrl) ] ontroleappel({})) MinEnv = Min \ CTRL tousappels = n : USER @ ppel(n) ontroleappel(ppelnt) = [] n:user, n:user @ empty(inter({n,n},ppelnt)) & llnn - > ontroleappel(union(ppelnt,{n,n})) [] [] n:user, n:user @ lierernn - > ontroleappel(i(ppelnt,{n,n})) ppel(n) = à ompléter À titre e réérene, voii une ourte esriptions es ontions sur les ensemles utilisées ns le proessus ontroleappel. union(s,s) : retourne l'union es ensemles s et s. inter(s,s) : retourne l'intersetion es ensemles s et s. i(s,s) : retourne s - s. empty(s) : retourne vri ssi s est vie Solution : voir q.sp /7

5. (0 pts) Soit les opértions op et op suivntes. s op = ANY x WHERE x {,,} THEN s := x END s op = CHOICE s := OR s := END () Est-e que op op? Donnez une preuve si le rinement est vri, ou un ontre-exemple ns le s ontrire. Solution : Oui Preuve [ CHOICE s' := OR s' := END ] [ ANY x WHERE x {,,} THEN s := x END ] (s' = s) ó { éinition ANY } [ CHOICE s' := OR s' := END ] ( x. x {,,} ((s' = x)) ó { éinition CHOICE } ( x. x {,,} (( = x)) ( x. x {,,} (( = x)) ó { ré-ériture x en x } ( x. x {,,} (( = x)) ( x. x {,,} (( = x)) ó { éliminer x ve x:= pour le premier et x:= pour le euxième } = = () Est-e que op op? Donnez une preuve si le rinement est vri, ou un ontre-exemple ns le s ontrire. Solution : Fux. Contre-exemple: l sortie s:= n'est ps mise u niveu strit. Sémntique 6. (0 pts) Prouvez opértionnelle l trnsition esuivnte; CSP -utilisez règlesles inérene règles 'inérene onnées à l pge suivnte, et numérotez vos étpes e preuve. Note: P Q est noté ii P [ ] Q omme ns l version ASCII e CSP. SKIP [ ] ( STOP P 7 P STOP) \{} SKIP 7 ; STOP SKIP 7... Solution 7 P u 7 Q u P P Q 7 P 0 7 P 0 Q Q P Q 7 Q 0 7 P Q 0 P 7 P 0 6= Q 7 Q 0 6= P Q 7 P 0 P Q 7 Q 0 P 7 P 0 6= P ; Q 7 P 0 ; Q ; P 7 P 0 P ; Q 7 Q ; P 7 P 0 6 B [ {} P \ B 7 P 0 \ B P 7 P 0 \ P \ B 7 \ P 7 P 0 B P \ B 7 P 0 \ B \ 5/7 P 7 P 0 6 [ {} Q 7 Q 0 6 [ {}

SKIP [ ] ( STOP STOP) \{} ; STOP 7... SKIP 7 SKIP STOP 7 STOP STOP STOP 7 STOP SKIP [ ] ( STOP STOP) 7 SKIP [ ] STOP SKIP [ ] ( STOP STOP) \{} 7 SKIP [ ] STOP \{} SKIP [ ] ( STOP STOP) 7 SKIP [ ] STOP \{} ; STOP [ ] \ \{} ; STOP ; 7. (0 pts) Donnez le grphe e trnsition e l'expression suivnte. SKIP [ ] ( STOP STOP) \{} ; STOP 7... Solution t t 6/7

Sémntique opértionnelle e CSP - règles inérene Règles Note: 'inérene P Q est e CSP noté ii P [ ] Q omme ns l version ASCII e CSP. P 7 P SKIP 7 SKIP 7 P u 7 Q u P P Q 7 P 0 7 P 0 Q Q P Q 7 Q 0 7 P Q 0 P 7 P 0 6= Q 7 Q 0 6= P Q 7 P 0 P Q 7 Q 0 P 7 P 0 6= P ; Q 7 P 0 ; Q ; P 7 P 0 P ; Q 7 Q ; P 7 P 0 6 B [ {} P \ B 7 P 0 \ B P 7 P 0 \ P \ B 7 \ P 7 P 0 B P \ B 7 P 0 \ B \ P 7 P 0 6 [ {} P [ ] Q 7 P 0 [ ] Q [] Q 7 Q 0 6 [ {} P [ ] Q 7 P [ ] Q 0 [] P 7 P 0 Q 7 Q 0 P [ ] Q 7 P 0 [ ] Q 0 [] P 7 P 0 P [ ] Q 7 [ ] Q [] Q 7 Q 0 P [ ] Q 7 P [ ] [] 5 [ ] 7 [] 6 Deinition L ermeture trnsitive et relexive e l reltion e trnsition 7, notée 7,est un sous-ensemle e l espe BE ( ) Fin BE e l'exmen et elle est éinie omme suit. Soient B, B 0 BE es expressions e proessus, s ( ) une séquene et µ une tion.. B 7 B. B µ s 7 B 0, 9B 00 : B µ 7 B 00 ^ B 00 s 7 B 0 7/7