Title: Automates de Harel en B
1Automates de Harel en B
S1
Sn
SETS SS S1, , Sn VARIABLES ss INVARIANT ss
SS INITIALISATION ss S1
2Initialisation indéterministe
S1
Initialisation indéterministe
Sn
ss SS
3Transition
E
S1
S2
E IF ss S1 THEN ss S2 END
4Plusieurs 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
5Action sur événement
E/act
S1
S2
OPERATIONS E IF ss S1 THEN ss S2
act END
6Action sur initialisation
/act
S1
INITIALISATION ss S1 act
7Condition sur transition
E cond/act
S1
S2
OPERATIONS E IF ss S1 cond THEN
ss S2 act END
8Conditions 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
9Transition avec paramètre
E(para) cond/act
S1
S2
OPERATIONS E (para) IF ss S1 cond
THEN ss S2 act END
10Transitions simultanées
S1
E(para) IF ss S1 cond1 cond2 THEN ss
S3 act1 act2 END
E(para) cond1/act1
S2
cond2/act2
S3
11Entré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
12Etats 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
13Transition vers deux sous-états
S1
Q1
Qn
S1
R1
Rm
OPERATIONS E IF ss S1 THEN ss S2 qq
Q1 rr R1 END
142 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
15Communication
- 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.
16Gé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
17MACHINE 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
18Ne 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
19Une 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 !
20Notation 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
21OPERATIONS 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
22 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)
23Manufacturer
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