Logo ÉTS
Session
Cours
Responsable(s) Sylvie Ratté

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Sylvie Ratté


PLAN DE COURS

Été 2018
LOG670 : Langages formels et semi-formels (3 crédits)





Préalables
Aucun préalable requis
Unités d'agrément
Données non disponibles




Descriptif du cours



Objectifs du cours

À la fin du cours, l'étudiant(e) aura assimilé les notions suivantes :

• Niveaux d’abstraction et formalisation

• Différence entre langage formel et semi-formel

• Vérification de modèles

• Avantages et limites des méthodes formelles

• Langage de spécification OCL pour UML

• Spécification avec des diagrammes états/transitions

• Spécifications de systèmes concurrents

• Spécifications de systèmes temps réel

 

À la fin du cours, l’étudiant(e) sera capable de :

• Lire des spécifications formelles écrites dans un langage proche de la logique du premier ordre;

• Écrire des spécifications formelles dans un langage proche de la logique du premier ordre;

• Comprendre des spécifications formelles écrites par des professionnels;

• Spécifier un modèle UML avec OCL;

• Spécifier un modèle simple d’un système concurrent;

• Vérifier avec l’aide d’outils ses modèles UML/OCL;

• Analyser les résultats de ses vérifications.




Stratégies pédagogiques

• 3.5 heures de cours et 2 heures de laboratoire par semaine. Certains documents pertinents au cours (mémos, exercices, solutionnaires, énoncés de travaux, fichiers d'exemples, etc.) seront placés régulièrement sur le site WEB du cours. Il est de la responsabilité de l'étudiant de consulter régulièrement ce site.

• Les laboratoires visent l'assimilation des notions vues au cours et la mise au point des travaux pratiques.




Utilisation d’appareils électroniques

Aucun appareil électronique utilisé de manière spécifique.

L'étudiant sera cependant appelé à installer certains logiciels (libres) sur son ordinateur personnel.




Horaire
Groupe Jour Heure Activité
01 Lundi 13:30 - 17:00 Activité de cours
Vendredi 13:30 - 15:30 Laboratoire (Groupe A)
Vendredi 15:30 - 17:30 Laboratoire (Groupe B)



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Sylvie Ratté Activité de cours Sylvie.Ratte@etsmtl.ca A-4482



Cours

CONTENU DÉTAILLÉ

1. Introduction (3 heures)

1.1 Présentation générale des méthodes formelles; justification de leur utilisation, spécifications et vérification de logiciels.

1.2 Révision des concepts de base : ensembles, logique et propositions.

 

2. Langage de spécifications OCL (15 heures)

2.1 Modélisation : UML, MDA, OCL, la notion de contraintes.

2.2 Collections, bags, séquences, distinctions.

2.3 Vérification de modèles.

2.4 Études de cas : Génération de code et discussion.

 

3. Spécifications, analyse et vérification de systèmes concurrents (9 heures)

3.1 FSP et RdP : processus, exécution concurrente, objets partagés et exclusion mutuelle.

3.2 FSP et RdP : propriétés de vivacité et de sécurité, analyses, raisonnement.

3.3 Invariants de transitions et de places

 

4. Spécifications, analyse et vérification de systèmes concurrents (9 heures)

4.1 Processus, exécution concurrente, objets partagés et exclusion mutuelle, blocages, formalismes.

4.2 Moniteurs et synchronisation de conditions, blocages et vivacité.

4.3 Logique CTL

 

5. Application, approches et limites (3 heures)

5.1 UML exécutable.

5.2 Autres approches

5.3 Limites et contraintes.

5.3 Vérification de modèles vs technique de preuve.




Laboratoires et travaux pratiques
  • Laboratoires couvrant: UML/OCL, automates temporisés/CTL, réseaux de Petri
  • Travail d'approfondissement des questions théoriques

 




Utilisation d'outils d'ingénierie
  • UML/OCL: USE (Université de Bremen)
  • Automates temporisés/CTL: UPPAAL
  • Réseaux de Petri: à déterminer

 




Évaluation

À noter qu’une moyenne inférieure à 50% dans les évaluations individuelles entraine automatiquement un échec au cours.

  • Examen intra.............................35 %
  • Examen final...........................................................35 %
  • Trois (3) laboratoires (10 %, 10 %, 10 %) en équipe ..................30 %

 




Dates des examens intra
Groupe(s) Date
1 18 juin 2018



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

  • 1er jour après la date prévue de la remise: -20%
  • 2ème jour après la date prévue de la remise: -50%
  • Jours suivants: la note zéro est attribuée



Absence à un examen
• Pour les départements à l'exception du SEG :
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note zéro (0).

• Pour SEG :
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence auprès de son enseignant. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/A-propos/Direction/Politiques-reglements/Infractions_nature_academique.pdf ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

Aucun




Ouvrages de références

BENETT, Simon, SKELTON, John et LUNN, Ken (2001), UML, McGraw-Hill.

JACKSON, Daniel (2002) Alloy: a lightweight object modelling notation, ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 11, No 2, pp. 256-290.

JACKSON, D. (2006), Dependable Software by Design, Scientific American, June.

JACKSON, Daniel, JACKSON, Michael (2006) Separating Concerns in Requirements Analysis: An Example. M. Butler, C. Jones, A. Romanovsky, E. Troubitsyna (editors). Chapter of Rigorous development of complex fault tolerant systems. Springer-Verlag.

JACKSON, Daniel (2011) Software Abstraction, MIT Press.

WARMER, Jos, KLEPPE, Anneke (2003) The Object Constraint Language (2nd Edition) Getting your Models Ready for MDA, Addison-Wesley.

* Consultez le site WEB du cours pour des références complémentaires. Les références précédées d’un point, « • » sont fortement suggérées.




Adresse internet du site de cours et autres liens utiles

Consultez le site MOODLE du cours pour la liste complète et constamment mise à jour des outils pertinents.