천이 평가하기
Stateflow®는 차트에서 천이를 사용하여 한 배타적(OR) 상태에서 다른 배타적(OR) 상태로 이동합니다. 차트 실행의 entry 워크플로와 execution 워크플로에서는 Stateflow가 천이를 평가하여 유효한지 판단합니다. 유효한 천이는 조건 레이블이 true이고 경로가 상태에서 끝나는 천이입니다. 천이가 유효할 경우, Stateflow는 소스 상태에서 나와 대상 상태로 진입합니다. execution 워크플로와 entry 워크플로 동안 언제 평가가 이루어지는지에 대한 자세한 내용은 Stateflow 차트의 실행 항목과 차트 또는 상태로 진입하기 항목을 참조하십시오.
천이 평가 워크플로

천이 평가 순서
단일 소스(예: 상태 또는 연결점)로부터 여러 개의 천이가 발생하는 경우 Stateflow는 평가 순서에 따라 각 천이를 테스트할 시점을 결정합니다. 천이 소스 근처의 숫자가 천이 순서입니다.
소스에서 나가는 천이는 만든 순서대로 번호가 자동으로 지정됩니다. 순서는 1에서 시작하며 소스에 대해 사용 가능한 다음 번호로 지정됩니다.
천이의 실행 순서를 변경하려면 천이를 마우스 오른쪽 버튼으로 클릭하고 실행 순서를 클릭한 후 천이를 실행하려는 순서를 선택합니다. 천이 번호를 변경하면 Stateflow 차트는 상대적 순서를 유지함으로써 소스에서 나가는 다른 천이의 번호를 자동으로 재지정합니다.
부모 상태의 내부 가장자리로의 천이
부모 상태의 내부 가장자리에서 끝나는 천이는 디폴트 천이 경로로 되돌아가는 단축 경로이고, 디폴트 경로는 현재 시간 스텝 동안 평가됩니다. 이 예제에서 상태 B로부터의 천이는 즉시 디폴트 천이에서 상태 A로의 천이로 이어집니다.

디폴트 천이가 있을 경우, Stateflow는 즉시 해당 경로를 실행합니다. 디폴트 천이가 없고 자식이 없을 경우, 거기에서 시간 스텝이 종료됩니다. 두 경우 모두 부모 상태는 활성 상태를 유지하고, 부모 상태의 exit 동작과 entry 동작은 실행되지 않습니다.
외부 천이 평가하기
이 예제에서는 Stateflow 차트가 초기화되고 StateA에 대한 entry 동작이 수행됩니다. 새로운 시간 스텝이 발생하고 차트는 웨이크업 상태가 됩니다. Stateflow 차트 실행에 대한 워크플로에 따라 Stateflow는 StateA의 경로로부터 여러 개의 외부 천이 경로를 구합니다. 이 시간 스텝에서 x = 1, y = 1, z = 1입니다.

천이 평가 워크플로에 따라 이 차트의 천이를 평가하기 위한 단계의 순서는 다음과 같습니다.
StateA로부터의 천이 1은 평가 대상으로 표시됩니다.StateA로부터의 천이 1에는 조건이 있습니다.조건은 true입니다.
StateA로부터의 천이 1의 대상은 상태가 아닙니다.연결점에는 나가는 천이가 있습니다.
연결점으로부터의 천이 1은 평가 대상으로 표시됩니다.
연결점으로부터의 천이 1에는 조건이 있습니다.
조건은 false입니다.
연결점으로부터의 천이 2는 평가 대상으로 표시됩니다.
연결점으로부터의 천이 2에는 조건이 없습니다.
연결점으로부터의 천이 2의 대상은 상태(
StateD)입니다.StateD는entry로 표시되고StateA는exit로 표시됩니다.
시간 스텝을 완료하려면 StateA의 경우 차트 또는 상태로 진입 워크플로를 따르고 StateE의 경우 상태에서 나가기(진출)에 대한 워크플로를 따르십시오.
역추적을 통해 외부 천이 평가하기
소스에서 나가는 모든 천이가 유효하지 않거나 종단 연결점에서 끝나지 않지만 이전에 평가되지 않은 천이가 존재하는 경우, Stateflow는 이전 상태 또는 연결점으로 돌아가 모든 가능한 경로를 평가합니다.
이 예제에서는 Stateflow 차트가 초기화되고 StateA에 대한 entry 동작이 수행됩니다. 새로운 시간 스텝이 발생하고 차트는 웨이크업 상태가 됩니다. Stateflow 차트 실행에 대한 워크플로에 따라 Stateflow는 StateA의 경로로부터 여러 개의 외부 천이 경로를 구합니다. 이 시간 스텝에서 x = 1, y = 1, z = 1입니다.
![]()
천이 평가 워크플로에 따라 이 차트의 천이를 평가하기 위한 단계의 순서는 다음과 같습니다.
StateA로부터의 천이 1은 평가 대상으로 표시됩니다.StateA로부터의 천이 1에는 조건이 있습니다.조건은 true입니다.
StateA로부터의 천이 1의 대상은 상태가 아닙니다.연결점에는 나가는 천이가 있습니다.
연결점으로부터의 천이 1은 평가 대상으로 표시됩니다.
연결점으로부터의 천이 1에는 조건이 있습니다.
조건은 false입니다.
연결점으로부터의 천이 2는 평가 대상으로 표시됩니다.
연결점으로부터의 천이 2에는 조건이 있습니다.
조건은 false입니다.
StateA로부터의 천이 2는 평가 대상으로 표시됩니다.StateA로부터의 천이 2에는 조건이 없습니다.StateA로부터의 천이 2의 대상은 상태(StateE)입니다.StateE는entry로 표시되고StateA는exit로 표시됩니다.
시간 스텝을 완료하려면 StateA의 경우 차트 또는 상태로 진입 워크플로를 따르고 StateE의 경우 상태에서 나가기(진출)에 대한 워크플로를 따르십시오.
역추적 방지하기
이 예제에서는 종단 연결점이 역추적을 방지합니다. Stateflow 차트가 초기화되고 StateA에 대한 entry 동작이 수행됩니다. 새로운 시간 스텝이 발생하고 차트는 웨이크업 상태가 됩니다. Stateflow 차트 실행에 대한 워크플로에 따라 Stateflow는 StateA의 경로로부터 여러 개의 외부 천이 경로를 구합니다. 이 시간 스텝에서 x = 1, y = 1, z = 1입니다.
![]()
천이 평가 워크플로에 따라 이 차트의 천이를 평가하기 위한 단계의 순서는 다음과 같습니다.
StateA로부터의 천이 1은 평가 대상으로 표시됩니다.StateA로부터의 천이 1에는 조건이 있습니다.조건은 true입니다.
StateA로부터의 천이 1의 대상은 상태가 아닙니다.연결점에는 나가는 천이가 있습니다.
연결점으로부터의 천이 1은 평가 대상으로 표시됩니다.
연결점으로부터의 천이 1에는 조건이 있습니다.
조건은 false입니다.
연결점으로부터의 천이 2는 평가 대상으로 표시됩니다.
연결점으로부터의 천이 2에는 조건이 있습니다.
조건은 false입니다.
연결점으로부터의 천이 3은 평가 대상으로 표시됩니다.
연결점으로부터의 천이 3에는 조건이 없습니다.
대상은 상태가 아니며 나가는 천이가 없습니다.
Stateflow 차트 실행에 대한 워크플로로 돌아갑니다.
시간 스텝을 완료하려면 StateA에 대해 멈춘 지점부터 Stateflow 차트 실행에 대한 워크플로를 따르십시오.
조건 동작과 천이 동작의 외부 천이 평가하기
이 예제에는 조건 동작과 천이 동작이 모두 포함되어 있습니다.
천이 레이블 구문에서 조건 동작은 천이 조건을 따르며, 중괄호(
{})로 둘러싸여 있습니다. 조건 동작은 조건이 true로 평가되지만 천이 경로가 유효하다고 평가되기 전에 실행됩니다.천이 레이블 구문에서 천이 동작은 슬래시(
/)로 시작하며, 중괄호({})로 둘러싸여 있습니다. 천이 동작은 천이 경로가 유효하다고 결정된 후에만 실행됩니다.
Stateflow 차트가 초기화되고 StateA에 대한 entry 동작이 수행됩니다. 새로운 시간 스텝이 발생하고 차트는 웨이크업 상태가 됩니다. StateA로부터의 외부 천이 경로가 여러 개 있습니다. 이 시간 스텝에서 x = 1, y = 1, z = 1입니다.

천이 평가 워크플로에 따라 이 차트의 천이를 평가하기 위한 단계의 순서는 다음과 같습니다.
StateA로부터의 천이 1은 평가 대상으로 표시됩니다.StateA로부터의 천이 1에는 조건([y >= 1])이 있습니다.조건은 true입니다.
조건 동작이 없습니다.
StateA로부터의 천이 1의 대상은 상태가 아닙니다.연결점에는 나가는 천이가 있습니다.
연결점으로부터의 천이 1은 평가 대상으로 표시됩니다.
연결점으로부터의 천이 1에는 조건(
[x > 2])이 있습니다.조건은 false입니다.
연결점으로부터의 천이 2는 평가 대상으로 표시됩니다.
연결점으로부터의 천이 2에는 조건(
[x >= 1])이 있습니다.조건은 true입니다.
조건 동작(
{y = 0;})이 있습니다. 이제y = 0입니다.연결점에는 나가는 천이가 있습니다.
연결점으로부터의 천이는 평가 대상으로 표시됩니다.
연결점으로부터의 천이 1에는 조건
([z > 5])이 있습니다.조건은 false입니다.
StateA로부터의 천이 2는 평가 대상으로 표시됩니다.StateA로부터의 천이 2에는 조건이 없습니다.StateA로부터의 천이 2의 대상은 상태(StateD)입니다.StateD는entry로 표시되고StateA는exit로 표시됩니다. 이 유효한 경로(/{z = 5})에 대해 천이 동작을 실행합니다. 이제z = 5입니다.
시간 스텝을 완료하려면 StateA의 경우 차트 또는 상태로 진입 워크플로를 따르고 StateE의 경우 상태에서 나가기(진출)에 대한 워크플로를 따르십시오.