AVL의 첨단 소프트웨어 솔루션 부문 키에란 맥칼리어 부장은 Automotive Innovation Day 2024에서 SDV와 관련해 그들의 개발 방법론이자 솔루션인 ‘DevOps Pilot’을 소개하며 ‘Shift Left와 가상화 통합’의 중요성을 말했다. SDV를 위한 새로운 개발 프로세스에서 더 많은 가상화와 시뮬레이션을 수용하고, 지속적 통합(CI) 및 배포(CD)와 테스트 접근 방식에서 하드웨어와 소프트웨어를 통합해 SDV 개발을 가속해야 한다고 강조했다.
글 | 한상민 기자_han@autoelectronics.co.kr
딜로이트(Deloitte)의 조사에 따르면, 주요 OEM 및 티어 1 공급업체는 소프트웨어 정의 자동차(SDV)가 향후 5 ~ 10년 내에 자동차의 주류가 될 것으로 본다.
기능이 주로 ‘소프트웨어’를 통해 활성화되는 자동차, SDV로 간다는 것은 더 많은 서비스 지향 및 통신 아키텍처로 가고, 이를 위해 E/E 아키텍처를 포함한 자동차의 복잡성이 더욱 증가한다는 것을 의미한다. 이에 따라 OEM은 현재 ▶소프트웨어의 복잡성 ▶투자 ▶애자일 개발 ▶Shift Left와 가상화의 통합 ▶표준과 규제 ▶사이버 시큐리티 ▶HW/SW 통합이란 과제에 직면해 있다.
AVL의 첨단 소프트웨어 솔루션 부문 키에란 맥칼리어(Kieran McAleer) 부장은 Automotive Innovation Day 2024에서 “애자일 개발 방법 도입도 중요하지만, ‘Shift Left와 가상화 통합’에 대해 강조하고 싶습니다. 우리는 새로운 개발 프로세스에서 더 많은 가상화와 시뮬레이션을 수용해야 하고, 더 지속적인 통합(CI) 및 배포(CD), 테스트 접근 방식에서 하드웨어와 소프트웨어를 통합해야 합니다”라고 말했다.
SDV는 엔지니어링 컴퍼니인 AVL에게 시스템 엔지니어링으로의 전환이며, 이런 시스템 엔지니어링은 프로세스 극초기 요구사항으로부터 추진돼 개발 프로세스에서 높은 수준의 자동화와 배포 전개로 완성된다.
여기서 AVL DevOps Pilot 솔루션은 아티팩트, 시뮬레이션 모델, 컨트롤러 모델, 테스트 케이스를 포함한 개발 및 운영 파이프라인의 엔드 투 엔드 오케스트레이션을 클라우드 기반 플랫폼으로 제공한다. Azure, Azure OpenAI, GitHub Copilot을 포함한 마이크로소프트 기술을 활용해 AVL의 자동차 개발 전문성을 강화해 SDV 개발 시간을 크게 줄이고 테스트 및 검증 과정을 자동화하며 소프트웨어 개발 자산의 엔드 투 엔드 추적 가능성을 보장한다.
테스트 접근 방식의 변화
“AVL 고객의 변화는 어떻게 진행되고 있을까요? 전통적으로 하드웨어 중심의 개발 프로세스에서 많은 변화가 있었고, 이제 DevOps와 같은 애자일 개발 프로세스로의 전환이 요구되고 있습니다. DevOps를 위한 데모는 새로운 것이 아니지만, 우리는 이를 자동차 개발 프로세스에 맞게 조정하고 적용해야 합니다. 궁극적으로 이것은 무엇을 의미하는 것일까요? 이것은 테스트 접근 방식의 변화를 의미합니다!”
맥칼리어 부장이 말했다.
클래식한 캘리브레이션 최적화에서 더 기능적인 수준으로 변화하는 것이다. 특히, 개발 과정에서 시뮬레이션 수준이 크게 높아지고 시뮬레이션과 차량에 직접적으로 더 많은 초점이 맞춰지는 것이다. 클라우드에서 차량으로의 우선순위 전환, 전 개발 과정과 환경에서 테스트 케이스에 높은 수준의 자동화 도입 필요성이 커졌다. 따라서, SIL(Software-in-the-Loop), HIL(Hardware-in-the-Loop) 테스트베드 및 실제 차량에 배포할 수 있는 테스트 케이스를 만들려는 움직임이 활발히 전개되고 있다.
소프트웨어 업데이트 릴리스를 달성하기 위한 전형적인 프로세스를 보면, 일반적으로 유닛 테스트와 통합 테스트 수준에서 개발 검증은 잘 확립돼 있다. 이 과정은 코딩, 빌드, 정의된 기능 또는 특정 제어장치의 릴리스에서 시작되고, 이후 시스템 레벨 테스트와 수용(acceptance) 테스트로 넘어가는데, 여기서 복잡성이 대폭 높아진다. 이것이 여러 테스트 팀에 의미하는 것은, 현재의 유닛 테스트와 통합 테스트, 특히 제어기 기능 수준의 테스트는 주로 소프트웨어 개발팀 영역에 속하지만, 시스템 레벨 및 수용 테스트로의 이동은 테스트, 테스트 팩토리와 시뮬레이션 팀과의 통합 필요성이 커진다는 것이다. 본질적으로, 시뮬레이션 팀이 첨단 시뮬레이션에 중점을 두고 도로 위의 차량을 정확히 재현하는 고충실도 모델, 매우 높은 수준의 '디지털 트윈(digital twin)’을 생성하는 것이다.
‘환경’ 측면에서도, 유닛 수준까지 테스트는 주로 개발자 환경에서 이뤄지지만, 시스템 레벨로 넘어가면 '디지털 트윈'을 다루기 시작한다. 이는 클라우드에서 고충실도 시뮬레이션을 실행하는 것을 의미하는 동시에 HIL 테스트베드, 컴포넌트 테스트베드, 궁극적으로는 실차 테스트가 필요함을 말한다.
“현재 AVL이 보고 있는 것, 초점은 이런 다양한 테스트 환경 전반에 걸쳐 일정 수준의 테스트와 통합이 필요하다는 것입니다. 요구사항으로부터 테스트 사양을 자동으로 생성하고 이를 여러 환경에 배포하는 것입니다. 현재 AI를 활용해 테스트 케이스와 요구사항을 자동으로 생성하는 가능성을 보고 있고 이는 시뮬레이션 수준에서도 마찬가지입니다. AVL은 고충실도 시뮬레이션 모델 생성에 많은 투자를 했고, 이런 모델을 SIL이나 클라우드 환경뿐만 아니라 실제 테스트 환경에서도 원활하게 재사용할 수 있도록 하고 있습니다. 이미 생성된 기존 산출물을 재사용하고 이를 자동차 개발 프로세스의 모든 테스트 환경에 배포할 수 있는 것이 중요합니다.” 맥칼리어 부장이 말했다.
시스템 레벨의 복잡성
BMW의 최근 발표는 ‘클라우드 기반 ECU 에뮬레이션이 핵심’이라고 강조한다. 가상 제어장치의 에뮬레이션에 대한 관심이 커졌고, 시장에도 다양한 기회와 솔루션이 등장하고 있다. 하지만, BMW는 현재 약 65,000대의 머신 또는 개발자 환경이 클라우드에서 특정 기능 수준에서 운영되고 있다면서, 이것이 주요 병목 현상이나 도전 과제는 아니라고 했다.
즉, 그들의 주요 도전 과제는 시스템 수준과 수용 테스트에서 발생한다. 일반적으로 유닛 및 통합 수준에서 테스트는 기능 및 제어에 대해 매우 잘 정의돼 있을 뿐만 아니라 높은 수준의 DevOps를 구현하고 있다. 그런데 이는 주로 소프트웨어 개발팀에 국한돼 있다.
시스템 수준에서는 여러 제어기를 통합하고 이들의 동작을 차량과 같은 실제 시스템에서 테스트하는 것이 중요하다. 단순히 제어기가 오픈 루프에서 작동할 수 있음을 보여주는 통합 테스트를 넘어, 클로즈드 루프 환경에 전개되고 높은 수준의 시뮬레이션 충실도와 결합해야 한다. 클라우드에서 실행되는 시스템 테스트와 최종적으로 차량에 배포돼 실행될 시스템 간 격차를 메워야 하는 것이다.
이런 필요성은 일부 수용 테스트에서 하드웨어나 제어장치가 완전치 않을 수 있기 때문이다. 따라서 가상 제어기와 실제 제어기를 통합하고 이를 관련 테스트 환경에 배포해야 한다. 일반적으로 이것은 HIL 테스트베드나 컴포넌트 테스트베드를 사용해 수행하고 최종 차량에 배포한다.
맥칼리어 부장은 “BMW에 따르면, 그들에게 가장 큰 도전은 시스템 수준에서 확장 가능한 CI 시스템을 구축하는 것이고, 높은 품질의 소프트웨어 주기(cadance)를 보장하는 것입니다. 이것은 다른 고객들에게 듣고 있는 것과 일치합니다. 우리가 주목하는 것은 'Shift Left' 테스트로의 대전환입니다. 시스템 레벨 테스트에서 복잡성과 통합을 관리하면서 여러 환경에서 테스트를 진행해야 하며, 단순히 가상 환경만이 아니라는 점에서 어려움이 있습니다”라고 말했다.
시스템 레벨 통합에서 AVL이 보고 있는 것은 협업 부족과 높은 복잡성이다. 이는 조직 내 자산과 아티팩트를 확장하는 것을 매우 어렵게 만든다. 일반적으로 팀은 컨트롤러 소프트웨어 모듈, 모델 또는 테스트 케이스와 같은 좁은 자산에 집중하고 있고, 이 과정은 종종 수동적이고 반복적이다. 누가 모든 것을 관리하고 제어하며 통합된 다양한 구성요소를 처리할 책임이 있는지를 포함한 소프트웨어 개발자, 테스트 엔지니어, 시뮬레이션 엔지니어 간 효과적인 협업 방법이 요구된다. 시스템 레벨 테스트도 HIL 시스템에 통합될 때 현재의 CI 환경에 완전히 최적화돼 있지 않다.
“우리가 관찰한 바는, ADAS, 인포테인먼트, 파워트레인 개발 등 대부분 사용 사례에서 공통적으로 보이는 흐름이 요구사항에서 시작해, 하드웨어와 소프트웨어뿐만 아니라 시뮬레이션 모델과 테스트 케이스를 함께 정의하는 방향입니다. 이런 접근 방식은 새로운 개념은 아니지만, 갈수록 중요해지고 있습니다.”
따라서 AI를 활용해 시뮬레이션 모델을 자동 생성하고 매개변수를 설정하는 연구개발이 활발히 진행되고 있다. 테스트 케이스도 마찬가지다. 요구사항이 잘 문서화되고 구조화되면, 애플리케이션 라이프사이클 관리(ALM) 및 제품 수명주기 관리(PLM)와 같은 툴과 함께 사용해 테스트 케이스, 시나리오, 종속성 정의를 자동화할 수 있는 기회도 있다. 모델 생성도 동일한 접근 방식이 적용된다.
“현재 모델 생성은 주로 사용자 경험 기반의 수동적인 과정입니다. 그러나 AI를 활용해 이 과정을 완전히 자동화하고 한 단계 더 발전시킬 수 있는 많은 가능성이 있습니다. 목표는 여러 출처에서 오는 시뮬레이션 모델, 테스트 케이스, 컨트롤러 소프트웨어와 같은 자산을 함께 구성하는 것입니다. 그런 다음, 이 구성을 실행하고 보고서를 생성하고, 필요에 따라 피드백을 보내 새로운 요구사항을 업데이트하거나 생성합니다.”
DevOps Pilot
현재 자동차 업계는 자동화된 CI/CD 및 DevOps 환경을 통합해 자동 배포, 테스트를 수행하는 데 중점을 두고 있다. 여기에는 AI 기반 개발 모델 적용 및 조정이 포함되는데, 이런 프로세스는 당사자 간 효과적인 협업을 가능하게 하는 동시에 추가적인 복잡성과 도전 과제를 수반한다.
“AVL은 이런 복잡성을 해결하기 위해 마이크로소프트와 전략적으로 협력하고 있습니다. 마이크로소프트를 선택한 이유는 IT 인프라, CI/CD 배포 및 관련 분야에서 광범위한 경험을 갖고 있기 때문입니다. 우리가 개발 중인 솔루션 중 하나가 바로 ‘DevOps Pilot’인데, 이것은 자동화의 수준을 높이면서 CI/CD를 자동차 개발 프로세스에 통합하는 시도입니다.”
AVL이 제공하는 DevOps Pilot은 기본적으로 협업 플랫폼이다. 시뮬레이션 팀, 내외부 소스, 컨트롤러 모델 소프트웨어, 테스트 케이스 등 다양한 출처에서 오는 여러 아티팩트, 그리고 ALM, PLM을 연결한다.
요약하면, ▶CI/CD 프로세스를 보다 간단히 구축해 복잡한 환경을 단순화하고 ▶개발 검증 시나리오를 수동적인 개발 툴 변경 없이 하나의 통합 환경에서 구현하며 ▶사용자 특화 CI 환경을 구축해 이미 구축된 테스트 환경이나 차량 개발 환경을 연동할 수 있다. ▶즉시 적용 가능한 플랫폼으로 유기적이면서도 자동화된 CI/CD 개발 검증 환경을 구축해 개발, 검증 시간을 단축하고 ▶이미 사용하고 있는 툴들을 연동해 개발 품질을 유지할 수 있으며 ▶개발 단계별 추적성을 통해 문제 발생 시 신속한 문제 원인 파악 및 해결이 가능하다.
맥칼리어 부장은 “우리는 HIL까지 확장, 배포할 때도 자동 테스트 환경을 구성할 수 있도록 했습니다. 또, 더욱 자동화된 배포와 CI를 실제 테스트 환경으로 확장하려고 합니다”라고 말했다.
시스템은 기본적으로 자동으로 구성된다. 구성된 내용은 해당 테스트 환경에 맞게 설정된다. 이 환경은 클라우드일 수도 있고 HIL일 수도 있다. 프로젝트가 구성되면, 자동으로 테스트를 수행해 모든 연결이 올바르게 설정되는지 확인한다. 정의된 테스트를 실행하고, KPI를 설정해 필요한 기준을 통과하도록 검증한다. SIL 구성 설정이 완료되면, 클라우드에 배포할 수 있고, 테스트 엔지니어와 테스트 커뮤니티가 이를 활용해 테스트를 실행할 수 있다. 테스트는 완전히 자동화된 방식으로 수행되거나, 필요에 따라 사전 정의된 테스트 환경을 사용할 수도 있다.
“시스템은 툴에 독립적입니다. 다양한 출처와 공급업체, 벤더로부터 아티팩트를 인식하고 처리합니다. 이런 아티팩트를 받아들여 사용자 정의 차량 변형에 따라 패키지를 자동으로 구성할 수 있습니다. 이것은 하위 수준, 공장 수준, 또는 상위 차량 수준일 수 있습니다. 또, 대상 환경을 지정하면 시스템이 자동으로 구성을 배포합니다.”
AVL은 클라우드 및 로컬 HPC 환경으로의 확장을 지원하며, HIL 시스템에 대한 초기 배포 버전도 개발 중이다. 예를 들어, 이 과정은 여러 제어장치를 고정밀 시뮬레이션 모델에 연결하는 것을 포함하며, 모델은 차량과 그 환경을 정확하게 표현한다. 또, 특정 OEM 요구사항이 있는 경우, 미리 정의된 주행 사이클, 기능 테스트, 안전 테스트, 또는 사이버 보안 테스트와 같은 요구사항을 시스템에 통합할 수 있다.
시스템은 헤드리스 모드나 전체 클라우드 환경에서 실행될 수 있다. 수동 테스트를 위해 테스트 환경을 자동으로 생성할 수도 있다. 예를 들어, OEM이 수동 테스트를 수행하고자 할 경우, 시스템은 필요한 모든 툴과 구성을 포함한 테스트 환경을 자동으로 생성한다. 이런 유연성은 테스트가 전통적인 방식, 예를 들어 테스트베드에서 수행되는 것과 유사하게 이뤄지도록 한다.
“우리의 접근 방식은 테스트 시스템에서 I/O 기능과 같은 관련 아티팩트를 통합할 수 있는 상호 구성 레이어를 개발하는 것입니다. 여기에는 기존 시뮬레이션 모델, 테스트 케이스, 제어기 소프트웨어, HIL 시스템의 I/O 구성 등이 포함됩니다. 이런 요소는 DevOps Pilot으로 가져와 필요에 따라 새 시뮬레이션 모델을 통합하거나 재구성할 수 있습니다. 재구성한 후, 시스템은 업데이트된 시뮬레이션 모델과 테스트 케이스를 자동으로 HIL 시스템에 배포합니다. 시뮬레이션 모델이 HIL 하드웨어와 호환되며, 테스트 케이스가 적절히 정렬됩니다.”
협업의 중요성
AVL 관점에서, SDV는 강력한 협업과 파트너십이 필수적이다.
AVL의 초점은 시스템 레벨의 통합에 있으며, 이는 다양한 이해관계자들을 통합해야 하는 것이다.
“ADAS, EV, 전통적인 파워트레인 또는 사이버 보안 등 어떤 사용 사례든 다양한 이해관계자들이 협력해야 합니다. 우리는 애자일 개발 방식으로의 전환이 필요하고 상당한 변화 관리가 필요합니다. 레거시 시스템과 프로세스를 과소평가해서는 안 되며, 애자일 방법론에 적응하기 위해 구조적인 변화를 수반해야 합니다. 이런 모든 도전을 AVL이 지원하고, 개발 과정에 더 높은 수준의 자동화를 구현하기 위해 지속적인 노력을 기울이고 있습니다.” 맥칼리스터 부장이 말했다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>