ImplementationDataTypes
Table of contents
SWAD에서 ImplementationDataTypes를 생성하는 과정을 작성하였다.
1. Primitive Data Type
typedef Data Type을 정의한다.
- Primitive Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
예) data type이 uint8인 경우
type=uint8
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
AUTOSAR Spec에서 Primitive Type은 아래와 같은 형태로 코드가 생성되어야 한다.
typedef <nativeDeclaration> <name>;
2. Composite Data Type
Struct, Array, Union Data Type을 정의한다.
2.1 Struct Type
- Struct Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Structure로 입력
예) uint8 type 1개, float32 type 1개, sint8 type 1개, boolean type 1개
작성 요령: <순서>+“=”+<MemberName>+”:”+<DataType>
kind=Structure num=4 1=u8Data:uint8 2=f32Data:float32 3=s8Data:sint8 4=bData:boolean
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
2.2 Struct Type - Struct
- Struct Type Member는 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Structure로 입력
예) Struct를 member로 갖는 Struct type
작성 요령: <순서>+“=”+<MemberName>+”:”+<DataType>
해당 Struct Type이 먼저 정의되어 모델로 생성된 상태여야 한다.
kind=Structure num=3 1=T1Data:airbagSensorData 2=u8Data:uint8 3=bData:boolean
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
2.3 Array Type
- Array Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Array로 입력
예) uint8 xxx[5] 형태의 Array
kind=Array type=uint8 size=5
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
2.4 Array type - Struct
- Array Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Array로 입력
예) struct array type
해당 Struct Type이 먼저 정의되어 모델로 생성된 상태여야 한다.
kind=Array type=airbagSensorData size=5
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
2.5 Union Type
- Union Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행
ImplementationDataType Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind에 Union로 입력
예) uint16과 sint16을 member로 갖는 Union type
kind=Union num=2 1=u16Data<MemberName>:uint16<Type> 2=s16Data<MemberName>:sint16<Type>
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성
생성된 모델 확인
3. Enumeration Data Type
AUTOSAR에서 Enumeration Type은 열거형 정보의 원형인CompuMethod를 설계(1~5)하고, 이를 인터페이스 설계에서 사용할 ImplementationDataType을 설계(6~8)하는 두 단계에 걸쳐 설계한다.
- CompuMethods 설계를 먼저 진행하고 ImplementationDataType 설계를 진행한다.
RapidAUTO Context Menu → “Add CompuMethod” 기능 실행
CompuMethod Name 을 입력
마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행
Description 탭에서 원하는 형식의 타입을 지정
kind는 Enumeration으로 입력
예) 괄호 안의 숫자로 값을 설정 (설정하지 않으면 0부터 1씩 증가)
kind=Enumeration num=3 1=SENSOR_START(1) 2=SENSOR_STOP(3) 3=SENSOR_FAIL(7)
Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 설계 생성
Enum type을 사용할 Implementation Datatype 설계
만들어진 Implementation Datatype의 [Feature-Description]탭(더블 클릭)에 연결할 CompuMethod를 지정
kind=Primitive type=uint8 enum=ENUM_SensorStatus기입한 정보대로 “Design AutosarDataType” 기능 실행하여 모델 설계 생성

















































