Main Content

계층 구조를 생성하여 시스템 복잡성 관리하기

중첩된 상태의 계층 구조를 만들어 한 번에 하위 구성요소 하나씩 모델에 구조를 추가합니다. 그런 다음 Stateflow® 차트에서 여러 수준의 복잡도를 제어할 수 있습니다. 자세한 내용은 유한 상태 머신 모델링하기 항목을 참조하십시오.

상태 계층 구조

상태의 계층 구조를 만들려면 다른 상태의 경계 내에 하나 이상의 상태를 배치합니다. 안쪽 상태는 바깥쪽 상태의 자식 상태(또는 하위 상태)입니다. 바깥쪽 상태는 안쪽 상태의 부모(또는 상위 상태)입니다.

Stateflow chart with a hierarchy of states. The outer state is called Parent. It contains two inner states called Child1 and Child2.

부모 상태의 내용은 더 작은 차트처럼 작동합니다. 부모 상태가 활성화되면 자식 상태 중 하나도 활성화됩니다. 부모 상태가 비활성화되면 모든 자식 상태가 비활성화됩니다.

계층 구조 예제

이 예제에서는 AM 라디오, FM 라디오 및 CD 플레이어로 구성된 스테레오 시스템을 모델링합니다. 시뮬레이션 중에 Media Player Helper 사용자 인터페이스에서 버튼을 클릭하여 스테레오 시스템을 제어할 수 있습니다.

스테레오는 초기에 대기 모드(OFF)입니다. Radio Request 버튼 중 하나를 선택하면 스테레오에서 해당 하위 구성요소를 켭니다. CD 플레이어를 선택하는 경우에는 CD 요청 버튼 중 하나를 클릭하여 재생, 되감기, 빨리 감기 또는 중지를 선택할 수 있습니다. 시뮬레이션 중에 언제든지 디스크를 삽입하거나 꺼낼 수 있습니다.

상태 계층 구조를 사용하여 작동 방식 구현하기

처음에는 이 스테레오 시스템 전체를 구현하는 것이 상당히 복잡해 보입니다. 하지만 한 번에 한 수준의 활동에 집중하여 점진적으로 전제 시스템 설계를 완성할 수 있습니다. 예를 들어 CD 플레이어가 빨리 감기 재생 모드로 진입하려면 다음과 같은 조건이 필요합니다.

  1. 스테레오를 켭니다.

  2. CD 플레이어를 켭니다.

  3. 디스크를 재생합니다.

  4. UI에서 FF 버튼을 클릭합니다.

이러한 조건을 각각 한 번에 하나씩 고려하는 계층적 모델을 생성할 수 있습니다. 예를 들어 가장 바깥쪽 수준은 스테레오 켜기와 끄기 사이의 전환을 정의할 수 있습니다. 중간 수준은 서로 다른 스테레오 하위 구성요소 간의 전환과 CD 플레이어의 중지 및 재생 모드 간의 전환을 정의합니다. 맨 아래 수준은 디스크를 재생하기 위한 다른 모든 조건을 충족하는 경우 CD Request 버튼에 대한 응답을 정의합니다.

스테레오 시스템의 작동 방식을 구현하기 위해 sf_mediaplayerMode Manager 차트 아래에서 모델 탐색기에 나열된 중첩 상태의 계층 구조를 사용합니다. 모델 탐색기를 열려면 모델링 탭에서 모델 탐색기를 선택합니다.

Hierarchy of nested states, as listed by the Model Explorer.

다음 표에는 계층 구조에서 각 상태의 역할이 나열되어 있습니다.

계층 구조 수준상태설명
최상위 수준(Mode Manager 차트)Eject디스크 꺼내기 모드(다른 모든 스테레오 함수 중지)
NormalOperation스테레오 시스템의 표준 작동 모드

스테레오 시스템 활동(NormalOperation의 자식 상태)

Standby스테레오가 대기 모드(OFF)임
ON스테레오 시스템이 활성 상태(ON)임

스테레오 하위 구성요소(On의 자식 상태)

CDModeCD 플레이어 하위 구성요소가 활성 상태임
AMModeAM 라디오 하위 구성요소가 활성 상태임
FMModeFM 라디오 하위 구성요소가 활성 상태임

CD 플레이어 활동(CDMode의 자식 상태)

StopCD 플레이어가 중지됨
PlayCD 플레이어가 디스크를 재생 중임

디스크 재생 모드(Play의 자식 상태)

Normal표준 재생 모드
Rewind역방향 재생 모드
FastForward빨리 감기 재생 모드

이 그림은 차트의 전체 상태 레이아웃을 보여줍니다.

Arrangement of states in the Mode Manager chart.

NormalOperationON 상태 내부의 이력 연결점 는 디스크를 꺼내거나 시스템을 끄기 전에 작동 모드(대기 또는 ON)와 미디어 플레이어의 활성 하위 구성요소(CD플레이어, AM 라디오 또는 FM 라디오)를 기록합니다.

예제 살펴보기

sf_mediaplayer 예제에는 다른 Stateflow 차트 두 개가 포함되어 있습니다.

  • App Interface는 UI를 사용하여 인터페이스를 관리하고 입력값을 Mode ManagerCD Player 차트로 전달합니다.

  • CD PlayerApp InterfaceMode Manager 차트의 출력값을 받아서 CD 플레이어의 기계적 작동 방식을 모방합니다.

Simulink model that simulates a media player. The model contains the chart Media Player Mode Manager and two additional charts, User Request and CD Player Behavior Model.

시뮬레이션 중에 각 차트가 Media Player Helper 앱과의 상호 작용에 어떻게 반응하는지 조사할 수 있습니다. 차트 간에 빠르게 전환하려면 Stateflow 편집기 맨 위의 탭을 사용하십시오.

관련 항목