Rational Rhapsody 구현 블록(RIMB) 상태 차트 및 실행 정의

상태 차트를 사용하여 IBM® Rational® Rhapsody® 구현 블록(RIMB)의 동작을 설명할 수 있습니다.

이 태스크 정보

런타임 환경 관리 모드에서 AUTOSAR 수신기에 수신되는 데이터 요소가 트리거된 오퍼레이션으로 변환됩니다. 데이터 요소가 수신되면 런타임 환경(RTE)에서 상태 차트에서 상태 전이를 직접 트리거하는 해당 활성 오퍼레이션을 호출합니다. AUTOSAR 데이터 요소의 레벨에서 런타임 환경에 따라 큐잉이 완료됩니다. 이 모드에서 AUTOSAR 데이터 요소의 수신으로부터 발생하는 트리거된 오퍼레이션만 상태 차트에서 상태 전이를 트리거할 수 있습니다.

Rational Rhapsody 관리 모드에서는 AUTOSAR 수신기 포트에서 수신되는 데이터 요소가 Rational Rhapsody 이벤트로 변환됩니다. 데이터 요소가 수신되면 활성 오퍼레이션이 호출되어 Rational Rhapsody 구현 블록에 대한 이벤트 큐에 해당 이벤트가 대기됩니다. Rational Rhapsody 구현 블록에 대한 doExecute 명령이 일반 Rational Rhapsody 메커니즘을 모방하여 이벤트를 하나씩 실행하고 상태 차트에 디스패치합니다. 이 모드에서는 런타임 환경 및 Rational Rhapsody에 의한 이중 큐잉이 수행됩니다.

런타임 환경 관리 모드에서 Rational Rhapsody 구현 블록(RIMB)의 상태 차트 정의

프로시저

  1. 각 속성에 대해 x, Rational Rhapsody 구현 블록 수신기 포트, p가 수신 시 상태 전이를 트리거하고 evP_x라는 트리거된 오퍼레이션을 정의하십시오.
  2. x의 액세스 모드를 명시 블로킹 또는 명시 비블로킹(암시적 아님)으로 설정하십시오. 액세스 모드가 Rational Rhapsody 이벤트가 아닌 일반 C 유형으로 입력됩니다.
  3. 트리거된 오퍼레이션을 상태 전이 트리거로 사용하는 상태 차트를 작성하십시오.
  4. p.x에 대해 활성 오퍼레이션을 작성하여 p.x에 대한 디스패처로 제공하십시오. 활성 오퍼레이션의 구현은 receiveAndHandleData_p_x()를 호출하는 것입니다. 이 단계는 런타임 환경 관리 및 Rational Rhapsody 관리 모드에서 동일합니다. 차이점은 receiveAndHandleData_p_x()에 대해 Rational Rhapsody에서 생성되는 코드입니다.
  5. 디스패처가 서로 상호 배제되도록 상태 차트의 모든 디스패처를 보호됨으로 설정하십시오.

Rational Rhapsody 관리 모드에서 Rational Rhapsody 구현 블록(RIMB)의 상태 차트 정의

프로시저

  1. Rational Rhapsody 이벤트가 포함된 상태 차트를 상태 전이 트리거로 작성하십시오.
  2. 이러한 이벤트를 사용하여 포트를 입력하는 Rational Rhapsody 구현 블록 수신기 인터페이스에 속성을 입력하십시오. 수신기 포트 p에 AUTOSAR 데이터 요소 x가 수신되는 것이 이벤트 ev를 트리거하는 것을 의미하는 경우 ev에서 p를 입력하는 Rational Rhapsody 구현 블록 수신기 인터페이스에 x를 입력하십시오. 이전 단계의 세트에 설명된 트리거된 오퍼레이션과 다르게 evpx를 결합하여 생성된 이름이 아닌 상태 차트의 이벤트 이름입니다. ev에 따라 x를 입력하면 evp.x로 바인딩됩니다.
  3. p.x에 대해 활성 오퍼레이션을 정의하여 p.x에 대한 큐어로 제공하십시오. 활성 오퍼레이션의 구현은 receiveAndHandleEvent_p_x()를 호출하는 것입니다. 이 단계는 런타임 환경 관리 및 Rational Rhapsody관리 모드에서 동일합니다. 차이점은 receiveAndHandleEvent_p_x()에 대해 Rational Rhapsody에서 생성되는 코드입니다.

피드백