NFP108

Spécification et Modélisation Informatiques


6 crédits Pierre COURTIEU EPN05 - Informatique Unité d'enseignement de type cours

Publié Du 01-09-2007 au 31-08-9999

Prérequis

Prérequis : connaissance générale de l'informatique, bases de la programmation et de la méthodologie de développement.

Objectifs pédagogiques

Le but du cours est de présenter les outils mathématiques (logique, automates, logique de Hoare etc), utiles pour la spécification et la modélisation de systèmes informatiques. Ils constitue les base du génie logiciel, des réseaux, de la conception et du développement, des bases de données, des systèmes d'information et des systèmes transactionnels. A ce titre, ils sont sous-jacents à de nombreux enseignements du cursus.

Compétences

Savoir lire et écrire des spécification de systèmes utilisant des automates finis ou les formalismes logiques vus en cours. Être conscient de l'intérêt de formaliser des spécifications partielles.

Contenu

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.

Modalités de validation

  • Contrôle continu
  • Projet(s)
  • Examen final

Description des modalités de validation

Examen écrit éventuellement complété d'une note de contrôle continu sanctionnant des devoirs, projets ou autres travaux personnels.

Thésaurus du Cnam :

  • Théorie des ensembles
  • Langage informatique
  • Méthodes formelles de spécification logicielle
  • Construction de modèle
  • Méthode UML

Thésaurus Formacode :

  • 11076 - algèbre
  • 30854 - langage informatique
  • 31068 - méthode analyse
  • 31088 - programmation

Secrétariat

Libellé
EPN05 - Informatique
Nom du contact
Safia Sider
Adresses email
safia.sider@lecnam.net
Numéros de téléphone
01 40 27 26 81
Adresse postale
2 rue Conté 33.1.13A
Paris 75003