COURS // INF3140 Modélisation et spécification formelles de logiciels
Description du cours
- Cycle : 1
- Type de cours : Magistral
- Nombre de crédits : 3
- Discipline : Informatique
Description
Le cours vise à initier les étudiants aux méthodes formelles de spécification et à leur rôle dans le cycle de développement des logiciels. Entres autres, il vise à familiariser les étudiants avec le mode descriptif de spécification plutôt qu'avec le mode opérationnel (algorithmique) auquel ils sont habitués. Il vise aussi à familiariser les étudiants avec divers mécanismes d'abstraction utiles pour la description de composants et systèmes informatiques. - Rôle des spécifications et méthodes formelles. - Introduction à certaines notations formelles pour décrire les exigences et spécifications de composants et systèmes logiciels: modélisation abstraite, spécifications algébriques des types abstraits et/ou automates et systèmes de transition. - Approfondissement d'une méthode basée sur la modélisation abstraite - logique: propositions et prédicats, quantificateurs, description du domaine d'application et descriptions de propriétés; types abstraits: ensembles, séquences, dictionnaires; spécification de systèmes et composants logiciels: spécification comportementale abstraite, modélisation de diverses sortes de modules (machine vs. classe vs. type immuable), invariant, pré/post-conditions, exceptions; méthode rigoureuse de développement: analyse des propriétés, biais d'implantation, raffinement et mise en oeuvre.
Préalables académiques
[INF1130 Mathématiques pour informaticien] ou [MAT3570 Logique mathématique] ; [INF2120 Programmation II]