15
Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Embed Size (px)

Citation preview

Page 1: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Le tampon à deux places

Une idée de Steve Dunne, University of Teesside

Présentée dans cet amphi en 2002

Page 2: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Le tampon à deux places

in out

[in, in, out, in, out, in, out, out, in, in]

[in, in, out, out, out], [in, out, out], [in, in, in],… non possibles

Page 3: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Diagramme de transitions

0

2

1

out

outin

in

Événements modélisés commedes opérations gardées

Opérations qui NE SONT pasappelées, contrairement auxOpérations préconditionnées duB classique

Page 4: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Automate/ Arbre Jackson

M1

*

outin

*

outin

0

2

1

out

outin

in

M = (in . (in . Out) * out) *

Page 5: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Le tampon à 2 places

MACHINE M1

VARIABLESstate

INVARIANTstate : 0..2

INITIALISATIONstate := 0

Page 6: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Le tampon à 2 places, en B

OPERATIONSin =

SELECT state = 0 THEN state := 1 WHEN state = 1 THEN state := 2END;

out =SELECT state = 1 THEN state := 0WHEN state = 2 THEN state := 1END;

move = skip

END

Page 7: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Zoom

in out

in out

move

Page 8: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

2 automates communicants

in out

move

producteur consommateur

Page 9: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Producteur et Consommateur

0

1

0

1

in move move out

PROD

*

in move

PROD CONSCONS

*

move out

Page 10: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

L’automate du système

0

1

0

1

in move out

PROD CONS0,0

1,0

0,1

1,1

in

move

in

out

out

out

Page 11: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Produit d’automate

0,0

1,0

0, 1

1, 1

in move

in

out

out

out

Page 12: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Machine B Producteur

MACHINEPROD

VARIABLESpstate

INVARIANTpstate : 0..1

INITIALISATIONpstate := 0

OPERATIONSin = SELECT pstate = 0 THEN pstate := 1 END;pmove = SELECT pstate = 1 THEN pstate := 0END

END

0

1

in move

PROD

Page 13: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Machine B Consommateur

MACHINECONS

VARIABLEScstate

INVARIANTcstate : 0..1

INITIALISATIONcstate := 0

OPERATIONSout= SELECT cstate = 1 THEN cstate := 0 END;

cmove = SELECT cstate = 0 THEN cstate := 1END

0

1

move out

CONS

Page 14: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

La machine SystèmeMACHINE

M2

INCLUDES

PROD, CONS

PROMOTES

in, out

OPERATIONS

move = pmove ||

cmove

END

PRODin

pmove

M2

INCLUDES

move

CONScmove

out

Page 15: Le tampon à deux places Une idée de Steve Dunne, University of Teesside Présentée dans cet amphi en 2002

Implantation

IMPLEMENTATIONM1_I/* machine to prove that M2 simulates M1 , with the technique of Ken Robinson */

REFINESM1

IMPORTSM2

PROMOTESin, out, move

END