ImplementationDataTypes

Table of contents

SWAD에서 ImplementationDataTypes를 생성하는 과정을 작성하였다.

1. Primitive Data Type

💡

typedef Data Type을 정의한다.

  • Primitive Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
  1. RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행

  2. ImplementationDataType Name 을 입력

  3. 마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행

  4. Description 탭에서 원하는 형식의 타입을 지정

    • 예) data type이 uint8인 경우

        type=uint8
      
  5. Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성

    💡

    하단 log에 아래와 같은 메시지가 뜨면 정상적으로 생성 완료

  6. 생성된 모델 확인

⚠️

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로 생성한다.
  1. RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행

  2. ImplementationDataType Name 을 입력

  3. 마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행

  4. Description 탭에서 원하는 형식의 타입을 지정

    • kind에 Structure로 입력

    • 예) uint8 type 1개, float32 type 1개, sint8 type 1개, boolean type 1개

        kind=Structure
        num=4
        1=u8Data:uint8
        2=f32Data:float32
        3=s8Data:sint8
        4=bData:boolean
      
  5. Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성

    💡

    하단 log에 아래와 같은 메시지가 뜨면 정상적으로 생성 완료

  6. 생성된 모델 확인

2.2 Struct Type - Struct

  • Struct Type Member는 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
  1. RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행

  2. ImplementationDataType Name 을 입력

  3. 마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행

  4. Description 탭에서 원하는 형식의 타입을 지정

    • kind에 Structure로 입력

    • 예) Struct를 member로 갖는 Struct type

      🚨

      해당 Struct Type이 먼저 정의되어 모델로 생성된 상태여야 한다.

        kind=Structure
        num=3
        1=T1Data:airbagSensorData
        2=u8Data:uint8
        3=bData:boolean
      
  5. Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성

    💡

    하단 log에 아래와 같은 메시지가 뜨면 정상적으로 생성 완료

  6. 생성된 모델 확인

2.3 Array Type

  • Array Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
  1. RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행

  2. ImplementationDataType Name 을 입력

  3. 마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행

  4. Description 탭에서 원하는 형식의 타입을 지정

    • kind에 Array로 입력

    • 예) uint8 xxx[5] 형태의 Array

        kind=Array
        type=uint8
        size=5
      
  5. Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성

    💡

    하단 log에 아래와 같은 메시지가 뜨면 정상적으로 생성 완료

  6. 생성된 모델 확인

2.4 Array type - Struct

  • Array Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
  1. RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행

  2. ImplementationDataType Name 을 입력

  3. 마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행

  4. Description 탭에서 원하는 형식의 타입을 지정

    • kind에 Array로 입력

    • 예) struct array type

      🚨

      해당 Struct Type이 먼저 정의되어 모델로 생성된 상태여야 한다.

        kind=Array
        type=airbagSensorData
        size=5
      
  5. Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성

    💡

    하단 log에 아래와 같은 메시지가 뜨면 정상적으로 생성 완료

  6. 생성된 모델 확인

2.5 Union Type

  • Union Type은 Component Package 내부의 ImplementationDataTypes 패키지에서 Context Menu로 생성한다.
  1. RapidAUTO Context Menu → “Add ImplementationDataType” 기능 실행

  2. ImplementationDataType Name 을 입력

  3. 마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행

  4. Description 탭에서 원하는 형식의 타입을 지정

    • kind에 Union로 입력

    • 예) uint16과 sint16을 member로 갖는 Union type

        kind=Union
        num=2
        1=u16Data:uint16
        2=s16Data:sint16
      
  5. Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성

    💡

    하단 log에 아래와 같은 메시지가 뜨면 정상적으로 생성 완료

  6. 생성된 모델 확인

3. Enumeration Data Type

💡

AUTOSAR에서 Enumeration Type은 CompuMethod 설계를 참조하는 ImplementationDataType 설계가 필요하다.

  • CompuMethods 설계를 먼저 진행하고 ImplementationDataType 설계를 진행한다.
  1. RapidAUTO Context Menu → “Add CompuMethod” 기능 실행

  2. CompuMethod Name 을 입력

  3. 마우스 더블 클릭 혹은 마우스 오른 클릭으로 “Features…” 기능 실행

  4. Description 탭에서 원하는 형식의 타입을 지정

    • kind는 Enumeration으로 입력

    • 예) 괄호 안의 숫자로 값을 설정 (설정하지 않으면 0부터 1씩 증가)

        kind=Enumeration
        num=3
        1=SENSOR_START(1)
        2=SENSOR_STOP(3)
        3=SENSOR_FAIL(7)
      
  5. Context Menu에서 “Design AutosarDataType” 기능 실행하여 모델 생성