UML 상태 시스템의 상태 간 전환에서 트리거, 보호 및 효과를 가질 수 있습니다.상태 시스템에서 차단 시스템 호출 호출 이벤트
Posix 시스템에서 차단 (예 : select() 또는 Raspberry Pi에서 wait_for_edge())하면 상태 시스템이 차단되어이 작업을 진행할 수 없기 때문에 통화 이벤트입니까?
이 상태 시스템을 이와 같이 모델링 할 수 있습니까? 아니면 다른 메커니즘을 사용해야합니까?
감사합니다.
UML 상태 시스템의 상태 간 전환에서 트리거, 보호 및 효과를 가질 수 있습니다.상태 시스템에서 차단 시스템 호출 호출 이벤트
Posix 시스템에서 차단 (예 : select() 또는 Raspberry Pi에서 wait_for_edge())하면 상태 시스템이 차단되어이 작업을 진행할 수 없기 때문에 통화 이벤트입니까?
이 상태 시스템을 이와 같이 모델링 할 수 있습니까? 아니면 다른 메커니즘을 사용해야합니까?
감사합니다.
상태 머신 내부 차단 호출 상태 머신 내부 이벤트 처리 보편적 가정 실행을 완성 의미론을 위반. 이는 차단 해제 (차단 호출에서 복귀)가 상태 시스템에 이벤트를 전달하는 다른 방법이기 때문입니다. 문제는 상태 머신이 이미 원래 이벤트를 처리하는 중일 때이 "백도어"이벤트가 도착한다는 것입니다. 또한 상태 시스템 다이어그램에서 이러한 "차단 해제"이벤트를 표시하는 명확한 방법이 없습니다. 이러한 이유 때문에 모든 블로킹 호출 (인라인 지연()조차도)조차도 상태 머신이나 내부의 진정한 이벤트 중심 시스템 내부에서는 피해야합니다. 이벤트는 이벤트 루프를 통해 엄격하게 전달되어야합니다. 이러한 이벤트 루프는 이벤트 대기를 차단할 수 있지만 외부는입니다.