초록 |
최근 누리호의 발사와 함께 항공우주 시스템이 다시금 주목을 받고 있다. 안전 우선 시스템은항공, 우주, 국방 분야 또는 인간과 사회의 안전과 깊이 관계되어 시스템의 안정적인 동작을 최우선으로 여기는 시스템이다. 기존의 안전 우선 시스템은 오류의 전이 방지 등을 이유로 매우 보수적으로 그림 1의 기존 연방 시스템(Federated System)과 같이 구성하였다. 현재는 기존 여러 개의 시스템에 분산하여 응용소프트웨어를 실행했던 것과 달리 고성능 프로세서 기반의 하나의 시스템에서 분산된 시스템을 통합하는 모듈형이 사용되고 있으며, 항공우주 표준인 ARINC 653[1]에서 이를 정의하고 있다.<br /> <br /> ARINC 653은 통합 모듈 항공전자(IMA, Integrated Modular Avionics)라는 개념으로 사용된다. ARINC 653은 항공우주전자시스템에 사용되는 소프트웨어 개발을 위한 규격으로서 실시간 운영체제 API 표준과, 운영체제와 그 위에서 동작하는 응용프로그램 간의 인터페이스인 APEX(APplication EXecutive)를 규정한다. 그 배경을 보면 다음과 같다. 모듈형 항공전자시스템은 기존에 여러 전자장비를 하나의 컴퓨팅 장비로 통합함으로써 사이즈와 무게, 그리고 전력 소모를 줄이는 효과는 있었다. 그러나 시스템 중 하나의 응용시스템의 오류가 전체 통합시스템에 전파될 가능성에 노출되게 되어, 각 응용들의 독립성을 보장하여 응용 간 오류 전파를 근본적으로 차단하는 방법이 연구되었다. 이에 각 응용 간 강력한 독립성을 보장하기 위해서 시간적 공간적 파티셔닝 개념을 도입하였고 항공용 전자기기를 위한 실시간 운영체제와 응용프로그램 간의 인터페이스(APplication/EXecutive: APEX)가 정의되었다. ARINC 653 표준규격에 맞게 개발된 시스템은 파티션들이 각각 시간적 공간적으로 분리되어 서로 영향을 미치지 못한다. 파티션들은 시스템 설정에 의해 고정된 스케줄링으로 반복되며 운영 중에는 변하지 않도록 함으로써 시간적 독립성이 보장된다. 또한 파티션마다 미리 정해진 메모리영역을 벗어나지 못하도록 함으로써 공간적으로 독립성을 가지도록 한다. 따라서 시스템은 태스크의 수행이 시간에 제약을 있어 제한 시간(deadline) 이내에 응용프로그램의 동작이 완료되는 것을 보장하거나, 정해진 시간에 응용프로그램의 특정 작업이 수행되는 것을 보장한다. 또한 오류의 전이 방지를 위해 특정 응용프로그램의 동작이 멈추었다 하더라도 다른 응용프로그램에 영향을 미치지 않도록 각 응용프로그램이 사용하는 시간을 독립적으로 분할하여 사용한다. 그리고 파티션은 각 응용프로그램이 실행될 때 다른 응용프로그램이 실행되는 메모리영역을 침범하지 못하게 하여 오류의 전이를 방지하는 역할을 한다.<br /> <br /> 그러나 시간/공간 분할의 기술뿐만 아니라 안전 우선 시스템이 안정적으로 동작하기 위해서는 원활한 전력공급도 중요한 요소일 수 있다. 특정한 순간에 적절한 전력이 공급되지 않을 경우 필요한 특정 시스템 또는 전체 시스템 오류가 발생할 수 있기 때문이다. ARINC 653 표준에서는 시스템 간 시간/공간 분할을 통해 소프트웨어적인 오류는 최소화하였으나, 각 시스템들이 소모하는 전력에 대한 고려가 없다는 문제가 있다. 안전 우선 시스템에서 전력공급이 원활하게 이루어지지 않을 경우 특정 소프트웨어 파티션 오류가 하드웨어로 전이될 수 있다. 또한 안전 우선 시스템의 경우 사용하는 전원공급장치(배터리 포함)를 이용해 사용 가능한 정확한 수명 시간의 예측이 가능해야 안전성을 더욱 향상시킬 수 있다.<br /> 본 보고서는 항공 시스템과 같은 안전을 우선시하는 시스템 환경에서 사용되는 시간과 공간 분할이 적용된 ARINC 653 표준 소프트웨어의 고신뢰성을 향상시키기 위하여 응용프로그램의 에너지사용량을 분할 제어할 수 있는 방법을 소개한다. 시간분할과 공간분할이 적용된 안전 우선 시스템에 에너지사용량을 분할하여 제어할 수 있다면, 시스템이 동작되는 동안 각 응용프로그램은 일정한 에너지 공급을 가능하게 하여 전체 시스템을 안전하게 동작시킬 수 있을 뿐만 아니라 전체 시스템 또는 각 응용프로그램을 동작시킬 수 있는 최대 수명을 사전에 결정할 수 있게 하여 시스템의 안전도를 보다 향상시킬 수 있을 것이다.<br /> <br /> |