본 프로젝트는 임베디드 시스템 개발의 효율성 문제를 해결하기 위해 경량 루비를 도입합니다.
기존 임베디드 개발의 과제
- 현재 임베디드 개발은 C 언어와 RTOS 기반으로, 복잡성, 대규모화, 짧은 개발 주기, 저비용 요구로 인해 효율성 저하에 직면해 있습니다.
경량 루비(Lightweight Ruby)의 핵심 기술
-
경량화 및 이식성: 실행 크기와 메모리 사용량을 최소화하며 C99 표준에만 의존하여 다양한 OS 환경(OS 없음, RTOS)에 높은 이식성을 제공합니다.
-
소프트 실시간 처리: 증분 가비지 컬렉션(GC)을 통해 실시간 성능을 확보합니다.
-
하드웨어 가속: 마이컴, RTOS, 경량 루비 VM(KL-Ruby VM)을 FPGA에 통합, VM 핵심 기능(해시 처리, GC)의 하드웨어 가속을 추진합니다.
-
도메인별 라이브러리: 자동차, 모바일 등 특정 도메인에 특화된 라이브러리를 지원합니다.
컴포넌트 기반 설계 (mruby)
-
경량 루비는 컴파일러, 가상 머신(LightVM), 라이브러리, 보조 도구 등으로 구성된 모듈화된 컴포넌트 기반으로 설계됩니다.
-
느슨하게 결합된 컴포넌트 조합으로 바이트코드 컴파일러, 런타임 전용 루비 등 다양한 도구 및 런타임 구성이 가능합니다.
-
라이브러리는 VM 동작 필수 ‘미니멀’ 라이브러리(C99 기반)와 JIS X3017 표준 ‘표준’ 라이브러리(POSIX 기반)로 구성됩니다.
연구 진행 및 계획
-
‘루비 보드’ 개발 및 VXWorks RTOS 기반 로봇 제어 실험이 진행 중입니다.
-
알파 버전은 7월 말, 베타 버전은 9월 말 출시 예정이며, 10월부터 3개 임베디드 기업에서 평가 및 검증이 시작됩니다.
-
Node.js와 유사하게 표준 I/O가 없는 LightVM 특성을 활용한 서버 사이드 애플리케이션 적용도 고려됩니다.