OSEK 기반 멀티태스킹 아키텍처를 위한 MDPS 펌웨어 리엔지니어링

아직도 많은 자동차 ECU에서 펌웨어 구조의 소프트웨어가 사용되고 있다. 이런 형태의 소프트웨어는 모듈화 되어 있지 않고, 태스크들로 분화되어 있지 않아서, 여기에 새로운 기능을 추가하거나 OSEK과 같은 실시간 운영체제를 탑재하는 것은 매우 어려운 일이다. 따라서 일체형 펌웨어의 구조를 개선하여 현대화하는 작업이 필요한데, 이는 전형적인 소프트웨어 리엔지니어링의 문제이다. 본 논문에서는 일체형 펌웨어로 된 전동식 스티어링(MDPS) 소프트웨어를 OSEK 기반의 멀티태스킹 구조로 리엔지니어링하는 사례와 적용기술을 보고한다. 우리는 (1) 리버스 엔지니어링, (2) 재설계, (3) 포워드 엔지니어링으로 구성된 Byrne의 리엔지니어링 방법론을 따르면서, 물리적 코드 분석, 설계 요소 도출, 플랫폼 구성, 응용과 하드웨어 의존부 재구성의 기법을 사용한다. 본 연구의 결과로 10만 라인 이상의 펌웨어를 효과적으로 모듈화 하였고, 멀티태스크화 하여 OSEK 기반 플랫폼에서 수행 가능한 MDPS 소프트웨어 아키텍처로 재설계 하였다.