2013-03-23 7 views
0

두 전환이있는 상태 S1이 있고 이벤트 'A'에 의해 트리거되지만 둘 중 하나는 보호 장치로 x !=0이고 다른 하나는 그렇지 않습니다. 가드가 유효 할 때 예상되는 행동은 무엇입니까 (x ==1)? 가드동일한 트리거/이벤트이지만 다른 가드가있는 다중 트랜스미터가있는 Statemachine

  1. 예측할 수없는
  2. 전환이 가드없이
  3. 전환을 촬영 내가 같은 이벤트와 2 전환을 할 수 없다는 대한 책을 읽은 기억이 안

을 가지고있다.

답변

3

예 : x != 0. x== 1이면 x == 0의 전환이 활성화되지 않고 다른 하나는 보호되지 않습니다. 다른 하나는 해고됩니다.

x == 0이면 전환이 모두 활성화됩니다. 이것은 소위 "상충되는 전환"의 상황입니다 (UML Spec. 2.4.1., 575 페이지 참조). 충돌 해결은 일반적으로 다소 복잡합니다 (UML 스펙 참조). 두 전환이 동일한 상태를 벗어나는 특정한 경우에 전환 결과 중 하나가 취해질 수 있습니다.

+0

방금 ​​내 가드 설명이 잘못되었음을 알았지 만 답변의 두 번째 부분에서 설명했습니다 . 두 번 확인해 봐야 해. – Juan