모델 기반 설계(Model-Based Design)로 자동차 구성 요소 소프트웨어 개발 시간을 단축한 LS오토모티브
과제
자동차 스위치 및 부품에 사용되는 임베디드 제어 소프트웨어의 개발 시간 단축
솔루션
컨트롤러 설계 모델링, 시뮬레이션 시행, 고객 사양 검증, 오류 없는 생산 코드 생성을 위해 Model-Based Design 적용
결과
- 조기에 사양 오류 발견
- 검증된 개발 방식 확립
- 코딩 오류의 제거
국내 1위의 자동차용 스위치 및 부품 업체인 LS오토모티브는 국내외 자동차 OEM 시장에서 연이어 굵직한 계약을 따내며 좋은 성적을 내고 있습니다. ISO 26262 표준을 준수하는 기능 및 생산 시스템의 빠른 납품에 대한 자동차 OEM들의 요구가 높아지고 있습니다.
LS오토모티브는 이러한 요구에 부응하기 위해 MathWorks Consulting Services Group과 협력하여 MATLAB® 및 Simulink®를 기반으로 Model-Based Design을 도입했습니다. LS오토모티브의 엔지니어들은 첫 번째 Model-Based Design 프로젝트에서 자동차의 파워 윈도우와 미러를 제어하는 도어 유닛(DAU)용 임베디드 소프트웨어를 모델링 및 시뮬레이션하고 개발하는 데 성공했습니다.
“소프트웨어 설계 팀에서는 한정된 인력으로 DAU를 비롯한 다양한 프로젝트를 담당하고 있습니다.” LS오토모티브 소프트웨어 설계 팀 엔지니어 고명석 책임의 설명입니다. “Model-Based Design을 도입한 결과 모델을 재사용하고, 고객 요구 사항을 조기에 검증하고, 수동 코딩 시 빈번하게 발생하는 사용자 오류를 제거함으로써 이러한 제약 사항을 극복할 수 있었습니다. Model-Based Design은 ISO 26262가 요구하는 백투백(back-to-back) 테스트 시 우리가 개발한 C 코드가 고객이 요구하는 모델에 부합하는지 확인할 때 특히 유용합니다.”
과제
Model-Based Design을 도입하기 전에는 임베디드 소프트웨어를 수동으로 작성하는 전통적인 개발 프로세스가 사용되었습니다. 따라서 사양이 같아도 각 개발자가 수동으로 작성하는 코드는 저마다 다른 경우가 많았습니다. 또한, 코드나 고객 사양에 존재하는 사용자 오류로 인해 만성적인 품질 문제가 발생했고, 개발이 한창 진행된 뒤에 이를 수정해야 하는 경우가 종종 발생했습니다.
LS오토모티브는 이에 더해 전통적인 방식이 아닌 Model-Based Design을적용하여 개발된 제품을 선호하는 해외 OEM들의 요구에도 부응해야 했습니다. ISO 26262 응용 프로그램이 국내외에서 적용됨에 따라 기능 안전 표준을 준수해야 할 필요도 있었습니다. 글로벌 자동차 OEM들은 기능 안전 요구 사항의 일환으로 실제 하드웨어와 독립적으로 기능하는 시뮬레이션 기반 검증 환경을 요구하는 경우가 많습니다.
LS오토모티브는 이러한 요구에 부응하는 한편 기존 개발 프로세스에서 파악된 제약 사항도 해결해야 했습니다.
솔루션
LS오토모티브는 Model-Based Design을 도입하면서 초기 모델을 검토하고 기능 동작 테스트에 대한 자문을 받기 위해 MathWorks Consulting Services를 함께 도입하여 리스크를 최소화했습니다.
엔지니어들은 Simulink과 Stateflow®를 이용하여 OEM이 제공하는 사양을 바탕으로 DAU의 미러 제어, 파워 윈도우 제어, 통합 메모리 시스템 및 스위치 입출력 모듈을 모델링하고 시뮬레이션을 통해 각 모듈을 독립적으로 테스트했습니다. 시뮬레이션시 MathWorks 컨설턴트의 도움을 바탕으로 Simulink Coverage™로테스트 커버리지를 측정하고 Simulink Design Verifier™로 정형 기법을 적용하여 모델에 존재하는 데드로직(Dead Logic)을 찾아냈습니다.
시뮬레이션 결과 고객 사양 오류가 발견되는 경우 개발 초기이기 때문에 비교적 쉽게 해결할 수 있었습니다.
엔지니어들은 MathWorks 컨설턴트의 도움으로 Simulink Test™를 이용하여 테스트 하네스를 생성하고, 테스트 시나리오를 구현하고, 테스트 시나리오를 관리 및 실행하고, 테스트 결과를 분석할 수 있었습니다. 테스트 결과가 도출되면 이를 분석한 뒤 Simulink Design Verifier를 이용하여테스트 커버리지를 극대화하는 테스트 케이스 입력값을 생성했습니다.
이처럼 Simulink로 사양 검증과 기능 검증을 마친 뒤에는 Embedded Coder®를 이용하여 모델로부터 약 6000줄의 C 코드를 생성했고, 이를 Freescale™ CodeWarrior® 임베디드 소프트웨어 개발 도구를 사용하여 대상 MPC5601D 마이크로컨트롤러에 맞게 컴파일했습니다.
이와 같은 일련의 과정을 통해 일정을 준수하며 DAU를 개발하는 데 성공했습니다. LS오토모티브는 부품의 대량 생산 단계로 넘어가면 한국과 북미에서 약 2백만 개의 생산량을 달성할 수 있을 것이라 보고 있습니다. 현재 LS오토모티브 엔지니어들은 파워 시트 모듈 프로젝트에 Model-Based Design을 적용하고 있으며, 향후 스티어링 각도 센서 프로젝트와 차체 제어 모듈 프로젝트에도 이를 적용할 계획입니다.
결과
- 조기에 사양 오류 발견. 고명석 책임은 “Model-Based Design을 도입한 결과 품질을 높이고 개발 일정을 단축할 수 있었다”고 설명합니다. “요구 사항을 분석하여 잠재적 오류를 신속하게 찾아냈고, 실제 하드웨어를 사용하기 전에 개발 초기 단계에서 알고리즘을 검증했으며, 모델의 80%를 재사용하는 데 성공했습니다.”
- 검증된 개발 방식 확립. “처음에는 대량 생산 프로젝트에 한 번도 사용해 본 적이 없는 접근 방식과 도구를 사용하는 데 대해 내부에서 우려의 목소리가 컸습니다. 하지만 MathWorks 컨설턴트들이 DAU 프로젝트에서 많은 도움을 주셔서 이제는 더 많은 프로젝트에 Model-Based Design을 적용하자는 의견이 많아지고 있습니다.”
- 코딩 오류의 제거. “Embedded Coder를 이용하여 코드를 생성한 결과 수동 코드 작성 방식에서는 불가피하게 나올 수밖에 없는 사용자 오류를 제거할 수 있었습니다. 여기에 Model-Based Design의 품질 개선 역량이 더해져서 DAU 프로젝트가 플래그 없이 QA 테스트를 통과한 최초의 제품이 되었습니다.”