관리 메뉴
Automotive Software
런어블의 다중 태스크 매핑 (Multiple Task Mapping of a Runnable) 본문
클래식 오토사 (Classic AUTOSAR)/SWC & RTE
런어블의 다중 태스크 매핑 (Multiple Task Mapping of a Runnable)
AutoSW 2022. 3. 14. 20:33- SWC & RTE에서 해야 할 일
- 런어블의 다중 태스크 매핑을 위해 알아야 할 두 가지 중요한 속성들과 해야 할 일은
- supportMultipleInstantiation
- SoftwareComponent 의 속성으로 해당 컴포넌트 타입이 단일 제어기상에서 여러 번 객체로 만들어져 사용되어야 할 경우 (다중 태스크, 다중 OsApplication)
- 런어블의 다중 태스크 매핑을 위해 기본적으로 활성화 되어야 함
- canBeInvokedConcurrently
- RunnableEntity의 속성으로 다중 태스크로부터 해당 런어블이 동일한 인스턴스에 의해 다중 태스크에 의해 동시에 수행되어질 수 있는 경우 활성화되어야 함 (예, Server runnable)
- 보통 SupportMultipleInstantiation 을 지원하는 컴포넌트가 다중 객체화된 경우, 해당 컴포넌트 내의 일반적인 런어블들은 각각의 인스턴스(다중 인스턴스)에 의해 수행되므로 해당 속성은 목적에 따라 선택적으로 활성화 필요
- supportMultipleInstantiation 가 활성화된 컴포넌트 타입을 이용하여 필요한 수만큼의 객체 생성
- 예, 2개의 객체생성
- MySwc_Core0 :: MySwcType
- MySwc_Core1 :: MySwcType
- 예, 2개의 객체생성
- supportMultipleInstantiation
- 런어블의 다중 태스크 매핑을 위해 알아야 할 두 가지 중요한 속성들과 해야 할 일은
- OS 에서 해야 할 일
- 런어블을 매핑할 태스크들을 생성 후 OsApplication 들에 각 태스크를 할당
- Core0 -> OsApplication_Core0 : Core 0 상의 OsApplication
- MyTask_Core0 : Core 0상에 런어블을 매핑할 태스크
- Core1 -> OsApplication_Core1 : Core 1상의 OsApplication
- MyTask_Core1 : Core 1상에 런어블을 매팅할 태스크
- Core0 -> OsApplication_Core0 : Core 0 상의 OsApplication
- 각 태스크 할당 후 다중 객체로 부터 런어블 매핑
- MySwc_Core0에 MySwc_Core0의 MyRunnable 매핑
- MySwc_Core1에 MySwc_Core1의 MyRunnable 매핑
- 객체화된 컴포넌트 명만 차이가 있으며 런어블은 동일한 이름을 유지
- 런어블을 매핑할 태스크들을 생성 후 OsApplication 들에 각 태스크를 할당
- Arxml 상에서의 Description 예시
- canBeInvokedConcurrently은 Runnable 컨테이너에
- supportMultipleInstantiation은 SWC Internal Behavior 컨테이너에 정의됨
'클래식 오토사 (Classic AUTOSAR) > SWC & RTE' 카테고리의 다른 글
런어블 카테고리 (Categories for Runnable Entities) (0) | 2022.03.14 |
---|