Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ UMLΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 32

Автор АлСксандр Π›Π΅ΠΎΠ½Π΅Π½ΠΊΠΎΠ²

ГЛАВА 6 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний (statechart diagram)

РассмотрСнная Π²Ρ‹ΡˆΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов прСдставляСт собой Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль статичСского прСдставлСния ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ взаимосвязи структурного Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°, Π½Π΅ зависящиС ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ систСмы Π½Π° внСшниС события. Однако для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° физичСских систСм, ΠΊΡ€ΠΎΠΌΠ΅ самых простых ΠΈ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ…, статичСских прСдставлСний ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ нСдостаточно для модСлирования процСссов функционирования ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСм ΠΊΠ°ΠΊ Π² Ρ†Π΅Π»ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… подсистСм ΠΈ элСмСнтов.

Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π›ΡŽΠ±ΠΎΠ΅ тСхничСскоС устройство, Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ Π² самом ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ своими состояниями, ΠΊΠ°ΠΊ «исправСн» ΠΈ «нСисправСн». Π˜Π½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ ясно, ΠΊΠ°ΠΊΠΎΠΉ смысл вкладываСтся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· этих понятий. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, использованиС ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ устройства Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ находится Π² исправном состоянии. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ дСйствия ΠΏΠΎ Π΅Π³ΠΎ Ρ€Π΅ΠΌΠΎΠ½Ρ‚Ρƒ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ работоспособности.

Однако ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ сСмантики понятия состояния прСдставляСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ трудности. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ характСристика состояний систСмы Π½Π΅ зависит (ΠΈΠ»ΠΈ слабо зависит) ΠΎΡ‚ логичСской структуры, зафиксированной Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ рассмотрСнии состояний систСмы приходится Π½Π° врСмя ΠΎΡ‚Π²Π»Π΅Ρ‡ΡŒΡΡ ΠΎΡ‚ особСнностСй Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ структуры ΠΈ ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ катСгориями, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠΌΠΈ динамичСский контСкст повСдСния ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ построСнии Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ состояний Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ понятия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅.

Π Π°Π½Π΅Π΅, Π² Π³Π»Π°Π²Π°Ρ… 1 ΠΈ 4, Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ каТдая прикладная систСма характСризуСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ структурой ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΅Π΅ элСмСнтов, Π½ΠΎ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Для ΠΎΠ±Ρ‰Π΅Π³ΠΎ прСдставлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ. БСйчас наша Π·Π°Π΄Π°Ρ‡Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Π½Π° логичСском ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‚Π΅ΠΌ самым Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° вопрос: Β«Π’ процСссС ΠΊΠ°ΠΊΠΎΠ³ΠΎ повСдСния систСма обСспСчиваСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ?Β».

Для модСлирования повСдСния Π½Π° логичСском ΡƒΡ€ΠΎΠ²Π½Π΅ Π² языкС UML ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ сразу нСсколько каноничСских Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ: состояний, Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… фиксируСт Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ аспСктС функционирования систСмы. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний описываСт процСсс измСнСния состояний Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ – ΠΎΠ΄Π½ΠΎΠ³ΠΎ экзСмпляра ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ класса, Ρ‚. Π΅. ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ измСнСния Π² состоянии ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΈ этом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ΠΎ внСшними воздСйствиями со стороны Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ·Π²Π½Π΅. ИмСнно для описания Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ внСшниС воздСйствия ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ состояний.

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ – ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ состояний ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² совокупности Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ элСмСнта ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний прСдставляСт динамичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ сущностСй, Π½Π° основС спСцификации ΠΈΡ… Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° восприятиС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… событий. БистСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° внСшниС дСйствия ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ. Если Ρ‚Π°ΠΊΠΈΠ΅ дСйствия ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ случайныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ говорят ΠΎΠ± асинхронном ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π₯отя Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ состояний Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для описания повСдСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… экзСмпляров классов (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²), Π½ΠΎ ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ для спСцификации Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования, Π°ΠΊΡ‚Π΅Ρ€Ρ‹, подсистСмы, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний ΠΏΠΎ сущСству являСтся Π³Ρ€Π°Ρ„ΠΎΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° Π² контСкстС UML ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ довольно спСцифичСской сСмантикой, основанной Π½Π° Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ². Π’Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ этого Π³Ρ€Π°Ρ„Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ состояния ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ элСмСнтов Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° (псСвдосостояния), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ графичСскими символами. Π”ΡƒΠ³ΠΈ Π³Ρ€Π°Ρ„Π° слуТат для обозначСния ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΠ· состояния Π² состояниС. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ состояний ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, образуая Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдставлСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΌΠΎΠ΄Π΅Π»ΠΈ. Для понимания сСмантики ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ состояний Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ особСнности повСдСния ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ сущности, Π½ΠΎ ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ свСдСния ΠΏΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ².

6.1. Автоматы

Автомат (state machine) Π² языкС UML прСдставляСт собой Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ для модСлирования повСдСния элСмСнтов ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ. Π’ ΠΌΠ΅Ρ‚Π°ΠΌΠΎΠ΄Π΅Π»ΠΈ UML Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ являСтся ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ мноТСство понятий, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для прСдставлСния повСдСния ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ сущности Π² Π²ΠΈΠ΄Π΅ дискрСтного пространства с ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ числом состояний ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ описываСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ состояний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ всС этапы Π΅Π³ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, начиная ΠΎΡ‚ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ заканчивая Π΅Π³ΠΎ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. КаТдая Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний прСдставляСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚.

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдставлСния состояний ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π½Π° основС Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ рассмотрСнная Π²Ρ‹ΡˆΠ΅ ситуация с ΠΈΡΠΏΡ€Π°Π²Π½ΠΎΡΡ‚ΡŒΡŽ тСхничСского устройства, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π’ этом случаС вводятся Π² рассмотрСниС Π΄Π²Π° самых ΠΎΠ±Ρ‰ΠΈΡ… состояния: «исправСн» ΠΈ «нСисправСн» ΠΈ Π΄Π²Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°: Β«Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· строя» ΠΈ Β«Ρ€Π΅ΠΌΠΎΠ½Ρ‚Β». ГрафичСски эта информация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна Π² Π²ΠΈΠ΄Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ состояний ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (рис. 6.1).

Рис. 6.1. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ состояний для тСхничСского устройства Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ понятиями, входящими Π² Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°, ΡΠ²Π»ΡΡŽΡ‚ΡΡ состояниС ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄. Π“Π»Π°Π²Π½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ нахоТдСния систСмы Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ состоянии сущСствСнно ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ затрачиваСтся Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π΅ врСмя ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ (Ссли Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сказано). Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· состояния Π² состояниС происходит ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ прСдставляСт динамичСскиС аспСкты ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы Π² Π²ΠΈΠ΄Π΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π°, Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ состояниям, Π° Π΄ΡƒΠ³ΠΈ – ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌ. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ модСлируСтся ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π³Ρ€Π°Ρ„Ρƒ состояний ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ ΠΏΠΎ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΠΈΡ… Π΄ΡƒΠ³Π°ΠΌ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΈΡ… ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Для Π³Ρ€Π°Ρ„Π° состояний систСмы ΠΌΠΎΠΆΠ½ΠΎ ввСсти Π² рассмотрСниС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ свойства.

Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… свойств являСтся Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· всСй совокупности состояний Π΄Π²ΡƒΡ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ…: Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ. Π₯отя Π½ΠΈ Π² Π³Ρ€Π°Ρ„Π΅ состояний, Π½ΠΈ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ состояний врСмя нахоТдСния систСмы Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ состоянии явно Π½Π΅ учитываСтся, прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ измСнСния состояний упорядочСна Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ состояниС всСгда наступаСт ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅ΠΌΡƒ состояния.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ свойством Π³Ρ€Π°Ρ„Π° состояний ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΠΈΠΆΠΈΠΌΠΎΡΡ‚ΡŒ состояний. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ навигация ΠΈΠ»ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π² Π³Ρ€Π°Ρ„Π΅ состояний опрСдСляСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° мноТСствС всСх состояний систСмы. Π­Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° систСмы ΠΈΠ· рассматриваСмого состояния Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ состояниС. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, для достиТимости состояний Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ… ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ Π² Π³Ρ€Π°Ρ„Π΅ состояний.

Π€ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ² допускаСт Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ для уточнСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΡ… состояний (макросостояний). Π’ этом случаС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ². ΠŸΠΎΠ΄Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ спСцификации ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ исходного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НапримСр, состояниС нСисправности тСхничСского устройства (рис. 6.1) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ подсостояния, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΈΡΠΏΡ€Π°Π²Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… подсистСм, входящих Π² состав Π΄Π°Π½Π½ΠΎΠ³ΠΎ устройства.

Π’ языкС UML понятиС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСмантикой входящих Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ элСмСнтов. Π”Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны основныС элСмСнты повСдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ базис, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ состояний.

Π€ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° основан Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… условий: