상태 차트 보호 지정

상태 차트 보호는 오브젝트 속성과 이벤트 데이터를 기반으로 평가되는 조건식입니다.

이 태스크 정보

IBM® Rational® Rhapsody®는 보호를 해석하지 않습니다. 보호는 테스트할 수 있는 부울 또는 정수 값으로 해석되어야 하는 호스트-언어 표현식 또는 단순히 코드 부분입니다. 그렇지 않으면 보호에 대해 생성된 상태 차트 코드가 컴파일되지 않습니다.

다음 예제는 이벤트를 생성하기 위해 GEN 매크로를 사용하는 조치와 보호로 구성되는 상태 전이 레이블을 보여줍니다.

[x > 7]/controller->GEN(A7Failures)

상태 전이는 보호로만 구성될 수 있습니다. 조건의 하단식(low-to-high) 상태 전이(또는 부울 값)는 트리거링 이벤트로 간주됩니다. 예를 들어, 다음 보호는 올바른 상태 전이 레이블입니다.

[x > 7]

애니메이션 중에는 이벤트가 발생할 때마다 트리거가 없는 모든 보호가 테스트됩니다. 다음 상태 차트는 상태 전이가 없는 여러 보호를 사용합니다.

상태 전이가 없는 보호를 사용하는 상태 차트

이 상태 차트는 홈 알람 시스템의 키패드에 대한 상태 차트입니다. 알람 시스템의 키 패드가 유휴 상태인 경우에는 집을 떠나기 전에 알람을 설정하는 코드를 입력할 수 있습니다. 코드를 입력한 후 켜기 단추를 눌러 알람을 켭니다. 켜기 단추를 누르면 evKeyOn 이벤트가 발행됩니다. 이 이벤트가 발생할 때마다 상태 머신이 결정 노드 다음에 오는 두 개 보호([IS_IN(correct)] 또는 [IS_IN(notEntered)])를 평가하고 true로 평가되는 보호의 경로를 따릅니다.

애니메이션 시퀀스 다이어그램을 사용하면 보호 테스트 시점을 확인할 수 있습니다. 조건을 이벤트 발생 주기보다 자주 또는 보다 정기적으로 테스트하려면 폴링 메커니즘을 작성하면 됩니다. 이를 수행하려면 상태에서 자체로의 짧은 제한시간 상태 전이를 작성하여 최소한 해당 발생 시점마다 보호가 평가되도록 하십시오. 또는 다른 오브젝트를 사용하여 폴링하거나 현재 상태 차트의 보호를 폴링 오브젝트에서 나타난 이벤트로 바꿀 수 있습니다.

주: 부작용을 발생시키는 보호 사용은 애플리케이션에 문제점을 발생시킬 수 있으므로 일반적이지 않습니다.

피드백