Software Component. "기능 하나"를 담는 상자이고, 상자 밖과는 오직 포트로만 말한다.
구조
SWC "UltrasonicSensor"
├ 제공 포트(P-Port) distance : uint16
├ 요구 포트(R-Port) calibration : uint8
└ 러너블
Runnable_Measure 10ms 주기
Runnable_Init 시동 시 1회
왜 이렇게 나누나
- 재사용 — 같은 SWC를 다른 차종·다른 ECU에 그대로 얹는다
- 분업 — 회사가 달라도 포트 규격만 맞추면 통합된다
- 테스트 — 포트를 가짜로 물려 SWC 단위로 시험할 수 있다
종류
일반 SWC 외에, 하드웨어에 붙는 센서/액추에이터 SWC가 따로 있다. 초음파 센서처럼 물리 장치를 다루는 기능이 여기에 해당하고, 그 아래는 ECU Abstraction과 MCAL이 받는다.
면접에서 주의
"SWC = 파일 하나"가 아니다. 배포 단위가 아니라 설계 단위이며, 여러 SWC가 한 태스크에서 순서대로 돌 수도 있다.