automate1 correction

58
ST1 entry: i = 0 exit: i++ ST2 entry: i++ exit: i++ on E4: i ++ E1 / i++ E1 ST3 ST4 on E2: i = i - 2 E3[ i == 5 ] E2 E1 E1 E3 E3 E1 E3 E1 E3 E1 E2 E1 E2 E3

Upload: vinot-bernard

Post on 25-Dec-2014

388 views

Category:

Spiritual


4 download

DESCRIPTION

Exercice UML sur diagramme automate

TRANSCRIPT

Page 1: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

Page 2: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

Page 3: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

Page 4: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

Page 5: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST1 I=0

Page 6: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST1 I=0

Page 7: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST1 I=1

Page 8: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST1 I=1

Page 9: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST1 I=2

Page 10: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST1 I=2

Page 11: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST1 I=3

Page 12: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 13: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 14: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 15: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 16: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 17: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 18: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 19: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 20: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=3

Page 21: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=4

Page 22: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=4

Page 23: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=4

Page 24: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 25: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 26: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 27: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 28: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 29: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 30: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 31: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=6

Page 32: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST3 I=6

Page 33: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST3 I=6

Page 34: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST3 I=6

Page 35: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST3 I=6

Page 36: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=6

Page 37: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=6

Page 38: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=6

Page 39: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=6

Page 40: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=4

Page 41: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=4

Page 42: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=4

Page 43: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=4

Page 44: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=4

Page 45: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=4

Page 46: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=5

Page 47: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=5

Page 48: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 49: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 50: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 51: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=5

Page 52: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST2 I=6

Page 53: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=6

Page 54: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=6

Page 55: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=6

Page 56: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

ST4 I=6

Page 57: Automate1 Correction

ST1

entry: i = 0exit: i++

ST2

entry: i++exit: i++

on E4: i ++

E1 / i++

E1

ST3ST4

on E2: i = i - 2

E3[ i == 5 ]

E2

E1

E1

E3

E3

E1E3E1E3E1E2E1E2

E3

I=6

Page 58: Automate1 Correction

E1E3E1E3E1E2E1E2

E3

I=6