RIMB 구현 코드 구조는 내부 동작 태그(“SupportMultipleInstamtiation”)에 따라 다릅니다. 태그 “SupportMultipleInstantiation”이 “False”인 경우 RIMB에서 컨텍스트 포인터(“me”, “self”)를 사용하지 않습니다. RIMB를 싱글톤 또는 파일로 생성합니다(예: 구조를 생성하지 않고 “me”, “self” 포인터가 없음).
데이터를 RIMB의 C 구조로 캡슐화
ActiveOperation 이외의 모든 오퍼레이션에 “me” 인수 있음
다음 오퍼레이션에서 “Rte_Instance self” 매개변수 사용
사용자 모델 오퍼레이션
상태 차트 dispatchEvent & takeEvent 오퍼레이션
트리거된 오퍼레이션
활성 오퍼레이션
“Rte_Instance self” 매개변수에서 “me” 포인터를 추출하려면 Rte_PIM API를 호출하여 각 활성 오퍼레이션의 시작 부분에 코드를 추가하십시오.
ARBMT 액세서 헬퍼 오퍼레이션
mxf RiCReactive 오퍼레이션: RiCReactive_consumeEvent, RiCReactive_takeEvent, RiCReactive_takeTrigger, runToCompletion
RIMBO 데이터/인스턴스 선언 없음
RIMB_Init 오퍼레이션 없음
통합 프로그램이 <RIMB-class>_Init, <RIMB-class>_startBehavior를 호출해야 함
InternalBehavior에서 RIMB PIM의 ARXML 정의 작성
생성된 코드에 관련 유형 정의 작성
"RTE의 스펙" 스펙으로 인해 코드에 유형에 대한 순환 종속성이 있을 수 있습니다. "통합 프로그램"으로 이를 수동으로 처리해야 합니다.
“Rte_Instance self” 매개변수는 상태 차트 “entDef” 오퍼레이션에 추가되지 않습니다.
최적화된 상태 차트가 지원되지 않습니다.
모든 실행 가능한 엔티티는 “독점 영역에서 실행” 모드에 있어야 합니다.
C_CG::Operation::OSContextName
C_CG::Operation::OSContextDeclType
C_CG::Operation::ActiveOperationExtractMeCall