신속한 프로토타이핑이란, 다음 단계를 놓치지 않으면서도 아이디어를 단 몇 분 만에 작동하는 시스템으로 구현하는 것을 의미합니다. Vector Application Framework는 GitHub, VS Code 통합 및 바로 사용 가능한 Docker 이미지를 통해 간편한 설치 초기 설정을 제공하므로 쉽게 시작할 수 있습니다.
완전히 텍스트 기반이며 미들웨어에 구애받지 않는 접근 방식은 워크플로우를 일관되고 접근하기 쉽게 유지해 주며, 내장된 추상화 기능을 통해 프로토타입을 실제 제품 운영에 적합한 아키텍처로 발전시킬 수 있습니다. 이를 통해 초기 결과물은 첫 번째 프로토타입을 넘어 계속해서 유용하게 활용될 수 있습니다.
도전 과제
임베디드 및 분산 시스템의 신속한 프로토타이핑이란, 프로젝트 아이디어를 단 몇 분 만에 실행 가능한 프로그램과 작동하는 프로토타입으로 구현하는 과정을 말합니다. 이를 가능하게 하려면 해당 환경이 특정 요구사항을 충족해야 합니다. 여기에는 무엇보다도 뛰어난 접근성, 낮은 진입 장벽, 그리고 사용 편의성이 포함됩니다.
이러한 특성을 갖춘 체계만이 아이디어를 현실로 구현하고, 예를 들어 해커톤 환경이나 테스트 노드 구축 시 프로젝트 진행 속도를 높이는 데 기여할 수 있습니다.


안타깝게도, 실행 가능한 프로그램을 이처럼 초기 단계에서 신속하게 제작하는 것은 전체 과정의 일부에 불과합니다. 프로토타입이 양호한 것으로 판명되면, 양산 시스템에 적합한 개발 워크플로로 이관하기 위한 방안이 필요합니다. 사양 주도 개발은 양산급 소프트웨어를 제작하는 한 가지 방법이며, 자동차 산업에서 일반적으로 채택되는 관행입니다.
이 패턴에 따르면, 소프트웨어 시스템의 모델링이 먼저 이루어집니다. 그러나 이러한 작업 방식은 구현 부분을 최우선으로 하는 프로토타이핑과는 대조적입니다. 하지만 이관을 가능하게 하려면, 프로토타이핑 단계에서 생성된 기존 설계 및 구현 가공품이 사양으로의 도출을 지원해야 합니다. 그렇지 않으면 프로토타입 개발은 막다른 골목에 이르게 됩니다.
해결책
새로운 프로토타이핑 프로젝트를 시작하는 과정은 가능한 한 간편해야 합니다. 그렇기 때문에 Vector Application 체계는 평가 및 프로토타이핑 목적으로 무료로 제공됩니다. 이 커뮤니티 에디션은 특정 특별 사용 약관이 적용되며, Vector Group(vectorgrp) GitHub 조직에서 공개적으로 이용할 수 있습니다.
모든 종속성을 포함하는 전체 솔루션은 Docker 이미지로 묶여 있어 따라서 바로 사용할 수 있습니다. 또한 전용 확장 기능을 통해 널리 사용되는 개발 환경인 Microsoft Visual Studio Code(VS Code)와의 직접적인 통합이 보장됩니다.

이 확장 프로그램의 두 가지 주요 기능은, 한편으로는 간편한 프로젝트 탐색 및 작업 실행이며, 다른 한편으로는 상호작용이 가능한 소프트웨어 아키텍처 그래프 형태로 실행 파일과 모듈을 시각적으로 보여주는 것입니다.
또한, 체계의 모든 도구와 가공품은 텍스트 기반입니다. 즉, 전체 워크플로를 VS Code 내에서 완료할 수 있으므로 더 이상 도구나 창을 전환할 필요가 없습니다. GitHub Codespaces와 같은 클라우드 호스팅 개발 환경을 이용하면 웹 브라우저에서도 체계를 사용할 수 있습니다.
체계 사용을 더욱 편리하게 하기 위해 미들웨어 세부 사항은 숨겨져 있으며, 자동차 소프트웨어 분야의 도메인 특정 용어는 피하고 있습니다. 이는 전문가뿐만 아니라 모든 대상 그룹이 이해할 수 있도록 컴퓨터 과학 분야에서 확립된 일반적인 용어와 패턴을 우선적으로 사용하기 위함입니다. 본질적으로 두 가지 기본 통신 원칙, 즉 데이터 요소와 연산이 있습니다. 전자는 퍼블/서브(pub/sub) 메시징 및 이벤트 주도형 통신과 대응하며, 키-값 데이터베이스에 데이터를 영구적으로 저장하는 데에도 사용될 수 있습니다. 후자는 원격 프로시저 호출(RPC) 패턴과 일치합니다. 인터페이스를 통해 이 둘의 조합을 그룹화할 수 있습니다.
독립적인 애플리케이션 개발의 핵심적인 장점은 이른바 ‘추상화 모듈’을 통해 실현됩니다. 바로 이곳에서 애플리케이션용 인터페이스가 구체적인 미들웨어 솔루션 및 API에 mapping되는 작업이 이루어집니다. Vector SIL Kit, DDS, MICROSAR Adaptive, Eclipse S-CORE 통신 모듈 등을 비롯해 다양한 품질 수준의 해당 모듈 구현체가 존재합니다. 애플리케이션 코드와 미들웨어 솔루션을 이렇게 명확하게 분리함으로써, 프로토타이핑으로 시작하여 나중에 양산 환경으로 이관하는 프로젝트에 필요한 유연성을 확보할 수 있습니다. 예를 들어, 초기 평가 단계에서는 Vector SIL Kit를 사용하여 통합 및 실행 테스트를 수행할 수 있습니다. Software-in-the-Loop(SIL) 환경을 연결하기 위한 이 라이브러리는 오픈 소스로 제공되며, 별도의 구성 작업이 거의 필요하지 않습니다. 통합에 필요한 아티팩트는 체계에서 모두 제공됩니다. 다시 말해, 그냥 작동합니다. 이후 다음과 같은 양산 시스템은 현장에서 검증된 MICROSAR Adaptive 미들웨어로 이관할 수 있습니다. 필요한 경우, 체계를 통해 AUTOSAR 모델 아티팩트(ARXML)를 생성하여 반복적인 수정 및 맞춤화를 위한 초기 사양으로 활용할 수 있습니다. 기존 사양 아티팩트와의 병합도 체계 내에서 수행할 수 있습니다. ARXML, 다양한 IDL 포맷 또는 차량 신호 사양(VSS)을 입력 파일로 읽어들이는 것이 지원됩니다.
종합적으로 볼 때, Vector Application Framework는 분산 애플리케이션 및 마이크로프로세서 기반 시스템의 프로토타이핑부터 양산에 이르는 전 과정에 완벽하게 부합합니다. 직접 사용해 보고 여러분의 프로젝트를 시작해 보세요. 아이디어가 실행 가능한 프로그램으로 얼마나 빠르게 구현될 수 있는지 놀라게 될 것입니다.
장점
- 개방적이고 투명합니다. 체계의 API와 핵심 구성 요소는 Eclipse.SDV 프로젝트를 통해 오픈 소스로 제공됩니다.
- 손쉬운 접근성. GitHub에서 Vector Application 체계의 무료 평가용 번들을 이용할 수 있습니다.
- 사용 편의성. VS Code와의 통합 및 바로 사용 가능한 Docker 이미지 제공을 통해 별도의 사전 요구 조건 없이 사용할 수 있습니다.
- 낮은 진입 장벽. 도메인 특유의 용어는 피하고, 대신 컴퓨터 과학 필드에서 정립된 용어와 패턴을 기반으로 합니다.
- 완전히 텍스트 기반입니다. 디자인, 구현, 평가에 필요한 모든 가공품은 텍스트 형식으로 파일됩니다. 모든 워크플로 단계는 하나의 IDE에서 수행할 수 있습니다. 또한, 이러한 특성은 Git 기반 협업 및 AI agent에 완벽하게 부합합니다.
- 미들웨어 독립성. 기본이 되는 미들웨어에 대한 지식 없이도 애플리케이션 개발이 가능하며, 이는 관심사의 분리를 지원함으로써 진정한 이식성과 재사용을 가능하게 합니다.
- 프로덕션 환경으로의 이관. 체계에 의해 미들웨어 모델 아티팩트가 생성되며, 이를 통해 사양 우선 작업 모드와 프로덕션 환경으로의 이관이 가능해집니다.

