본문 바로가기
AUTOSAR

AUTOSAR Composition SWC란 무엇인가? 실무자가 반드시 알아야 할 계층 설계 구조

by Autosar 2026. 4. 20.
반응형

AUTOSAR를 공부하다 보면 SWC(Software Component)까지는 이해했는데, 그 다음 단계에서 많이 막히는 개념이 있다.

바로 Composition SWC (CompositionSwComponentType) 이다.

 

처음 보는 사람 입장에서는 이런 의문이 생긴다.

 

- SWC도 있는데 왜 Composition이 또 필요할까?

- Composition도 코드를 실행하나?

- 내부 SWC와 무엇이 다른가?

- Connector는 왜 필요한가?

- 실무에서는 언제 쓰는가?

 

이 질문들은 매우 자연스럽다.

왜냐하면 Composition은 “기능 구현용 컴포넌트”가 아니라 구조 설계용 컴포넌트이기 때문이다.

 

즉, Composition은 직접 기능을 수행하는 코드보다 여러 SWC를 어떻게 묶고 연결할지 설계하는 개념이다.

 

이번 글에서는 Composition SWC를 처음 보는 사람도 이해할 수 있도록

개념부터 구조, 그림 해석, Connector 종류, 실무 예제까지 차근차근 설명한다.

 

1. Composition SWC란?

 

Composition SWC는 여러 개의 SWC를 모아서 하나의 상위 시스템처럼 표현하는 AUTOSAR 컴포넌트다.

 

쉽게 말하면:

작은 기능 블록(SWC) 여러 개
        ↓
하나의 시스템 단위로 묶음
        ↓
Composition SWC

 

즉, 이미 존재하는 SWC들을 조립해서 더 큰 구조를 만드는 개념이다.

 

2. 왜 Composition이 필요한가?

 

실제 차량 소프트웨어는 단일 기능 하나만 존재하지 않는다.

자동차 한 대 안에는 서로 다른 목적을 가진 수많은 기능 시스템이 동시에 존재한다.

 

예를 들면:

 

- 공조 시스템(HVAC)

- 오디오 시스템(Audio)

- 도어 시스템(Door)

- 시트 제어 시스템(Seat)

- 조명 시스템(Lamp)

- 클러스터 시스템(Cluster)

- 바디 제어 시스템(BCM)

 

이 각각의 시스템은 겉으로 보기에는 하나의 기능처럼 보이지만, 내부적으로는 여러 개의 SWC가 함께 동작한다.

 

예: 공조 시스템(HVAC)

공조 기능 하나만 보더라도 내부에는 다양한 역할이 필요하다.

- 온도 입력 처리

- 풍량 제어

- 모드 제어(얼굴/발/제상)

- 블로워 모터 제어

- 센서 값 처리

- 표시 정보 전달

- 진단 기능

 

즉, 공조 기능은 하나의 코드가 아니라 여러 기능 모듈의 집합이다.

그래서 내부적으로는 다음처럼 나눌 수 있다.

- HvacInput SWC
- TempControl SWC
- BlowerControl SWC
- ModeControl SWC
- HvacDiag SWC
- DisplayOutput SWC

 

그리고 이들을 하나의 시스템으로 관리하기 위해 Composition을 사용한다.

HVAC Composition
 ├─ HvacInput SWC
 ├─ TempControl SWC
 ├─ BlowerControl SWC
 ├─ ModeControl SWC
 ├─ HvacDiag SWC
 └─ DisplayOutput SWC

 

3. Composition은 기능 추가가 아니다

 

이 부분은 반드시 이해해야 한다.

Composition은 내부 SWC를 포함한다고 해서 새로운 기능을 직접 수행하지 않는다.

 

실제 제어 로직 → 내부 Atomic SWC가 담당

데이터 계산 → 내부 SWC가 담당

Runnable 실행 → 내부 SWC가 담당

구조 관리 및 연결 → Composition이 담당

 

즉, Composition은 관리자, 내부 SWC는 실행자라고 생각하면 이해가 쉽다.

 

4. Composition은 코드가 실행되지 않는다

 

AUTOSAR 문서에서는 Composition이 binary footprint가 없다고 설명한다.

 

뜻은 다음과 같다.

 

- Composition 자체가 실행 함수가 아니다.

- Composition 자체가 모터를 제어하지 않는다.

- Composition 자체가 Runnable을 돌리지 않는다.

- Composition 자체가 RAM/ROM 기능 코드를 소비하는 주체가 아니다.

 

즉, Composition은 ECU 안에서 “기능 코드”라기보다 “설계 구조 정보”에 가깝다.

 

5. 그림으로 이해하는 Composition 구조

 

아래 그림은 Composition 내부에 Application SWC가 들어가 있고, 외부 Port와 연결되는 구조를 보여준다.

 

큰 사각형: Composition SW Component

안쪽 사각형: Application SW Component

좌우 화살표 Port: 외부와 연결되는 Port

내부 선 연결: 내부 SWC와 외부 Port 연결

 

즉, 아래와 같은 구조다.

외부 시스템 ↔ Composition ↔ 내부 SWC

 

6. Composition도 Port를 가진다

 

많이 헷갈리는 부분이다.

Composition도 SWC 타입의 일종이기 때문에 Port를 가질 수 있다.

하지만 Atomic SWC Port와 목적이 다르다.

Atomic SWC Port: 실제 기능 로직에서 직접 사용한다.

예: 속도 입력, 모터 출력, 상태 전달

 

Composition Port: 내부 SWC Port를 외부에 노출하는 역할이 크다.

즉: 내부 Port → Composition 외부 Port로 전달

이것을 Delegation이라고 한다.

 

7. SwComponentPrototype이란?

 

Composition 안에는 SWC “정의서”가 들어가는 것이 아니라 실제 인스턴스가 들어간다.

즉, 같은 SWC를 여러 위치에서 재사용할 수 있다.

 

8. Connector란 무엇인가?

 

Composition 내부에서 SWC를 배치만 해서는 동작하지 않는다.

서로 데이터를 주고받도록 연결해야 한다.

그 연결 요소가 SwConnector 다.

 

쉽게 말하면 배선이다.

SWC A ---- Connector ---- SWC B

 

9. Connector 종류 3가지

 

9-1. AssemblySwConnector

내부 SWC와 내부 SWC를 연결한다.

MirrorInput SWC → MirrorLogic SWC
MirrorLogic SWC → MirrorMotor SWC

 

가장 일반적으로 많이 사용된다.

 

9-2. DelegationSwConnector

Composition 외부 Port와 내부 SWC Port를 연결한다.

즉, 외부 신호를 내부로 전달하거나 내부 결과를 외부로 내보낸다.

Outer Port ↔ Inner SWC Port

 

왜 중요한가?

Composition은 외부 ECU, 다른 Composition, 시스템 레벨 구조와 연결되어야 하기 때문이다.

 

9-3. PassThroughSwConnector

외부 Port와 외부 Port를 내부 SWC 없이 직접 연결한다.

Outer Required Port
        ↓
PassThrough
        ↓
Outer Provided Port

 

10. PortInterfaceMapping이란?

 

이 그림 안에 있는 PortInterfaceMapping 은 연결되는 두 Port의 이름이나 구조가 완전히 같지 않을 때 매핑 정보를 주는 개념이다.

 

예:

Outer Port : VehicleSpeed
Inner Port : SpeedValue

 

이름은 다르지만 의미는 같다면 연결 가능하도록 매핑한다.

 

왜 필요한가?

대규모 프로젝트에서는 공급사별 명명 규칙이 다를 수 있다.

 

예:

Supplier A: VehSpd
Supplier B: VehicleSpeed
OEM: Speed_kph

 

이때 Mapping 개념이 중요하다.

 

11. Composition 재귀 구조

 

Composition 안에 또 다른 Composition을 넣을 수 있다.

Vehicle Composition
 ├─ Door Composition
 ├─ Seat Composition
 └─ HVAC Composition

 

즉, 시스템이 커질수록 계층 구조로 확장 가능하다.

 

12. Top-Level Composition

 

차량 전체 Application 구조를 대표하는 최상위 Composition이다.

Vehicle Top Composition
 ├─ BCM
 ├─ HVAC
 ├─ Seat
 ├─ Cluster
 └─ Gateway

 

실제 시스템 아키텍처에서 매우 중요하다.

 

13. Composition vs Atomic SWC 차이

 

항목 Atomic SWC Composition SWC
실제 로직 수행 O X
Runnable 보유 O X
코드 실행 주체 O X
내부에 다른 SWC 포함 X O
목적 기능 구현 구조 설계

 

질문 Q&A

 

Q1. Composition도 기능 실행하나?

A.1 직접 실행보다 구조 관리 목적이다.

 

Q2. Composition 안에 Composition 넣을 수 있나?

A2. 가능하다.

 

Q3. 왜 필요한가?

A3. 대규모 시스템을 계층적으로 관리하기 위해서다.

 

Q4. Composition Port 역할은?

A4. 내부 기능을 외부와 연결하기 위한 인터페이스 역할이다.

 

정리

 

Composition SWC는 여러 SWC를 묶어 하나의 시스템 구조로 표현하는 AUTOSAR 상위 아키텍처 컴포넌트다.

 

AUTOSAR 실무에서 중요한 것은 단순히 코드를 잘 짜는 것이 아니다.

기능을 잘 나누고, 그 기능들을 잘 연결하고, 시스템 전체를 읽기 쉽게 설계하는 것이다.

 

SWC가 “부품”이라면, Composition은 그 부품들을 조립한 “완성 구조”다.

반응형