2013-03-24 1 views
3

이 HSM 예제 모델 (http://www.embedded.com/design/system-integration/4008251/8/A-crash-course-in-UML-state-machines-Part-2)을 얻었습니다. 전환 액션을 실행하는 데 올바른 시점이 무엇인지 궁금합니다. 이 기계가 초기 상태 (S211)에 있고 이벤트 G가 발송되었다고 가정 해 봅니다 (S21 -> S1) -이 이벤트에 대한 조치가 있다고 가정 해 봅시다.전환 작업을 계층 적 상태 시스템에서 정확히 실행해야하는 시점은 언제입니까?

: - 대상 상태 (S1)에 입력 - - 전환 동작 대상의 초기화 작업을 ...이 같은

아니면

최소한의 공통 조상 (S)에 종료 : 순서는 것과 같아야합니다

소스 전환 상태 (S21)로 전환 - 전환 동작 - 최소 공통 조상으로 종료 (S) - 대상 상태 (S1)에 대한 입력 - 대상의 초기화 동작

?

요약하면 "전환 원본"또는 "최소 공통 조상"과 관련된 전환 작업입니까?

위키 피 디아에서의 설명과 예제는 이러한 세부 사항을 설명하기에는 너무 쉽습니다 ... UML 사양은 LCA 대답을 올바른 것으로 제안하는 것 같지만 확실하지 않습니다. 사전 (의

들으;

답변

1

오토마타 이론은 행동이 소스 또는 대상 중 하나에서 발생하지 않는 것을 알 수 없습니다 그러나 어느 쪽도 오토마타 이론은 일반적으로 계층 적 상태를 고려하지 그래서 예, LCA는 이론적으로 좋다.. (QHSM)에 의해 고안된 상태 머신 코드는 실제로 소스 상태 내에서 전환 작업을 수행하지만, 이는 문제가 아니며 결함 일 수도 있음을 양지하시기 바랍니다

특정 구현과 관련하여 모든 매트 rs는 전환 동작이 일관된 방식으로 발생한다는 것입니다. Miro의 코드가 그 예입니다.

어떤 이유로 든 전환 동작이 LCA 또는 대상 상태에서 발생해야하는 경우 "확장 상태"를 사용하여 결과를 얻을 수 있습니다. 그러나 실제로, 그것은 정말로 필요하지 않습니다.

+0

나는 미로의 구현은 소스 상태에서 작업을 수행 알고 있지만 난 그냥 나에게 명확한 대답을하지 않았다 표준의 강의를 UML-에 따른 올바른/적절한 방법은 무엇 궁금 해서요 ... –