2016년 3월 15일 화요일

원전 계측제어 소프트웨어 V&V 적용기술

그 어떤 산업보다도 ‘안전 운영’을 최우선으로 하는 원전계통의 운영 환경을 들여다 보면, 최근 들어 디지털 장치의 도입 및 적용이 점차 증가하고 있는 추세이다. 디지털 장치의 사용은 간편한 장치로써 다양한 제어 기능이 가능하기 때문에 편리하다는 장점이 있고, 여러 가지 운영 측면에서 효율성이 높기 때문이다. 이에 따라, 소프트웨어의 ‘안전성 보증을 위한 소프트웨어의 검증 기술’이 중요한 이슈로 대두되고 있다. 
최근 소프트웨어의 안전성 검증 관련 국제표준의 대응체계는 과거 소프트웨어 중심의 프로세스 안전성 검증개념에서 시스템과 소프트웨어를 ‘동시에’ 분석하는 개념으로 변화하고 있다. 이 같은 변화는 소프트웨어를 전체 시스템의 일부로 인식하여, 시스템 레벨에서 위험성 분석을 선행하고, 시스템 위험분석 결과로 도출된 시스템 안전요구사항을 바탕으로 소프트웨어 안전요구사항을 도출하는 것을 의미한다. 
 하지만 지금까지의 국내 SW V&V(Verification&Validation/ SW 안전검증) 적용 기술 수준 및 현황은 SW safety life cycle 개발 프로세스 이해 부족 및 SW safety life cycle 일부 단계 시범적용 수준이라 설명될 시점이므로 걸음마 단계라고 볼 수 있다. 
 이와 관련해, 국내 안전 소프트웨어 개발 공급자가 필수적으로 이해하여야 하는 safety life cycle의 선택방안과 안전 소프트웨어 개발을 위한 단계별 산출물에 관한 기본적인 가이드에 대해 한국SGS의 장우현 전문위원으로부터 조언을 구했다.

<한국 SGS 장우현 전문위원>



Q: SW V&V(Verification&Validation)는 왜 필요한가요?
 국내의 여러 가지 산업 분야에서 공통적으로 겪고 있는 애로사항이 바로 ‘소프트웨어 안전성을 어떻게 보증하는가’에 대한 고민이라고 할 수 있습니다. 소프트웨어 안전성을 보증한다는 의미는 소프트웨어가 가지고 있는 여러 가지 속성 중에서 특히 안전기능(Safety Function)이 올바르게 선정되었는지를 확인할 수 있어야 하고, 최종 개발 결과물이 수행하는 안전기능이 정상적으로 작동하는가를 확인하는 것입니다. 
 예를 들어, “원자로를 안전하게 보호할 수 있고, 위험성을 알릴 수 있는 SW를 개발하자” 라고 사람들이 먼저 생각을 합니다. 그러면 중간에 사업계획서를 만들고, 요구사항 명세서를 정리하고, 상세기술 명세서를 만들고, 소스코드를 만드는 등... 여러 직원들의 손과 머리를 거치고 나면 처음에 의도했던 바와 전혀 다른 결과물이 나올 수 있게 됩니다. 그렇기 때문에 SW V&V의 목적은 처음의 요구사항과 최종 결과물의 일치성을 확보하기 위해서고, 그중에서도 Safety Function이 원래 의도한대로 개발되었는가를 검사하는 것이 SW V&V입니다. [그림1 참조]
<그림 1> 실제 요구사항과 결과물인 소스코드의 차이발생
 사실 이러한 SW 품질검증의 개념은 시대에 따라 많은 변화를 거쳐왔습니다. 1990년대에 ‘Life cycle’이라는 말이 처음 등장하면서 프로세스를 검증하자는 움직임이 시작되었죠. 그리고 2000년대에 들어오면서 ‘Safety’가 추가되었습니다. 여기에다  2012년부터는 국제표준에 ‘System’이라는 개념이 추가되면서, ‘System&SW’로 변화되었죠.  [그림 2 참조] 
이것은 결국, 시스템을 고려하지 않고는 SW 안전 문제를 보증할 수 없다는 것입니다. SW가  HW에 내장되어 상호 인터랙션을 하기 때문에 시스템 전체의 시각으로 바라보지 않으면 SW안전은 확보될 수 없다는 뜻이죠. 원자력 관련 국제표준의 변화 상황도 동일합니다.[그림 3 참조]
<그림 2> SW 품질 검증 개념의 변화과정
<그림 3> 국제 표준 IEEE의 최근 동향

댓글 없음 :

댓글 쓰기