본문 바로가기
SW 공부/OOP_OOAD_UML

[UML] Statechart Diagram

by 꼬냉상 2022. 8. 29.

Statechart  

- FSM (Finite State Machine)

- Formal Specification Model, 정형 명세 모델

- State machine (=Statechart) diagram is used as follows:
    – to model the possible states of a system or object  (시스템 또는 객체의 가능한 상태를 모델링)
    – to show how state transitions occur as a consequence of events (이벤트 결과로 상태 전환이 어떻게 일어나는지)
    – to show what behavior the system or object exhibits in each state (각 state에서 어떤 행동을 하는지)

 

State 

- States : nodes of the state machine

- State operations

 • entry / Activity(...) : Executed when the object enters the state

 • exit / Activity(...) : Executed when the object exits the state

 • do / Activity(...) : Executed while the object remains in this state

 

: Initial state - Pseudostate

: Final State - Real state

:  Terminate node - Pseudostate

 

Transition

- Change from one state to another

-  모델링 대상 시스템의 상태 변화를 event[condition]/action 기반의 transition으로 표현

- [g] : Guarding condition을 확인하고 A를 실행한다

- detail한 코딩/실행이 가능

 

Composite State

- 동의어 : complex state, nested state (→OR state)

- Contains other states (다른 상태를 포함) → “substates”   
  – Only one of its substates is active at any point in time.  (하나의 state가 active 되어야 한다.)
  – Arbitrary nesting depth of substates  (합성이 계속되는 nested state)

 

Orthogonal State

- Composite state is divided into two or more regions separated by a dashed line. (→ AND State)
  – One state of each region is always active at any point in time, (동시에 여러 state가 active)
  – concurrent substates

- S1을 시작하면 모든 state가 active → 둘다 올때까지 기다렸다가 S1을 나감

History State

- To remembers which substate of a composite state was the last active one (마지막 활성 상태 기억)

- Shallow history state restores the state that is on the same level of the composite state.

→ 튕겨졌던 level의 그 시작점부터 시작, H를 그려둔 hierachy와 같은 수준의 initial 부터 시작.

 

- Deep history state restores the last active substate over the entire nesting depth.

튕겨져 나갔던 그 state에서 다시 시작

 

 

Quiz) 다음의 Statechart Diagram에 대한 설명 중 올바르지 않은 것은?
① Statechart Diagram은 시스템 뿐만 아니라 프로세스 및 클래스/객체 수준에 서도 작성할 수 있다.
② Statechart Diagram은 모델링 대상 시스템의 상태 변화를 event[condition]/action 기반의 transition으로 표현한다.
③ Statechart Diagram은 모델링 대상의 Hierarchical Structure를 표현하는데 어려움이 없다.
④ Statechart Diagram을 사용하면 시스템이 주고 받는 events(stimulus/action)를 시간의 순서대로 정확히 표현할 수 있다.
→ 순서대로 가지만 각  state가 얼마나 걸리지는 모름, 상대적 시간으로는 표시가 가능하지만 정확히는 X

 

Quiz) 다음의 Statechart Diagram에서, start, e1, e2, e10, e9의 순서로 이벤트가 차례대로 발생되는 경우, 도달된 상태는 무엇인가요?

→ S1.1

 

본 글은 개인의 S/W 구조설계 역량 강화를 위한 학습 목적으로 정리된 내용입니다.
일부 타/개인 단체에 저작권이 있는 자료를 포함하고 있으므로, 절대 영리 목적으로 사용하실 수 없습니다.
반응형

'SW 공부 > OOP_OOAD_UML' 카테고리의 다른 글

[UML] Component Diagram  (2) 2022.08.29
[UML] Activity Diagram  (2) 2022.08.29
[UML] Sequence Diagram  (2) 2022.08.29
[UML] Class Diagram  (2) 2022.08.29
[UML] Use Case Diagram  (0) 2022.08.29

댓글