Relations et fonctions - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Relations et fonctions

Description:

Langage pour exprimer les propri t s des nouvelles valeurs des variables en fonction de leurs anciennes valeurs et d' ventuels param tres (le quoi pas le comment) ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 12
Provided by: Lec69
Category:

less

Transcript and Presenter's Notes

Title: Relations et fonctions


1
Relations et fonctions
  • La relation est la notion la plus générale.
  • La fonction est un cas particulier
  • En général une fonction est partielle
  • Une fonction totale est un cas particulier
  • En général une fonction a pour inverse une
    relation
  • une injection a pour inverse une fonction
  • Toujours essayer de mettre le  côté  le plus
    contraint à  gauche 

2
Fonctions nouveaux opérateurs
  • limage fonctionnelle dun élément f(x)
  • f doit être une fonction
  • x doit appartenir à son domaine
  • fonctions abstraites (lambda expressions) 
    ?x.(x?D e)
  • D est le domaine de définition de la fonction
  • e une expression paramétrée par x définissant
    limage pour tout x de D
  • (? noté en ASCII)

3
Arithmétique des entiers
  • Les comparateurs
  • lt, gt, ?, ? (lt et gt en ASCII)
  • Les opérateurs binaires
  • , -, , / (la division entière)
  • mod (le modulo)
  • xy (xy en ASCII)
  • Les opérateurs unaires
  • succ, pred

4
Arithmétique des ensembles
  • Lopérateur card(E)
  • Le nombre déléments dun ensemble
  • Les opérateurs max(E) et min(E)
  • Prennent un ensemble dentiers non vide en
    paramètre
  • Retourne lentier le plus grand (resp. le plus
    petit) de lensemble
  • Les opérateurs ? et ? (SIGMA et PI en ASCII)
  • Calculent la somme (le produit) dexpressions
    arithmétiques
  • ?(x,y).(P E)
  • P est une formule de la logique des prédicats et
    E une expression arithmétique (P et E dépendant
    des variables x,y)
  • Somme pour toutes valeurs de variables x,y
    satisfaisant P des expressions E correspondants
    aux valeurs des variables

5
Application à la modélisation
  • Description de parenté entre personnes
  • Personne ne peut être en même temps un homme et
    une femme.
  • Cependant on est un homme ou on est une femme.
  • Seules les femmes ont des époux, qui sont des
    hommes.
  • Les femmes nont quun seul époux.
  • Une épouse dun homme est une femme dont cet
    homme est lépoux.
  • Les hommes nont quune seule épouse.
  • Les mères sont des femmes mariées.
  • Par définition, le père est lépoux de la mère.

6
Formalisation
  • Soit un ensemble abstrait PERSONNE
  • On introduit les concepts homme, femme, époux,
    mère
  • homme ?? PERSONNE
  • femme PERSONNE homme
  • aPourEpoux ? femme -gt homme
  • aPourMère ? PERSONNE -gtdom(aPourEpoux)

7
Formalisation
  • Modéliser les concepts
  • aPourEpouse
  • aPourConjoint
  • personneMariée
  • mère
  • aPourPère, père
  • aPourParent, parent
  • aPourEnfant, enfant, aPourFille
  • aPourFrereOuSoeur, aPourFrere
  • aPourBeauFrereOuBelleSoeur
  • aPourNeveuOuNiece
  • aPourOncleOuTante
  • aPourCousin

8
Modélisation des opérations
  • Spécifier les transformations détat que lon
    attend des services de la machine
  • Létat dune machine entièrement déterminée par
    la valeur de ses variables
  • Langage pour exprimer les propriétés des
    nouvelles valeurs des variables en fonction de
    leurs anciennes valeurs et déventuels paramètres
    (le quoi pas le comment)
  • Le langage proposé Substitutions généralisés
  • Dispose de constructions proches de laffectation
    et des conditionnelles
  • Absences de séquences et boucles
  • Constructions adaptées à la spécification
    pré-condition, substitution multiple,
    substitutions indéterministes

9
Spécifier les changements détats
  • Utiliser des prédicats Pre-Post
  • Convention une variable prime indique la valeur
    dune variable après lopération
  • Exemple
  • x x 1
  • Dans le nouvel état la variable x a sa valeur
    incrémentée de 1 par rapport à sa valeur dans
    lancien état
  • x gt x
  • Dans le nouvel état la valeur de la variable x
    nest pas connue mais elle sera supérieure à la
    valeur précédente

10
Exemple Système de réservation à capacité
infinie
  • MACHINE
  • Reservation
  • VARIABLES
  • nbPlaceLibre
  • INVARIANT
  • nbPlaceLibre?NATURAL
  • OPERATIONS
  • reserver / réserve une place / 
  • annuler / annule la réservation dune
    place /
  • END

nbPlaceLibre nbPlaceLibre 1
11
Obligation de preuve
  • Une opération doit respecter les lois statiques
    du système
  • Si la valeur des variables avant lopération
    respecte linvariant
  • Alors quelque soit les nouvelles valeurs prises
    par les variables parmi les valeurs caractérisées
    par le prédicat Pre-Post
  • Forcément ces nouvelles valeurs des variables
    respectent linvariant.
  • Inv(v) gt ?v.(PrePost(v,v) gt Inv(v))
  • Exemple de annuler 
  • nbPlaceLibre?NATURAL
  • gt ?nbPlaceLibre. ( nbPlaceLibrenbPla
    ceLibre1
  • gt nbPlaceLibre?NATURAL )
Write a Comment
User Comments (0)
About PowerShow.com