두 개의 상태, 활성 상태 및 유휴 상태라고 가정 해 봅시다. 활성 상태에서 일부 이벤트가 수신되면 지연 상태로 돌아가서 유휴 상태로 돌아갈 때 실행하려고합니다.부스트 msm - 부스트 msm 여러 지연된 이벤트
하지만 내가 유휴 상태로 돌아갈 때 이전에 지연된 이벤트를 처리하도록 선택한 방법이 있습니까? 또는 우선 순위를 매기거나 심지어 무시할 수있는 방법이 있습니까?
덕분에,
두 개의 상태, 활성 상태 및 유휴 상태라고 가정 해 봅시다. 활성 상태에서 일부 이벤트가 수신되면 지연 상태로 돌아가서 유휴 상태로 돌아갈 때 실행하려고합니다.부스트 msm - 부스트 msm 여러 지연된 이벤트
하지만 내가 유휴 상태로 돌아갈 때 이전에 지연된 이벤트를 처리하도록 선택한 방법이 있습니까? 또는 우선 순위를 매기거나 심지어 무시할 수있는 방법이 있습니까?
덕분에,
지연된 이벤트의 기본 기능은 프로젝트에서 제공되는 문서에서 다루어지며 일반적으로 도움이되는 것으로 나타났습니다. Orthogonal regions, terminate state, event deferring이라는 제목의 텍스트에서 "UML은 state deferring을 상태 속성으로 정의합니다.이 것을 수용하기 위해 MSM에서는 deferred_events 유형을 제공하여 상태를 지정할 수 있습니다 ..."참고로 여기에 설명 된 두 가지 메소드가 있습니다 연기 된 사건들.
예를 테스트하지 않으면 충돌하는 전환 및 감시에서 참조 된 자료로 인해 지연 이벤트에서 우선 순위를 설정할 수 있는지 여부를 말할 수 없습니다. 문제 나 간단한 예제를 게시 할 수 있습니다.
나는 MSM을 높일 수있는 솔루션의 기본 인식하지입니다. 필자는 Christophe Henry가 메일 링리스트에서 이런 종류의 질문에 매우 민감하다는 말을 들었다.
정말 사소한 경우 (2 개 주) 아무 것도 지연 이벤트 대기열을 구현하지 못하게되어 활성 상태 인 "defferred events"를 전달합니다. 사용자 정의 대기열로 푸시하는 조치로 각 이벤트 유형에 대한 내부 전이를 구현할 수 있습니다. 유휴 상태가되면 SM에 원하는 모든 것을 다시 게시 할 수 있습니다. 이 솔루션은 모든 것을 잘 확장하지는 않지만 해킹 비트를 확장합니다.