Outils conceptuels (un sous-ensemble significatif doit être traité) - Automates
- Expressions régulières et automates finis à états
- Propriétés de clôture
- Algorithmes de déterminisation, minimisation
- Calcul des Prédicats et Théorie des Ensembles
- Calcul des Prédicats : validité, prouvabilité, correction, complétude, indécidabilité.
- Théorie des Ensembles : ensembles, relations, fonctions
- Preuve de programme
- contrat de fonction, pré-post-conditions, invariants de boucles
Exemples d'utilisation Les exemples du cours porteront sur des applications.
Pour les automates finis, ces applications comportent la modélisation d'automatisme (distributeur de billet, ascenseur), la modélisation de protocoles, des diagrammes
d'états-transition UML, la correction orthographique. Par ailleurs, on illustrera l'ajout de contraintes OCL sur un modèle UML.
Le cours pourra aborder également les rapports entre spécification logique et le modèle relationnel des bases de données. Les notions de dépendance fonctionnelle et de de forme normale seront mises en relation avec les concepts ensemblistes.
Concernant la preuve de programme, des algorithme simple sur les nombres et sur les graphes pourraont par exemple être utilisés.
Tous ces sujets ne seront pas nécessairement tous couverts par le cours, qui pourra mettre l'accent sur une partie seulement de ces exemples d'application.
Examen écrit éventuellement complété d'une note de contrôle continu sanctionnant des devoirs, projets ou autres travaux personnels.