주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

디폴트 천이를 사용하여 차트 실행 제어하기

배타적(OR) 분해에서의 디폴트 천이

이 예제에서는 OR 상태에서 배타적(OR) 분해를 갖는 상위 상태로의 천이를 보여줍니다. 여기서 하위 상태로의 디폴트 천이가 정의됩니다.

Stateflow chart with top-level states called A and B. State B has substates called B1 and B2.

처음에 차트는 슬립 상태입니다. 상태 A는 활성 상태입니다. 이벤트 E_one이 발생하고 차트가 웨이크업 상태가 되어, 루트부터 계층 구조를 따르며 이벤트를 처리합니다.

  1. 차트 루트는 E_one의 결과로 유효한 천이가 있는지 검사합니다. 상태 A에서 상위 상태 B로의 유효한 천이가 있습니다.

  2. 상태 A의 exit 동작(exitA())이 실행되고 완료됩니다.

  3. 상태 A가 비활성으로 표시됩니다.

  4. 천이 동작 A가 실행되고 완료됩니다.

  5. 상태 B가 활성으로 표시됩니다.

  6. 상태 B의 entry 동작(entB())이 실행되고 완료됩니다.

  7. 상태 B가 상태 B.B1로의 유효한 디폴트 천이를 감지합니다.

  8. 상태 B.B1이 활성으로 표시됩니다.

  9. 상태 B.B1의 entry 동작(entB1())이 실행되고 완료됩니다.

  10. 차트가 다시 슬립 상태로 전환됩니다.

상태 A가 처음 활성 상태일 때, 이 순서를 통해 이벤트 E_one에 연결된 이 Stateflow® 차트의 실행이 완료됩니다.

연결점으로의 디폴트 천이

다음 예제에서는 연결점으로의 디폴트 천이의 동작을 보여줍니다. 연결점으로의 디폴트 천이는 상태 B가 처음으로 진입될 때만 유효하며, 차트가 웨이크업 상태가 될 때마다 유효한 것은 아닙니다.

Stateflow chart with top-level states called A and B. State B has substates called B1 and B2.

이 예제의 경우 처음에 차트는 슬립 상태입니다. 상태 B.B1은 활성 상태입니다. 조건 [C_two]는 true입니다. 이벤트가 발생하고 차트가 웨이크업 상태가 되어, 루트부터 계층 구조를 따르며 이벤트를 처리합니다.

  1. 상태 B는 이벤트의 결과로 유효한 천이가 있는지 검사합니다. 유효한 천이가 없습니다.

  2. 상태 B during 동작(durB())이 실행되고 완료됩니다.

  3. 상태 B1은 이벤트의 결과로 유효한 천이가 있는지 검사합니다. 유효한 천이가 없습니다.

  4. 상태 B1 during 동작(durB1())이 실행되고 완료됩니다.

이 순서를 통해 임의의 이벤트 발생에 연결된 이 Stateflow 차트의 실행이 완료됩니다.

디폴트 천이와 이력 연결점

이 예제에서는 디폴트 천이 및 연결점이 있는 상위 상태의 동작을 보여줍니다.

Stateflow chart with top-level states called A and B. State B has substates called B1, B2, B3, and B4.

처음에 차트는 슬립 상태입니다. 상태 A는 활성 상태입니다. 이력 연결점은 상태 B4가 상위 상태 B의 이전 활성 하위 상태였음을 기록합니다. 이벤트 E_one이 발생하고 차트가 웨이크업 상태가 되어, 루트부터 계층 구조를 따르며 이벤트를 처리합니다.

  1. 차트 루트는 E_one의 결과로 유효한 천이가 있는지 검사합니다.

    상태 A에서 상위 상태 B로의 유효한 천이가 있습니다.

  2. 상태 A의 exit 동작(exitA())이 실행되고 완료됩니다.

  3. 상태 A가 비활성으로 표시됩니다.

  4. 상태 B가 활성으로 표시됩니다.

  5. 상태 B의 entry 동작(entB())이 실행되고 완료됩니다.

  6. 상태 B는 이력 연결점을 사용하여, 상위 상태로의 천이 시 하위 상태 대상을 결정합니다.

    이력 연결점은 하위 상태 B.B4가 마지막 활성 하위 상태였으며, 천이의 대상이 된다는 사실을 나타냅니다.

  7. 상태 B.B4가 활성으로 표시됩니다.

  8. 상태 B.B4의 entry 동작(entB4())이 실행되고 완료됩니다.

  9. 차트가 다시 슬립 상태로 전환됩니다.

이 순서를 통해 이벤트 E_one에 연결된 이 Stateflow 차트의 실행이 완료됩니다.

레이블이 지정된 디폴트 천이

이 예제에서는 레이블이 있는 디폴트 천이의 사용을 보여줍니다.

Stateflow chart with top-level states called A and B. State B has substates called B1 and B2.

처음에 차트는 슬립 상태입니다. 상태 A는 활성 상태입니다. 이벤트 E_one이 발생하고 차트가 웨이크업 상태가 되어, 루트부터 계층 구조를 따르며 이벤트를 처리합니다.

  1. 차트 루트는 E_one의 결과로 유효한 천이가 있는지 검사합니다.

    상태 A에서 상위 상태 B로의 유효한 천이가 있습니다. 이벤트 E_one 또는 E_two가 발생하는 경우 천이는 유효합니다.

  2. 상태 A의 exit 동작(exitA())이 실행되고 완료됩니다.

  3. 상태 A가 비활성으로 표시됩니다.

  4. 상태 B가 활성으로 표시됩니다.

  5. 상태 B의 entry 동작(entB())이 실행되고 완료됩니다.

  6. 상태 B가 상태 B.B1로의 유효한 디폴트 천이를 감지합니다. E_one의 결과로 디폴트 천이가 유효합니다.

  7. 상태 B.B1이 활성으로 표시됩니다.

  8. 상태 B.B1의 entry 동작(entB1())이 실행되고 완료됩니다.

  9. 차트가 다시 슬립 상태로 전환됩니다.

상태 A가 처음 활성 상태일 때, 이 순서를 통해 이벤트 E_one에 연결된 이 Stateflow 차트의 실행이 완료됩니다.