Concepts de base - PowerPoint PPT Presentation

1 / 226
About This Presentation
Title:

Concepts de base

Description:

Buveurs infatigables, & vous, v rol s tr s pr cieux, pendant qu' tes de ... universelle affirmative. E. universelle n gative. I. particuli re affirmative. O. Particuli re ... – PowerPoint PPT presentation

Number of Views:190
Avg rating:3.0/5.0
Slides: 227
Provided by: habr2
Category:

less

Transcript and Presenter's Notes

Title: Concepts de base


1
(No Transcript)
2
 Aux lecteurs bénévoles
Buveurs infatigables, vous, vérolés très
précieux, pendant quêtes de loisir, que nai
autre plus urgente affaire en main, je vous
demande en demandant  Pourquoi est-ce quon
dit maintenant en commun proverbe le monde
nest plus fat?  Fat est un vocable de
Languedoc signifie non salé, sans sel,
insipide, fade par métaphore, signifie fol,
niais, dépourvu de sens, éventé de cerveau.
() Vous lavez ouï, lavez-vous entendu
?  François Rabelais, Prologue pour le
cinquième livre des faicts dicts Heroïques de
Pantagruel.
3
Présentation du 23 mars 2007
MDBS Nice, Sophia Antipolis
Henri Habrias
4
Bonjour !
Henri Habrias Professeur à luniversité de
Nantes, Labo LINA henri.habrias_at_univ-nantes.fr Na
ntes ! Le centre du monde ! Nantes, où est né
Jules Verne (mort en 1905, 2005, Année Jules
Verne) En poste à lIUT, département
informatique Enseigne les spécifications,
informatique et droit Ex Responsable du DESS
Génie logiciel, économie, droit et
normes Enseignant en master (Nantes, Limoges) et
Formation doctorale
5
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)
Il vous reste à spécifier ce concept de centre
du monde.
6
No apologies !
7
La France denhaut et laFrance denbas
8
Nantes, en Bretagne
Spectacle de Royal de Luxe
La Cour des Comptes de Bretagne Le Château des
ducs de Bretagne sont situés à Nantes
9
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
10
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
11
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é H. Habrias, M. Frappier - Software
Specification Methods, An Overview Using a Case
Study, Hermes Publishing, April 2006, ISTE,
London, (avec TLA (L. Lamport), ASM (E. Börger),
Event B (D. Méry, D. Cansell)
12
RDV à la bibliothèque
Henri Habrias, Spécification formelle avec B ,
Hermes/Lavoisier, octobre 2001, ISBN
2-7462-0302-2, 416 pages Jean Jolivet, Henri
Habrias, Pierre Abélard, à laube des
universités, PUR, 2003 Et un Petit Dictionnaire
pour le lecteur novice de P. Abélard
RDV sur mon site web http//www.iut-nantes.univ-
nantes.fr/habrias/portailHabrias
13
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
14
Spécifications
en résumé, nous parlerons de spécifications
Attention ! On verra que si lon est purement
formel,  on ne sait pas de quoi lon parle et si
ce que lon dit est vrai  (B. Russell au sujet
des mathématiques) Nous voulons  modéliser  (on
va traiter de ce quest un modèle). Il nous
faudra donc, à la fois un texte formel et un
texte informel pour que lon puisse exprimer ce
dont on parle
Mais E. Borel a tout aussi bien dit  Les
mathématiques sont la seule science où lon sait
de quoi on parle et où on est certain que ce que
l on dit est vrai. 
15
Lexpression en français, ce que nous dit Boileau
Avant donc que d'écrire apprenez à penser. Selon
que notre idée est plus ou moins obscure,
L'expression la suit, ou moins nette, ou plus
pure. Ce que l'on conçoit bien s'énonce
clairement,
Hâtez-vous lentement, et, sans perdre
courage, Vingt fois sur le métier remettez votre
ouvrage Polissez-le sans cesse et le repolissez
Ajoutez quelquefois, et souvent
effacez.. Boileau, L'art poétique Chant I, v.
27-48 147-174.
16
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.
17
Concepts de base
Pour éviter de compliquer Le complexe suffit à
la tâche ! Différence entre compliqué et
complexe
18
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
19
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
20
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.
21
Lavoisier et le rasoir dOccam
 il est des principes dune bonne logique de ne
pas multiplier les êtres sans nécessité  Lavoisie
r
22
Aristote, lorganon
23
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.
24
Complication
Dudule copie sur Huguette Dudule est copiant sur
Huguette  copiant sur Huguette  attribut ou
propriété de Dudule
25
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
26
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
27
La Quinte Essence
descendîmes au port de Matrotehecne (science
vaine), peu distant du palais de la Quinte
Essence. ()  car à son dîner rien ne mangeait,
fors quelques catégories, jechabots
(abstraction), eminins (vérités), dimions
(images), abstractions, harborins (concepts),
chelimins (songes), secondes intentions,
caradoths (visions terrifiantes), antithèses,
métempsycoses, transcendantes prolepses
(anticipations)
François Rabelais, Le Cinquième Livre, Chap. XVIII
28
Occam et le singulier
Il ny a que le singulier. Cet arbre, cette
pierre, Protagoras  On dit singulier la chose
hors de lesprit qui est une et non pas
plusieurs et nest pas signe dune autre. 
(Summa logicae) La chose singulière subsiste en
elle-même, sans rien devoir aux signes, elle
demeure hors de lesprit.
Distinction entre ontologie et sémiologie
Homme, concept singulier, regroupe tous les
hommes en une seule unité, mais ne les ramène pas
à un seul.
29
Occam et les termes discrets
Certains signes, dans leur singularité, ne
désignent quun étant singulier ( signe propre
à un seul étant qui est appelé terme discret )
30
Occam contre Platon
Les termes généraux sont des symboles qui
représentent une  intention  de lesprit visant
à regrouper une pluralité dobjets
ordinaires. Il ny a pas besoin de faire appel à
un objet supplémentaire qui serait  lessence du
chêne  auquel le mot se référerait. Donc une
telle essence nexiste pas (utilisation du rasoir
dOccam)
Nominalisme
31
Un couteau
32
 Un couteau sans lame auquel il manque le manche 
33
 Un couteau sans lame auquel il manque le
manche 
Lichtenberg
- létat du couteau que je vais vous fabriquer
- létat du couteau que lon vient de détruire
- le concept de couteau ?
34
Objet et accident
  • Objet  Ce qui peut avoir lieu ou disparaître,
    sans destruction du sujet 
  • Porphyre (Isagore) divise les accidents en 
  • séparables (par ex., pour lhomme de dormir) et
  • inséparables (par ex., pour lEthiopien, dêtre
    noir 
  • caractère constant, mais quon peut concevoir
    comme venant à
  • disparaître sans que le sujet auquel il
    sapplique soit détruit).
  • André Lalande, Vocabulaire technique et critique
    de la philosophie,
  • Quadrige, PUF

35
Platonisme, formalisme, constructivisme (1)
Platon les objets mathématiques sont réels.
Leur existence est un fait objectif totalement
indépendant de la connaissance que nous en
avons. Immuables, non créés.Le mathématicien
découvre les objets mathématiques. Thom  Tout
bien considéré, les mathématiciens devraient
avoir le courage de leurs convictions les plus
profondes et par suite affirmer que les formes
mathématiques ont vraiment une existence
indépendante de lesprit que les considère. ()
cependant à un moment donné, les mathématiciens
ont cependant une vision incomplète et
fragmentaire de ce monde didées. 
Platonisme (ou réalisme des idées)
36
Platonisme, formalisme, constructivisme (2)
Formalisme il ny a pas dobjets
mathématiques. Les mathématiques consistent
seulement en axiomes, définitions et théorèmes,
en dautres mots, des formules sans
signification. Quand on donne à une formule une
interprétation physique, elle acquiert une
signification, et elle peut être vraie ou fausse
Formalisme
37
Platonisme, formalisme, constructivisme (3)
constructivisme
Constructivisme ne considèrent comme
mathématiques véritables que celles que lon peut
obtenir par une construction finie
 Le mathématicien type est à la fois platonicien
et formaliste Platonicien dans son for
intérieur mettant un masque formaliste quand les
circonstances lexigent.  Davis, Hersh, p. 312
Et les informaticiens?
38
L Aubergiste et les philosophes
Lun des philosophes, disciple de Hume et
voyageur plein dexpérience, fit venir notre
hôte et lui dit   Ce nest pas du buf, cest
du cheval.  laubergiste lui répondit 
 Monsieur, je suis surpris de vous entendre
dire quelque chose que vous croyez dépourvu de
sens.  Buf  et  cheval , selon vous, ne
sont que des mots, et ne désignent rien dans le
monde du non-langage. La discussion ne concerne
donc que des mots. Si vous préférez le mot
 cheval , cest bel et bien  mais je trouve
le mot  buf  plus profitable. 
39
L Aubergiste et les philosophes
A cette réplique, tous les philosophes se mirent
immédiatement à discuter.  Laubergiste a
raison, dit un disciple de Roscelin,  buf  et
 cheval  ne sont que des sons proférés par le
souffle de lhomme, et aucun deux ne peut
désigner cet abominable et très coriace morceau
de viande. Absurdité, répliqua un
platonicien, ce rôti vient dun animal qui,
lorsquil était vivant, était une copie du cheval
éternel qui se tient au ciel, et non dun buf
éternel. 
40
L Aubergiste et les philosophes
Un Augustinien fit remarquer   Buf  et
 cheval  sont des idées dans lesprit de Dieu,
et je suis certain que lidée divine du buf est
quelque chose de très différent.  Le sens de
cette parabole est que la question des
 universaux  nest pas simplement une question
de mots, mais quelle se pose lorsque lon veut
énoncer des énoncés de faits.  Bertrand
Russell, in Histoire de mes idées philosophiques,
chap. XIV, Les universaux, les particuliers et
les noms, p. 194-95
41
La querelle des universaux, la position dAbélard
 le retranchement ne confère substantiellement à
ce qui reste ou a été supprimé rien quil nait
eu dabord, parce que, après lablation dune
main, ce qui est maintenant reste un homme, et,
avant lablation, restait une certaine partie
cachée dans lhomme qui était intacte . Pierre
Abélard (XIIe) Créateur du Quartier Latin Né au
Pallet, à côté de Nantes
42
Et Frege vint
Wismar 1848/ Mecklembourg 1925
43
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
44
Et Nicolas Bourbaki
1939
45
Cantor
Saint-Petersbourg, 1845/Halle 1918
La théorie des ensembles
46
Aristote en diagramme d Euler
Sujet Prédicat
Affirmative universelle Tout homme est blanc
P
S
Négative universelle Aucun homme n est blanc
P
S
Affirmative particulière Quelque homme est blanc
S
P
Négative particulière Quelque homme n est pas
blanc
P
S
47
Diagrammes de Venn
Dans l interprétation aristotélicienne, on
présuppose l existence (Il existe au moins un)
laquelle est liée de manière indissoluble
à l universalité (tous)
  • Si on sépare les deux (interprétation moderne),
    les diagrammes d Euler
  • ne suffisent plus. Il faut distinguer entre
  • - le cas où l on sait que la classe est vide
    (avec Venn, hachures)
  • le cas où l on sait que la classe est non vide
    (avec Venn, on met
  • ne X)
  • - le cas où l on ne sait rien sur la classe
    (avec Venn, on laisse à blanc)

48
Aristote vs les stoïciens
Aristote logique des termes Stoïciens
logique des propositions
49
Aristote vs les stoïciens
Aristote Tous les hommes sont mortels Donc tous
les non mortels sont non hommes Tous les A sont
B Donc tous les non B sont non A
Termes ou expressions
Stoïciens S il fait jour, il fait clair Donc
s il ne fait pas clair, il ne fait pas jour. Si
p alors q. Donc si non q alors non p.
Propositions
50
Aristote vs les stoïciens
Forme commune aux deux raisonnements une
permutation et un changement de signe Tous les
hommes sont mortels Donc tous les non mortels
sont non hommes S il fait jour, il fait
clair Donc s il ne fait pas clair, il ne fait
pas jour.
Chez Aristote, les unités les plus petites sont
des termes et les symboles logiques sont des
symboles intra propositionnels Chez les
stoïciens, les plus petites sont des propositions
et les symboles logiques sont des symboles inter
propositionnels (connecteurs binaires, négation)
51
Les stoïciens, Schémas d inférence (suite)
Non P et Q Or P Donc non Q P ou Q (mais pas
les deux) Or P Donc non Q P ou Q (mais pas les
deux) Or non Q Donc P
52
Logique
Bien différencier Prédicat (et proposition) et
Expression
Ca a du sens de vouloir prouver un prédicat, ça
na pas de sens de vouloir prouver une expression.
x x 1 nest pas un prédicat
 Lève toi et marche  , nest pas une proposition
Vrai, 1, 4, 9, (Alcofibras Nasier, François
Rabelais), (Romain Gary, Emile Ajar), 5 sont
des expressions
53
Logique, attention au vocabulaire
Propositions  Nantes est située sur le
Rhône   2 2 5   21 111 
Prédicats ! x . x NAT x gt 10 x . x NAT
x gt 10
 Logique combinatoire 
Un vocabulaire propre aux  automaticiens 
 Logique séquentielle 
Et  lillogique cest lautre  !
54
1e, 2e ordre
1e ordre  avoir un chemin de longueur 3 reliant
toute paire de nuds  s exprime par  pour
toute paire de nuds x et y, il existe deux nuds
u et v, tels que le nud x est lié au nud u et
que le nud u est lié au nud v et que le nud v
est lié au nud y. 
55
Carré dAristote
Tout les A sont B
Aucun A nest B
E universelle négative
A universelle affirmative
contraires
subalternes
subalternes
contradictoires
Quelques A sont B
Quelques A ne sont pas B
I particulière affirmative
subcontraires
O Particulière négative
56
En langage ensembliste
SETS T CONSTANTS A B PROPERTIES A lt T
B lt T
Tous les A sont B A lt B
Aucun A nest B A /\ B
Quelques A sont B A /\ B /
Quelques A ne sont pas B A B /
57
En langage des prédicats
Aucun A nest B A /\ B
Tous les A sont B A lt B
not (exists x . X A x B) ou forall x . (x
A gt (x B))
forall X . X A gt x B
Quelques A ne sont pas B A B /
Quelques A sont B A /\ B /
exists x . (x A not x B)
exists x . X A x B
58
2e ordre
2e ordre  être d un seul tenant  n est pas
une propriété du premier ordre.
 pour tous les nuds x et y, il existe des nuds
z1, z2,,zn tels que le nud x est lié au nud z1
et le nud z1 est lié au nud z2 et le nud zn
est lié au nud y. 
Les ne font pas partie du langage du 1e ordre
59
Logique et Ensembles
Un ensemble A est inclus dans un ensemble B si
pour tout élément appartenant à A , cet élément
appartient à B
Langage des ensembles
Langage de La logique
60
Prédicat dappartenance
Dudule promo
Dudule
promo
Prédicat dappartenance
61
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
62
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
63
Fonction partielle
e
1
a
2
b
3
c
4
d
5
Fonction partielle
64
Fonction totale
e
1
a
2
b
3
c
4
d
5
Fonction totale
65
Fonction partielle
e
a
2
b
c
d
5
Fonction partielle surjective
66
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é 
67
Totalisation dune fonction
e
1
a
2
b
3
c
4
d
5
nulle
Fonction partielle totalisée !
68
Bijection
e
1
a
2
3
b
4
c
d
5
Fonction totale surjective Bijection
69
Image relationnelle
R1
e
1
a
2
b
3
c
4
d
5
R1 a, b, c 2, 4
Image relationnelle
70
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
71
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
72
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
73
Sac, multi-ensemble
SETS VALEURS_FACIALE VARIABLES
monPorteMonnaie INVARIANT monPorteMonnaie
VALEURS_FACIALE -gt NAT
Bag (Multiset)
74
Composition de relations
r1
r2
e
1
x
a
2
y
b
3
z
c
4
w
d
5
r1 r2 r2 o r1
75
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.
76
Qui comprend ?
77
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
78
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)

79
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
80
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
81
Valeurs
On peut appeler les expressions des valeurs.
En B, on passe dun prédicat à une expression,
ainsi bool (5 9) faux LAtelier B
différencie bfalse qui représente le prédicat
toujours faux (par exemple, 65) et FALSE qui est
une expression.
Pourquoi distinguer valeur et objet ?
82
 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
83
Un nom peut devenir valeur !
84
Attribut devenant valeur !
85
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
aPourCouleur
86
Triplets O-A-V
Objet
Valeur
Attribut
Objet
Sujet
Prédicat
Objet
Ressource
Propriété
87
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
88
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 !
89
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 
90
Combien ?
91
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.
92
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
93
Roméo et Juliette
 Ce que nous nommons Rose Sous un tout autre nom
sentirait aussi bon. Et ainsi, Roméo,
sil ne sappelait pas Roméo, garderait cette
chère perfection Quil possède sans titre. Oh !
retire ton nom Et pour ton nom qui nest aucune
partie de toi Prends-moi toute entière !  (La
Pléiade, 1950, cité par J. Arsac )
94
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
95
Le nom
 Socrate Il nappartient donc pas à tout homme,
Hermogène, détablir des noms, mais à un faiseur
de noms et celui-là, cest semble-t-il, le
législateur, de tous les artisans le plus rare
parmi les hommes. () Et celui qui sait
interroger et répondre, lappelles-tu autrement
que dialecticien ? Ainsi () le travail du
législateur, (consiste), semble-t-il, à
établir le nom sous la direction du dialecticien,
sil veut établir les noms con- venablement
() Il y a donc des chances, Hermogène, pour que
linstitution des noms ne soit pas une petite
affaire 
Platon, Cratyle
96
Sémiologie
Stoïciens
Idée, concept de cheval  cheval 
signifié
référent
signifiant
Tous les chevaux existant, ayant existé, qui
existeront
/cheval/
97
Les stoïciens Platon --gt Aristote --gt
Théophraste --gt les Mégarites et les Stoïciens
98
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 
99
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é.
100
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é.
101
Marco Polo et la licorne
" Marco Polo , arrivant à Sumatra, voit (mais
c'est à présent que nous le comprenons) des
rhinocéros. Il s'agit d'animaux qu'il n'a jamais
vus. Par analogie avec d'autres animaux connus,
il en distingue le corps, les quatre pattes et la
corne. Or, sa culture mettait également à sa
disposition la notion de licorne, laquelle était
justement définie comme un quadrupède avec une
corne sur la tête. Marco Polo désigne donc ces
animaux du nom de licornes.
Partie de la tapisserie de la Dame à la licorne,
Musée de Cluny, Paris
102
La licorne de Davis et Hersh
Vous pensez donc je suis
103
Marco Polo et la licorne
Puis il s'empresse, chroniqueur honnête et
pointilleux, de nous dire que ces licornes sont
néanmoins fort étranges, c'est-à-dire bien peu
spécifiques, puisqu'elles ne sont pas blanches et
élancées mais ont "le même poil que le buffle,
les pieds comme les éléphants", la corne est
noire et disgracieuse, la langue épineuse et la
tête semblable à celle d'un sanglier. Marco Polo
semble prendre une décision plutôt que de
segmenter encore le contenu en ajoutant un nouvel
animal à l'univers des vivants, il corrige la
description en vigueur des licornes, qui, si
elles existent, sont donc telles qu'il les a vues
et non telles que la légende le raconte. Il
modifie l'intention et laisse l'extension en
suspens. " Umberto Eco, Kant et
l'ornithorynque" (Grasset, 1997)
104
Etre ?
 Sur la question de savoir si lon peut accepter
les morts comme membres des académies ? 
Lichtenberg
105
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
106
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 ?
107
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)
108
De Saussure le signe linguistique
Unité à deux faces Le signifiant et le signifié
Extrait du Cours de Linguistique Générale
109
Sémiologie
Linguistique
signifié
référent
signifiant
110
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
111
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
112
(No Transcript)
113
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.

114
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.

115
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

116
Abstraction comme idéalisation
Physique (réel)
Mathématique (idéal)
Idéalisation Construction de modèle
Objet idéal
Objet réel
Déduction mathématique
Vérification dans le monde réel
Implication pour le monde réel
117
Abstraction comme extraction
Quont en commun ces deux figures ?
118
Abstraction comme extraction
La porte A conduit à deux couloirs B et C etc.
D
E
F
J
B
E
H
S
H
O
S
I
G
D
J
G
A
C
B
C
F
I
A
O
Davis et Hersh, Lunivers mathématique,
Gauthier-villars, 1985
119
Abstraction comme extraction
De A à B, un seul couloir, de B à C, deux
couloirs
A
B
E
F
C
D
R ((A, B), 1), ((B, C), 2), ((C, D), 2), ((D,
E), 2), (E, F), 1)
Cette relation R POINT POINT -gt NAT1 peut
être représentée par une matrice où R gtgt ran (R)
((POINT POINT) - dom (R)) --gt 0 appelée
matrice dincidence
120
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.
121
Boxologie
122
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 ?
123
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
124
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
125
Typage
 Dans un village dAndalousie, le barbier rase
toutes les personnes Qui ne se rasent pas
elles-mêmes  Qui rase le barbier ?
126
B. Russell
127
Ceci nest pas une pipe (Magritte)
128
Invariant
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo , estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe

129
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
130
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.
131
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
132
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 !
133
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
134
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
135
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) /
136
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.
137
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
138
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
139
Autres types de machines
En B, on a aussi des REFINEMENT des
IMPLEMENTATIONS Tout le développement est
assisté par la preuve.
140
2 variables
INVARIANT promo lt ETUDIANT estMembreDe
promo -gt GROUPE
VARIABLES estMembreDe, promo
ETUDIANT
GROUPE
estMembreDe
g1
promo
g2
g3
141
Pré-condition (PRE)
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
142
Précondition (La porte)
Ici la précondition est toujours vraie
MACHINE MaPorte SETS ETAT ouverte,
fermée VARIABLES étatMaPorte INVARIANT
étatMaPorte ETAT INITIALISATIOn étatMaPorte
ETAT
OPERATIONS ouverture étatMaPorte
ouverte fermeture étatMaPorte
fermée Rep lt-- quelEtat Rep
étatMaPorte END
Voir différence avec la garde
143
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.
144
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)
145
Le crash dAriane 5
Accélération min4..max4
Ariane 4
x min4..max4
Fonction de conversion de A4
y
146
Ariane 5
Accélération min5..max5
Non respecté car max5 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
147
La chuteaprès la faute !
Copie du composant B
y code erreur
Composant B
Braquage tuyères
148
La garde (SELECT)
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 
OuvrirPorte SELECT etatPorte fermee THEN
etatPorte ouverte END
149
Un événement
Est spécificié en B événementiel comme une
opération gardée
OuvrirPorte SELECT etatMaPorte
fermee THEN etatMaPorte ouverte END
Ouverture PRE etatMaPorte fermee
THEN etatMaPorte
ouverte END
Précondition plus forte que ce quimpose linvaria
nt !
150
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 a
Plus faible pré-condition (Dijkstra)
x y z k (x gt k) y gt k
151
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
152
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)
153
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 ?

154
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 !

155
Conjecture
Salle des Illustres Capitole, Toulouse
156
Démonstration de 2 1
Axiome a b
Multiplions chaque terme par a a2 ab
Ajoutons à chaque terme, a2 - 2 ab
a2 a2 -2ab ab a2 - 2ab
Ce qui se simplifie 2 (a2 - ab) a2 - ab
Divisons pour finir les deux termes par a2 - ab
2 1
157
La preuve
Il ny a pas de solution en nombres entiers pour
xn yn zn quand n gt 2
La preuve du théorème de Pythagore
Andrew Wiles et la preuve de la conjecture de
Fermat
158
La méthode Shadok
159
Combien de chemins ?
160
Nombre de chemins 1014
220 51951 Où 5 est le nombre de chemins dans
le corps de la boucle. 10 000 000 000 000 0
chemins ! Et tester les chemins nest quune des
stratégies de test ! Et une stratégie ne couvre
pas tous les cas !
G.J. Myers, The Art of Software Testing
161
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
162
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.
163
To be or not to be !
Idem non esse et non probari Ne pas être ou ne
pas être prouvé, c'est tout un.
164
De la logique à linformatique
x x 1 (x lt 10) se lit  la substitution
de x 1 à x dans (xlt10) établit que (x lt 10).
Cest la plus faible précondition.
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 Préconditionnée SELECT P THEN S I P gt S
I Gardée 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)
165
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
166
Raffinage
167
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
168
Laurent Ruquier
Formalisation en B i.e. avec logique et notation
ensembliste
Ladministration aura désormais deux mois pour
répondre au courrier des usagers les
fonctionnaires ont choisi juin et novembre !
Laurent Ruquier, Le Mois par moi, débloque
notes II, Michel Laffon, 1997
169
Laurent Ruquier
SETS MOIS VARIABLES moisDeRéponse INVARIANT moi
sDeRéponse lt MOIS card (moisDeRéponse)
2 instanciation moisDeRéponse juin,
novembre
170
Laurent Ruquier
SETS MOIS COURRIER VARIABLES dateReception,
dateReponse, courriersReçus INVARIANT courriersRe
çus lt COURRIER dateReception courriersReçus
--gt NAT dateReponse courriersReçus -gt NAT
! (d1-gt d2) . (d1-gt d2) dateReception
dateReponse gt (d2 - 60) lt 60
171
La notation UML
utilisons le concept densemble (une
relation est un ensemble) et évitons les
problèmes connus pendant 20 siècles !
172
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
173
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 !
174
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
175
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
176
Au secours !
Voici ce que lon trouve dans un livre plusieurs
fois réédité relatif à UML (P-A Muller, N.
Gaertner, Modélisation avec UML, Eyrolles). Le
texte suivant est même assez souvent cité tel
quel!   Qualification des associations   La
qualification des associations, aussi dénommée
restriction dune association, consiste à
sélectionner un sous-ensemble dobjets parmi
lensemble des objets qui participent à une
association. La restriction est réalisée au moyen
dun tuple dattributs particuliers, appelé
qualificatif ou clé, qui est utilisé
conjointement avec un objet de la classe
source. Le qualificatif est placé sur lextrémité
dassociation au niveau de la classe source, dans
un compartiment rectangulaire. Le qualificatif
appartient pleinement à lassociation et non aux
classes associées. Linstanciation dune
association qualifiée définit le nom des objets
source et destination, et la valeur du
qualificatif. Ainsi, chaque instance de la classe
A, accompagnée de la valeur du qualificatif,
identifie un sous-ensemble des instances de B qui
participent à lassociation. La qualification
partitionne lensemble darrivée et réduit ainsi
la multiplicité de lassociation. La paire
(instance de A, valeur du qualificatif) identifie
un sous-ensemble des instances de B. La
restriction dune association peut être opérée en
combinant les valeurs des différents attributs
qui forment le qualificatif.  
177
 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)
178
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
179
 satecharts  en B
Deux solutions 1) avec étati lt
mesObjets étati étant lensemble des objets dans
létat i autant de variable Etati que létats
types i 2) aPourEtat mesObjets --gt ETATS
Et pour chaque solution, - soit B classique -
soit B événementiel
180
 satecharts  en B, solution 1
ETAT1
ETAT2
Trans1(p)garde/actions
état1 est une variable dont la valeur est
l ensemble des objets qui sont dans lEtat1
Trans1 (o, p) PRE garde o ETAT1 p
T THEN état1 état1 o état2
état2 \/ o actions END
181
 statecharts  en B, sol 1
Objets dans létat 1 état1
Objets dans létat 2 état2
transition
Trans1(p)garde/actions
ETAT1
ETAT2
182
 statecharts  en B, sol 2
aPourEtat mesObjets --gt ETATS
Objets dans létat 1
aPourEtat ETAT1
Trans1(p)garde/actions
ETAT1
ETAT2
183
1e solution, B événementiel
ETAT1
ETAT2
Trans1(p)garde/actions
La transition ne peut avoir lieu si lobjet o
nest pas dans le bon état et que la garde nest
pas satisfaite.
184
En B événementiel
Trans1 ANY o, p WHERE o mesObjets p
T THEN SELECT garde o état1 THEN ét
at1 état1 o état2 état2 \/ o
actions END END
185
 satecharts  en B, solution 2
ETAT1
ETAT2
Trans1(p)garde/actions
aPourEtat mesObjets --gt ENS_D_ETATS ETAT1
ENS_D_ETATS ETAT2 ENS_D_ETATS
état1 de la solution 1 est défini comme état1
aPourEtat ETAT1
186
 satecharts  en B, solution 2
ETAT1
ETAT2
Trans1(p)garde/actions
aPourEtat mesObjets --gt ENS_D_ETATS
Trans1 ANY o, p WHERE o mesObjets
aPourEtat (o) ETAT1 p T SELECT
garde THEN aPourEtat (o) ETAT2
actions END
187
Automates de Harel en B
Dans ce qui suit nous utiliserons une
présentation avec B classique. i.e. avec des
préconditions et non des gardes
188
Automates de Harel en B
S1
Sn

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

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

E
Si
S
OPERATION E CASE ss OF EITHER S1 THEN ss
S2 OR Si THEN ss ss END
192
Action sur événement
E/act
S1
S2
OPERATIONS E IF ss S1 THEN ss S2
act END
193
Action sur initialisation
/act
S1
INITIALISATION ss S1 act
194
Condition sur transition
E cond/act
S1
S2
OPERATIONS E IF ss S1 cond THEN
ss S2 act END
195
Conditions sur plusieurs trans.
Econd1/act1
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
196
Transition avec paramètre
E(para) cond/act
S1
S2
OPERATIONS E (para) IF ss S1 cond
THEN ss S2 act END
197
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
198
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
199
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
200
Transition vers deux sous-états
S1
Q1
Qn

S1
R1
Rm

OPERATIONS E IF ss S1 THEN ss S2 qq
Q1 rr R1 END
201
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
202
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.

203
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
204
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
Write a Comment
User Comments (0)
About PowerShow.com