A1263195931MyGgY - PowerPoint PPT Presentation

1 / 135
About This Presentation
Title:

A1263195931MyGgY

Description:

Le constat est vieux d'un si cle, mais il a curieusement t pass sous silence. ... universaux ', est le r alisme : admettre que des ' entit s universelles ' comme ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 136
Provided by: habr2
Category:

less

Transcript and Presenter's Notes

Title: A1263195931MyGgY


1
(No Transcript)
2
Bonjour !
Henri Habrias Professeur à luniversité de
Nantes Nantes ! Le centre du monde ! En poste à
lIUT Responsable du DESS Génie logiciel,
économie, droit et normes Enseignant en DEA et
Formation doctorale
3
Je viens du centre du monde !
" Le constat est vieux d'un siècle, mais il a
curieusement été passé sous silence. Si l'on
représente le globe selon une projection polaire
en tenant compte, non pas du pôle Nord, mais de
la surface des terres émergées, Nantes apparaît
au centre du monde." Ce constat a été fait par
August Penck à la fin du XIXe siècle. (voir
Sciences Vie, Hors série, n 203, juin 1998,
Dossier France, p. 10)
4
Bibliographie
Jai écrit pour vous des livres Henri Habrias,
Le modèle relationnel binaire, méthode I.A.
(NIAM), Paris, Eyrolles, 1988, ISBN
2-12-08169 Henri Habrias, Introduction à la
spécification, préface de Hervé Gallaire,
présentation par Michael Jackson, Masson, 1993,
ISBN 2-225-82768-0 Henri Habrias, La mesure
du logiciel, 2ième édition, corrigée et
augmentée, Teknea, 1994, ISBN 2-87717-045-4
5
Bibliographie
David Lightfoot, La spécification formelle avec
Z, traduit par H. Habrias, Teknea, 1994, ISBN
2-87717-038-1 Henri Habrias, Dictionnaire
encyclopédique du génie logiciel, Préface de
Jean-Pierre Finance, Masson, 1997, ISBN
2-225-85328-2 Henri Habrias, Les paradigmes des
méthodes danalyse et de conception in Génie
logiciel principes, méthodes et techniques A.
Strohmeier, D. Buchs (Publié sous la direction
de), 1996, Presses Polytechniques et
universitaires romandes, ISBN2-88074-296-X
6
RDV sur la toile
M. Frappier, H. Habrias - Software Specification
Methods, An Overview Using a Case Study, FACIT,
Springer, 2000, ISBN 1-85233-353-7, Site web
associé Henri Habrias, Spécification formelle
avec B , Hermes/Lavoisier, octobre 2001, ISBN
2-7462-0302-2, 416 pages
RDV sur mon site web http//www.iut-nantes.univ-
nantes.fr/habrias/portailHabrias
7
Notre but
Vous fournir des éléments pour aller, au-delà des
mots souvent franglais, aux concepts essentiels
cachés derrière les  nouveautés de
linformatique  On parlera de mathématiques
élémentaires, de variables, constantes, de
substitution, de prédicat, dexpression, de
substitution, de machine abstraite, de
pré-condition, de garde, dinvariant, de
composant logiciel, de méta-modélisation Et dUML
8
Notre parcours
On remontera à Aristote, avec les entités et les
propriétés Et on vous proposera de profiter de
linvention des ensembles et des relations On
vous proposera dabandonner la métaphysique, de
vous méfier des objets. Et on montrera ce
que lon peut prouver sur une spécification.
9
Concepts de base
Pour éviter de compliquer Le complexe suffit à
la tâche ! Différence entre compliqué et
complexe
10
Attribut, propriété, Attention !
" Des cinq approches discutées dans ce chapitre,
l'approche ER est clairement la
gagnante en termes de manque de définitions
précises, manque de niveaux clairs
d'abstraction, et manque de discipline
mentale. La popularité de ER réside
sans doute dans sa multitude
d'interprétations, aussi bien que dans son
utilisation de modes de pensée
familiers mais obsolètes.   Ted Codd,
The Relational Model for Database Management,
Version 2, Addison-Wesley, 1990, ISBN
020114192 2
11
Rasoir dOccam
Ou principe d'économie Si un concept est
inutile, il faut prendre le rasoir et le couper.
  " Entia non sunt multiplicanda praeter
necessitatem" Il ne faut pas multiplier les
entités au delà du nécessaire
12
Rasoir dOccam
Ce principe portant le nom du logicien anglais
nominaliste du XIV e siècle Guillaume d'Occam
(illustré dans le roman Le nom de la rose d'U.
Eco par Guillaume de Baskerville) qui a donné
aussi son nom à un langage de programmation, "
est illustré au siècle précédent par Thomas
d'Aquin, puis Duns Scot, qui l'empruntent tous
deux à un adage scolaire tiré d'Aristote
(Physique), qui prétend s'inspirer d'Empédocle
(!)   Frustra fit per plura quod potest fieri
per pauciora. Il vaut mieux prendre des
principes moins nombreux et de nombre limité,
comme fait Empédocle.
13
La phrase dAristote
L'homme est mortel. Socrate est mortel.
mortel est l'attribut de l'homme mortel est
l'attribut de Socrate Le logicien pensait
atteindre l'essence des choses à travers ces
attributs. Un jour l'un d'eux ayant entendu que
l'homme est un animal sans plume, a collé des
plumes à un homme pour montrer que la définition
n'avait pas atteint l'essence de l'homme.
14
Complication
Dudule copie sur Huguette Dudule est copiant sur
Huguette  copiant sur Huguette  attribut ou
propriété de Dudule
15
Naissance des relations
La pensée scientifique a reconnu l'impossibilité
d'atteindre l'essence des choses et la logique
des relations est née. On ne se demande pas ce
qu'est un attribut, on a des ensembles, des
relations, un point c'est tout. Et en ce qui
concerne l'essence des choseslaissons ça
aux métaphysiciens
16
Et lontologie ?
Cest la  science de lêtre en tant quêtre. 
Cest de la métaphysique.
De nos jours, des informaticiens pensent quils
vont mettre lessence de lêtre dans les
ordinateurs !
S.V.P. Lisez Jacques Arsac
17
Les 4 sens du verbe  être 
G. Frege
  • Existence  Dieu est 
  • Appartenance  Socrate est mortel 
  • Inclusion  le Niçois est français 
  • Dénotation  létoile du matin est létoile du
    soir 
  •  Etoile du matin, étoile du soir dénotent Vénus 

G. Fre
18
Prédicat dappartenance
Dudule promo
Dudule
promo
Prédicat dappartenance
19
Inclusion
Un ensemble est inclus dans un autre ensemble.
1, 2, 4, 8 lt 1, 2, 3, 4, 5, 6, 7, 8, 9
Un ensemble peut appartenir à un autre ensemble
(qui est alors un ensemble densembles)
1, 2 2, , 1, 2
20
Relation
Ensemble de départ
Ensemble d arrivée ou cible (target)
e
1
a
2
b
3
c
4
Codomaine ou range
d
5
domaine
Relation quelconque
21
Fonction partielle
e
1
a
2
b
3
c
4
d
5
Fonction partielle
22
Fonction totale
e
1
a
2
b
3
c
4
d
5
Fonction totale
23
Fonction partielle
e
a
2
b
c
d
5
Fonction partielle surjective
24
Totaliser les fonctions
On peut rendre une fonction totale en utilisant
la  valeur nulle 
Mais si on suppose quon a une valeur nulle dans
chaque Ensemble de base, toutes les fonctions
sont totales et toutes Les relations ont leur
domaine qui est égale à lensemble
de Départ. Alors que reste-t-il comme contrainte
? La contrainte de fonctionnalité, dite aussi
 unicité 
25
Totalisation dune fonction
e
1
a
2
b
3
c
4
d
5
nulle
Fonction partielle totalisée !
26
Bijection
e
a
2
b
c
d
5
Fonction totale surjective Bijection
27
Image relationnelle
e
1
a
2
b
3
c
4
d
5
R1 a, b, c 2, 4
Image relationnelle
28
Restriction de domaine
r1
e
1
a
2
b
3
c
4
d
5
R1 gt 2, 5 (a, 2), (b, 2), (d, 5)
Restriction de codomaine
29
Restriction de domaine
r1
e
1
a
2
b
3
c
4
d
5
a, b lt r1 (b, 2), (c, 4)
Restriction de domaine
30
Antirestriction de domaine
r1
e
1
a
2
b
3
c
4
d
5
b, c ltlt r1 (a, 2), (a, 4), (d, 5)
Antirestriction de domaine
31
Composition de relations
r1
r2
e
1
x
a
2
y
b
3
z
c
4
w
d
5
r1 r2 r2 o r1
32
Variable, ensemble
Ne pas confondre un ensemble et une
variable Promo est une variable qui a comme
invariant dêtre un ensemble détudiants Promo lt
ETUDIANT La valeur de Promo peut changer. On
peut faire Promo Promo \/ dudule dudule,
duchnock, dutif nest pas une variable ! Un
ensemble ne peut être modifié, une variable est
modifiable.
33
Alors, un attribut, cest quoi ?
Cest - soit la valeur dune fonction f(x) -
soit limage relationnelle dune relation r
x
Application de fonction
Image relationnelle
r
f
a
7
a
7
8
b
b
c
f(a) 7
R (a,b 7, 8
34
Attribut
  • Pour une relation vue sous forme dun tableau
    (lignes et colonnes)
  • Attention de ne pas tout mélanger !
  • nom dune colonne
  • valeur dune  case 
  • valeur de plusieurs cases (ex valeur des
    numéros produits
  • commandés sur une commande donnée)

35
Valeur vs objet
Encore complication ! Un peu de théorie
élémentaire. Essentiel si on ne veut pas
compliquer
Différence entre prédicat et expression
36
Différence entre prédicat et expression
Un prédicat se prouve. On peut prouver quil est
faux.
Nantes est sur la Loire Dudule est lamant
dHuguette 5 8 1, 2, 3 lt 1, 2, 3, 4, 5 2
1, 2, 3
Ce na pas de sens de vouloir prouver une
expression
1, 2, 3 8 Dudule Sophia-Antipolis
(1, b), (4, b), (7, c)
vrai faux
37
Valeurs
On peut appeler les expressions des valeurs.
En B, on passe dun prédicat à une expression,
ainsi Bool (5 9) faux
Pourquoi distinguer valeur et objet ?
38
 Vous savez pourquoi ça n'intéresse pas les gens
? Parce que ce ne sont pas des événements. Ce
sont des anecdotes! Première anecdote La main
de ma soeur. Deuxième anecdote Une
culotte. Troisième anecdote Un
zouave. Seulement, si vous prenez la
première... que vous la glissiez dans la
deuxième qui appartient au troisième... Vous
obtenez un événement sur lequel on n'a pas fini
de jaser !  R. Devos
39
Un nom peut devenir valeur !
Nétudiant sexe Bac
23 masc C
45 masc B
78 fem C
93 masc C
40
Attribut devenant valeur !
N étudiant Attribut Valeur
23 sexe masc
23 bac C
45 sexe masc
45 bac B
78 sexe fem
78 bac C
43 sexe fem
43 bac C
41
Triplets objet, attribut, valeur
Attribut relation binaire d un ensemble
d objets vers un ensemble de valeurs
Objets
Attribut couleur
Valeurs
voiture veste vélo chapeau
bleu rouge vert jaune noir
42
Triplets O-A-V
Objet
Valeur
Attribut
Objet
Sujet
Prédicat
Objet
Ressource
Propriété
43
Le langage LEAP (Feldman, Rover, 1969)
A.O V fils.Jean Melle Henri Melle l assoc.
Si dans la base A.O x fils.Jean Melle x fils
de Jean Melle A.x V fils.x Henri Melle père
de Henri Melle x.O V x.Jean Melle Henri
Melle nom de la relation entre Jean Melle
et Henri Melle A.x z fils.x z tous les
couples père-fils de la base x.Z V x.z
Henri Melle Toutes les associations ayant
Henri Melle comme 3e composant x.O
z x.Jean Melle z Toutes les
associations ayant Jean Melle comme 2e
composant x.y z x.y z Toutes les assoc de
la base
44
Langage et métalangage
Huguette, mange ta soupe ! Oui maman ! Huguette,
range la table ! Oui, maman ! Huguette, arrête de
dire  Oui maman  ! Oui maman !
45
Langage et métalangage
Cest complètement fou Le mot court est plus
long que le mot long !
Cest complètement fou  Le mot court est plus
long que le mot long  !
Cest complètement fou  Le mot court est plus
long que le mot long 
46
Objet, où es-tu ?
" Revenons à une situation décrite par Spade
jai devant moi deux stylos à bille noirs. Le
point crucial est combien de couleurs vois-je ?
Deux réponses soffrent. La première je vois
une seule couleur la noirceur (blackness) qui
est " simultanément partagée par les deux stylos
ou commune aux deux " -, une seule et même
couleur donc, bien quinhérente à deux choses
distinctes et présente en même temps en deux
endroits différents. Cette position, ce que Spade
appelle " croire aux universaux ", est le
réalisme admettre que des " entités
universelles " comme la noirceur sont partagées
par toutes les choses qui présentent une même
propriété (ici, être noires) et quà ce titre
elles leur sont communes.
47
2 crayons, et pourquoi pas 2 couleurs ?
A lopposé, évidemment, le nominalisme est
caractérisé comme celui qui voit deux noirceurs,
autant de noirceurs que de stylos. Deux noirceurs
qui sont " semblables ", certes, mais qu " il
suffit de regarder pour voir quelles ne sont pas
et nen restent pas moins deux noirceurs ".
Ainsi illustré, le problème des universaux est
simple y-a-t-il ou non deux couleurs dans les
stylos de P.V. Spade ? " Le réalisme et le
nominalisme sont les deux principales réponses à
cette question. " () " le réaliste est celui,
qui voyant la noirceur partout où il y a des
choses noires, en conclut quil y a en chacune la
même " entité universelle ". Alain de Libera in
La querelle des universaux, Seuil, 1996, p. 18-19
48
Sémiologie
Stoïciens
Semainomenon ce qui est exprimé, ou contenu,
qui ne représente pas une entité physique
signifié
référent
signifiant
Tynchanon Objet auquel on se réfère, entité
physique ou événement ou action
Seimainon expression perçue comme
entité physique
49
Sémiologie
Stoïciens
Idée, concept de cheval  cheval 
signifié
référent
signifiant
Tous les chevaux existant, ayant existé, qui
existeront
/cheval/
50
Les stoïciens Platon --gt Aristote --gt
Théophraste --gt les Mégarites et les Stoïciens
51
Sémiologie
Existant, ayant existé, qui existeront ? !
 licorne 
signifié
référent
signifiant
/licorne/
Ensemble vide !  le référent licorne n a jamais
eu d  existence réelle 
52
Sémiologie
Exister ? Etre vivant (biologie ?) N y a-t-il
pas un objet qui existe bien et qui est la
licorne ? Allez voir la tapisserie de la Dame à
la licorne au Musée du Moyen Age à Paris
! Pourquoi toutes les licornes peintes,
sculptées, tissées ne seraient-elles pas des
référents ? Les licornes n existeront plus le
jour où on aura détruit toutes les licornes,
qu il n y aura plus aucune trace de licornes
dans les livres, musées, etc. Quand la licorne
aura disparu de la mémoire de l humanité.
53
Sémiologie
Exister ? Etre vivant (biologie ?) N y a-t-il
pas un objet qui existe bien et qui est la
licorne ? Allez voir la tapisserie de la Dame à
la licorne au Musée du Moyen Age à Paris
! Pourquoi toutes les licornes peintes,
sculptées, tissées ne seraient-elles pas des
référents ? Les licornes n existeront plus le
jour où on aura détruit toutes les licornes,
qu il n y aura plus aucune trace de licornes
dans les livres, musées, etc. Quand la licorne
aura disparu de la mémoire de l humanité.
54
Sémiologie
Signifié interprétant (Pierce) sens
(Frege) intension (Carnap) designatum (Morris,
1938) signficatum (Morris, 1946) concept
(Saussure) connotation (Stuart Mill) image
mentale (Saussure, Pierce) contenu
(Hjelmslev) état de conscience (Buyssens)
référent
signifiant
55
Sémiologie
signifié
Référent objet (Pierce) denotatum
(Morris) Bedeutung (Frege) dénotation
(Russell) extension (Carnap)
signifiant
Qu est ce que le signe ? Ce qui est à gauche ?
56
Sémiologie
signifié
référent
Signifiant (Saussure) signe (Pierce) symbole
(Ogden(Richards) véhicule du signe
(Morris) expression (Hjelmslev) representamen
(Pierce) sème (Buyssens)
57
Sémiologie
Linguistique
signifié
référent
signifiant
58
Sémiologie
Signifiant  aliquid stat pro aliquo 
 Something which stands to somebody for
something in some respect or capacity   Quelqu
e chose qui tient lieu pour quelqu un de quelque
chose sous quelque rapport ou à quelque
titre  Pierce
59
Sémiologique
Sémantique le signe dans sa relation à ce
qu il signifie syntaxe pragmatique le signe
est perçu en fonction de ses origines, et des
effets qu il a sur ses destinataires Rhétorique
60
Modèle
  • Deux sens
  • Premier sens
  • interprétation attribution d'un sens à des
    énoncés formels de sorte qu'ils soient vérifiés
  • La géométrie devient un modèle d'un langage
    formel, plutôt que la formalisation de propriétés
    idéalisées à partir d'observation de l'espace
    sensible.

61
Modèle
  • Etude des relations entre ensembles d'énoncés et
    ensembles de modèles de ces énoncés.
  • Un modèle d'un énoncé fait dans un langage formel
    est une interprétation (association d'un sens
    aux symboles du langage formel) où cet énoncé est
    vrai.
  • Deuxième sens
  • associer à une "réalité empirique" un énoncé
    formel.
  • Minsky Un objet O est un modèle d'une réalité R
    si O permet des répondre aux questions que l'on
    se pose sur R.

62
Modèle et interprétation
  • " les deux sens du concept de modèle ne sont que
    les deux faces complémentaires d'une même
    activité interpréter
  • Interpréter est inéluctable, qu'il s'agisse
  • d'interpréter un formalisme, ou, inversement
  • d'interpréter mathématiquement un ensemble de
    données.
  • D'une part, parce qu'un langage qui n'aurait pas
    de modèle n'a aucun intérêt, d'autre part et
    réciproquement, parce que l'expression n'est pas
    le miroir de l'expérience."
  • Hourya Sinaceur

63
Spécifier
  • Attention !Spécifier nest pas dessiner des
    boîtes et
  • des flèches (boxologie)
  • Il faut
  • Une syntaxe formelle
  • Une sémantique formelle (qui peut être
    dénotationnelle ou
  • opérationnelle

Spécifier nest pas écrire un algorithme. Mais on
passe de la Spéc au programme en prouvant le
raffinage.
64
Boxologie
65
Complication
Jules est à côté de Paul.  à côté de Paul"
serait l'attribut de Jules ?! Et pourquoi pas
"à côté de Jules" l'attribut de Paul ?
66
Théorie des ensembles
Prédicat dappartenance Ensembles de base Produit
cartésien Ensemble des sous-ensembles
Rappel À gauche du signe dappartenance, si on
a un ensemble, à droite on a un ensemble
densembles. A gauche du signe dappartenance, si
on a un ensemble densembles à droite, on a un
ensemble densemble densembles
67
Axiome de fondation
Partant dun ensemble, si on prend un de ses
éléments (une boîte) Et quon prend un élément
dedans (une boîte), Et quon prend un élément
dedans cette boîte, etc. On est obligé de
sarrêter. On arrive à un niveau où lon ne peut
plus décomposer. Cet axiome interdit quun
ensemble puisse se retrouver à lintérieur de
lui-même. X X
68
Typage
 Dans un village dAndalousie, le barbier rase
toutes les personnes Qui ne se rasent pas
elles-mêmes  Qui rase le barbier ?
69
Invariant
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo ,estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe

70
Ensembles de base
On construit tout ensemble en partant des
ensembles de base
Vous êtes habitués par vos profs de maths à
écrire Soient les ensembles A, B, C
Ensembles donc constantes ! Incommensurables. On
na pas le droit décrire A /\ B ou encore A \/
B
Sécrit en B SETS A B
71
Produit cartésien et POW
On construit des ensembles à laide du produit
cartésien () Et de lensemble des sous-ensembles
(ens. des parties) POW
Attention ! Ne pas confondre un élément dun
ensemble de base et un ensemble.
72
Eléments des ensembles de base
SETS DEPARTEMENT COMMUNE VARIABLES
communes, départements, estDans INVARIANT
communes lt COMMUNE départements lt
DEPARTEMENT estDans communes --gtgt
départements
73
SETS
SETS COMMUNE VARIABLES communes,
départements INVARIANT communes lt COMMUNE
départements lt POW (COMMUNE)
Un département est un ensemble de communes. On ne
décider de créer deux nouveaux départements sans,
en même temps, Décider de communes qui le
constitueront. Rien ne distingue un ensemble vide
de communes dun autre !
74
1ière forme normale de Codd
Quest-ce quune relation n-aire (à la Codd) en
Première forme normale ?
Une relation dont les constituants prennent pour
valeur des éléments densembles de base
75
Et une relation n-aire ?
schéma d'une relation Personne (N personne,
Nom de Personne, ville de naissance, ville
d'études) attributs de la relation N
personne, Nom, ville de naissance, ville
d'études ville de naissance et ville d'études
ont le même domaine VILLE
Personne lt NAT NOM VILLE VILLE
76
Regroupement de fonctions binaires
aPourN PERSONNE-gt NAT / Npersonne
ran (aPourN) / aPourNom PERSONNE -gt
NOM / Nom de Personne ran (aPourNom) /
estNéA PERSONNE -gt VILLE / ville de
naissance ran (estNéA) / faitSesEtudesA
PERSONNE -gt VILLE / ville d'études ran
(faitSesEtudesA) /
77
La méthode B
Son auteur Jean-Raymond Abrial Cest lui qui a
conçu la notation Z, Puis B Qui est la méthode
qui a fait lobjet du plus grand nombre
de communications à la conf mondiale sur les
méthodes formelles Un succès le logiciel
sécuritaire du métro automatique Meteore. De la
spec au code avec preuve mathématique.
78
Une machine abstraite
Une interface des  boutons , des noms
dopération avec paramètres dentrée, de sortie
Variables avec un invariant Constantes avec
propriétés
Un état encapsulé
op3
op1
op4
op2
Initialisation Corps des opérations
79
Machine abstraite
MACHINE (paramètres) CONSTRAINTS prédicat sur
les paramètres SETS ensembles de
base CONSTANTS liste des constantes PROPERTIES p
rédicat sur les constantes VARIABLES liste des
variables
INVARIANT prédicat sur les variables INITIALISA
TION pour sassurer que notre spec a un
modèle OPERATIONS préconditionnées ou gardées
END
80
Autres types de machines
En B, on a aussi des REFINEMENT des
IMPLEMENTATIONS Tout le développement est
assisté par la preuve.
81
2 variables
INVARIANT promo lt ETUDIANT estMembreDe
promo -gt GROUPE
VARIABLES estMembreDe, promo
ETUDIANT
GROUPE
estMembreDe
g1
promo
g2
g3
82
Pré-condition
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo ,estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe

OPERATIONS ajoutMembre (ee, gg) PRE
ee promo gg GROUPE ee / dom
(estMembreDe) THEN estMembreDe estMembreDe \/
ee -gt gg END
83
On peut ne pas respecter la pré-condition
Une pré-condition est une pré-condition
demploi. Rien ne vous empêche de ne pas
respecter la pré-condition. Mais Vous êtes
prévenus. Si vous voulez que lopération fasse ce
Que dit son nom, il faut respecter la
pré-condition. Ex. Si vous ne respectez pas la
pré-condition de la division, (ne pas donner un
diviseur 0) vous naurez pas une fonction
division.
84
Crash !
La pré-condition dune opération nest pas dans
le code de cette opération. Ce nest pas alors
que vous avez sauté par la fenêtre quil
faut exécuter  si fenêtre à plus de 5 mètres, ne
pas sauter  Trop tard Cest le crash !
Comme pour Ariane 5. Qui est sorti du domaine
du vol. (voir notion de domaine dune relation)
85
Le crash dAriane 5
Accélération min4..max4
Ariane 4
x min4..max4
Fonction de conversion de A4
y
86
Ariane 5
Accélération min5..max5
Non respecté car mas5 gt max4
x min4..max4
Fonction de conversion de A4
Levée dune exception
y
Commutation sur un autre calculateur et exécution
de la même fonction
87
La chuteaprès la faute !
Copie du composant B
Y code erreur
Composant B
Braquage tuyères
88
La garde
La garde empêche deffectuer lopération. Quand
on raffine on renforce la garde, on étire le
temps. Si nous avons le temps, nous parlerons du
 B événementiel 
89
Calcul de la WPC
x x 1 (x lt 100) x 1 lt 100 ltgt x lt 99
x, b b, a (a lt b) alt b
Plus faible pré-condition (Dijkstra)
a y z k (x gt k) y gt k
90
Indéterminisme
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo ,estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe

ajoutEtudiant PRE ETUDIANT promo /
THEN ANY ee WHERE ee ETUDIANT promo
THEN promo promo \/ ee END
91
Définitions
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo ,estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe

Une définition nest pas une variable !
DEFINITIONS groupesAffectés ran (estMembreDe)
92
Ce quest une spéc abstraite
  • Une spécification abstraite
  • nest pas exécutable
  • peut être indéterministe
  • les opérations peuvent être pré-conditionnées
  • - pas de séquencement
  • Intérêt ?

93
Pré-condition
  • La pré-condition permet
  • dexpliciter lopération par ses conditions
    dexécution
  • de prouver que, si lon appelle lopération sous
    sa
  • pré-condition, linvariant est respecté
  • Bien sûr, la preuve est relative aux
     propriétés  exprimées dans
  • linvariant. Si invariant  léger , on ne
    prouvera pas grand chose !

94
Obligation de preuve
Pré-condition Invariant gt Substitution
Invariant
INVARIANT x lt 100 OPERATIONS incrémentation
PRE x lt 100 THEN x x 1 END
Calcul de pré-condition x x 1 (x lt 100)
x 1 lt 100 ltgt x lt 99
95
Ex-falso quodlibet
P or Q ? not P gt Q P ? Q ? (P gt Q) (Q
gt P)
btrue or Q ? btrue Daprès la définition du
or, on a btrue or Q ? not (btrue) gt Q
? bfalse gt Q Donc il faut considérer que
bfalse gt Q est toujours vrai.
96
To be or not to be !
Idem non esse et non probari Ne pas être ou ne
pas être prouvé, c'est tout un.
97
De la logique à linformatique
Les axiomes des substitutions généralisées
x E P P E/x x, y E, F P PE, F/x,
y skip P P PRE P THEN SI P I gt S
I SELECT P THEN S I P gt S I Garde CHOICE S
OR T I S I T I Choix indéterministe IF
E THEN S ELSE TI (E SI) or (not E T I)
98
Le raffinage
  • On réduit lindéterminisme
  • On affaiblit les pré-conditions
  • On renforce les gardes
  • 4) On sapproche de la machine concrète
  • Avec introduction de
  • - du séquencement et donc de la boucle

Et on prouve que le raffinage se fait en
respectant les fonctionnalités
99
Raffinage
100
Raffinage
Avant
Réduction indéterminisme
Après
I
Abstrait
I
Opération S
J
J
Opération T
Concret
I J P gt Q T not S not J
101
Composant
Comme  objet , le terme recouvre tout et
nimporte quoi pourvu Que ça fasse vendre !
Daprès Clemens Szyperski  Component Software,
Beyond Object-Oriented Programming  Second
edition, Addison-Wesley, 2002, Pearson
Publications
102
Caractéristiques essentielles
  • unité indépendante de déploiement
  • Donc séparé de son environnement et des autres
    composants
  • Encapsule ses services
  • Nest jamais déployé partiellement
  • un tiers ne peut avoir accès aux détails de
    construction du
  • Composant
  • Donc a une spécification claire.
  • Il encapsule son implantation.
  • Interagit avec son environnement par une
    interface bien définie

103
Caractéristiques essentielles (suite)
  • ne doit pas avoir un état observable
     extérieurement 
  • i.e. il ne doit pas pouvoir être distingué de
    copies de lui-même
  • (si ce nest des choses comme son numéro de série
    pour le
  • comptable)
  • Un état dun composant sert pour des raison de
    performances
  • (comme un cache)
  • Un composant est chargé et activé dans un
    système.
  • Ca na aucun sens davoir plusieurs copies dun
    composant
  • dans un système

104
Composant vs Module
  • Exemples
  • un serveur de base de données
  • Attention ce nest pas parce quil y a
    peut-être une seule base
  • de données maintenue par ce serveur quil faut
    confondre l
  • instance avec le concept

Lensemble base de données , serveur peut être
vu comme un module avec un état observable.
105
Le plan vs les objets
  • Séparation entre
  • le plan que lon ne peut modifier
    ( immutable )
  • les instances que lon peut modifier
    ( mutable )
  • (donc ce sont des variables et non des
    expressions)

106
Confusion !
Le concept de composant na pas trait au niveau
de lobjet ! N est donc pas relié à la vie des
objets Ne traite pas de létat de lobjet.
107
Objet es-tu là ?
  • Caractéristiques de lobjet (chez les
    informaticiens)
  •  unité dinstanciation  (cest un élément dun
    ensemble,
  • Élément obtenu par demande dinstanciation à la
    classe dont
  • lobjet est un représentant). Il a une  identité
    unique 
  • (curieuse expression. Quest-ce quune identité
    non unique ?)
  • Ne peut être instancié quen partie.
  • On peut avoir aussi des objets  prototypes 
    dont on fait des clones.

108
  • doit avoir un état qui peut être observable
    extérieurement
  • Encapsule son état et son comportement

109
La notation UML
utilisons le concept densemble (une
relation est un ensemble) et évitons les
problèmes connus pendant 20 siècles !
110
Une mauvaise notation (OMT)
Rappel une information réduit le champs des
possible. Cest une contrainte.
A
B
A
B
A gt-gtgt B
A gt--gt B
A
B
A
B
A gt-gt B
A --gt B
A
B
A lt--gt B
111
Une mauvaise notation
Avec cette notation, plus il y a de contrainte,
moins on a de signifiants ! Imaginez la même
chose pour le code de la route ou pour un un code
de droit !
112
Le progrès ?
 C'est vrai, nous devons avoir quelque part, un
outil à dessiner des boîtes et des flèches qui
s'appelle MEGA. Autrefois il dessinait des
rectangles et des ovales (MERISE) aujourd'hui
c'est pire, il y a toutes sortes de boîtes et
flèches (c'est de l'UML). Inutile de dire que
cela n'apporte rien en terme de réflexion sur un
développement informatique. Il y a des personnes
qui trouvent cela bien car ils remplissent des
pages de dessins et quand on leur demande d'en
donner la signification précise, on entend tout
et n'importe quoi. Bien sûr, le programmeur ne se
sert absolument pas de ces dessins, mais il fait
semblant pour que tout le monde soit satisfait
... Cela doit être le progrès.  Monsieur X,
Chef de projet dans un gros service informatique
113
Notation UML
1
1
A
B
R ( A, B)
A gt-gtgt B
R1(A, B) R2 (B)
0..1
1
A
B
A gt--gt B
R1 (A, B) R2 (A) R3 (B)
A
B
0..1
0..1
A gt-gt B
114
 association qualifiée  ?!
Bât
estDans
estDans salle --gt Bât
salle
U
NAT
aPourN
aPourN salle --gt NAT
estDans gtlt aPourN salle gt--gt Bât NAT
bâtiment
salle
Salle (n)
115
Manufacturer
Bottle
product(Date)
Size Number
SETS BOUTEILLE FABRICANT DATE INVARIANT
fabricants lt FABRICANT bouteilles lt
BOUTEILLE aEtéProduitePar bouteilles --gtgt
fabricants aEtéProduiteLe bouteilles --gtgt
DATE aPourTaille bouteilles -gt NAT
aEtéProduitePar gtlt aEtéProduiteLe bouteilles
gt--gt fabricants
116
Automates de Harel en B
S1
Sn

SETS SS S1, , Sn VARIABLES ss INVARIANT ss
SS INITIALISATION ss S1
117
Initialisation indéterministe
S1
Initialisation indéterministe

Sn
ss SS
118
Transition
E
S1
S2
E IF ss S1 THEN ss S2 END
119
Plusieurs transitions, même évt
E
S1
S2

E
Si
S
OPERATION E CASE ss OF EITHER S1 THEN ss
S1 OR Si THEN ss ss END
120
Action sur événement
E/act
S1
S2
OPERATIONS E IF ss S1 THEN ss S2
act END
121
Action sur initialisation
/act
S1
INITIALISATION ss S1 act
122
Condition sur transition
E cond/act
S1
S2
OPERATIONS E IF ss S1 cond THEN
ss S2 act END
123
Conditions sur plusieurs trans.
Econd1/act
S1
S1
S1
Econdi/acti
OPERATIONS E SELECT ss S1 cond1 THEN ss
S1 act1 WHEN ss S1 condi THEN ss
Si acti ELSE skip END
124
Transition avec paramètre
E(para) cond/act
S1
S2
OPERATIONS E (para) IF ss S1 cond
THEN ss S2 act END
125
Transitions simultanées
S1
E(para) IF ss S1 cond1 cond2 THEN ss
S3 act1 act2 END
E(para) cond1/act1
S2
cond2/act2
S3
126
Entrée dans super état
E
S1
R1
R2

S2
SETS SS S1, S2 RR R1, R2 VARIABLES ss,
rr INVARIANT ss SS rr RR OPERATIONS E
IF ss S1 THEN ss S2 rr R1 END
127
Etats indépendants simultanés
S1
R
Q
Q1
R1


Qn
Rm
VARIABLES ss, qq, rr INVARIANT ss SS qq
QQ rr SS
SETS SS S1,, Sn QQ Q1,.., Qn RR
R1,, Rm
128
Transition vers deux sous-états
S1
Q1
Qn

S1
R1
Rm

OPERATIONS E IF ss S1 THEN ss S2 qq
Q1 rr R1 END
129
2 transitions dans 2 états conc.
S1
E
Q1
Q2
OPERATIONS E BEGIN IF qq Q1 THEN qq
Q2 END IF rr R1 THEN rr R2
END END
E
R1
R2
130
Communication
  • Communication entre états concurrents
  • Les états concurrents peuvent communiquer par
    variables globales.
  • Les var. globales peuvent être mises à jour dans
    les actions et lues
  • Dans les actions et les conditions
  • 2) La condition ou laction dune transaction
    peut dépendre du sous-
  • État concurrent dun état concurrent
  • 3) Les états concurrents peuvent communiquer par
    diffusion des
  • Événements. Sur la diffusion dun événement, tous
    les états
  • Concurrents réagissent simultanément.

131
Génération des événements
  • Les événements sont
  • soit générés de manière interne à travers une
    diffusion
  • soit générés extérieurement par lenvironnement
  • En B, la diffusion dun événement, est exprimée
    par lappel de lopé-
  • ration pour cet événement

E1/E2
S1
S2
OPERATIONS E IF ss S1 THEN ss S2 E2
END
132
MACHINE M SETS PQ, R S T, U, V W
X, Y VARIABLES p, s, w INVARIANT pP sS
wW INITIALISATION p Q s T w
X DEFINITIONS
S
Q
T
U
E
E
H
R
V
F/G
P
W
G/H
X
Y
E
(Q, T, X) -E--gt (R, U, X)
(R, U, X) - E --gt (Q, V, Y)
HH IF pR THEN p Q END GG IF w X THEN
w Y END
133
OPERATIONS E BEGIN IF p Q THEN p R
END CASE s OF EITHER T THEN s U
OR V THEN s T END END
IF w Y THEN w X END END F IF s U THEN
s V GG END G GG H HH END
134
Réutiliser des composants
- La réutilisation nécessite labstraction on
ne doit pas avoir à lire le code de lopération
- de disposer des Pré-conditions demploi des
opérations - d être sûr que si on respecte la
pré-condition lopération fait ce qui est annoncé
(choisir un nom qui est convenable.) On ne fera
pas léconomie de lattention au choix des mots.
135
Vers le génie logiciel
Nous navons pas parlé du paradigme des
processus Séquentiels communicants (CCS de
Milner, CSP de Hoare) Ce sera pour une autre
fois mais vous pouvez fréquenter votre
bibliothèque et le web. On na pas attendu UML
pour utiliser automates, expressions régulières,
cardinalités (pardon multiplicité !!!) de
relations. Bon voyage dans le monde du génie
logiciel à construire.
Write a Comment
User Comments (0)
About PowerShow.com