Safety Analysis of Software Architectures – “Lightweight PSSA”


항공기 domain에서 수행하는 활동의 light version을 제안함. safety analysis라고 하는 활동 중에서는 괜찮은 내용을 담고 있음.

 

 


 

Abstract

몇몇 안전 표준은 안전 프로세스의 명시적 단계에서 시스템 아키텍처 분석을 포함한다. 예를 들어 ARP 4751 & 4761과 EUROCONTROL 안전 방법론은 PSSA를 포함한다. PSSA는 제안된 시스템 아키텍처의 신뢰 가능성의 조기 평가를 제공하며 수정하는데 비용이 많이 수반 될 수 있는 라이프사이클의 뒤에 발견되지 않은 안전 문제 리스크를 줄여준다.

 

PSSA를 수행하기 위한 현존하는 가이드라인은 Fault Tree를 구축하여 제안된 아키텍처의 안전 속성을 평가하는 것을 포함한다. 이것은 비용, 공통 모드 고장 식별의 어려움, 기타 등등의 이유로 여러 문제가 있다. 또한 “초기 드래프트” 설계 문서에 대한 상대적인 형식적 분석을 수행하는 것의 개발 조직의 어려움이 있음을 경험으로부터 알고 있다. 이런 우려는 덜 형식적인 PSSA이 필요함을 보여주는 것이며, 우리는 그것을 Lightweight PSSA라고 부른다.

 

이 Lightweight PSSA는 비용 효과적인 방식으로 성숙되지 않은 아키텍처 문서의 평가를 도울 것이다. 그것은 개발자들이 제안된 아키텍처의 안전 결과의 큰 이해와 산출물을 더욱 좋게 만든다.


 

Introduction

우리가 제안하는 방법은 세 단계로 이루어져 있다. dependency 모델링, 연역적(deductive) 분석 및 귀납적(inductive) 분석. 첫 번째 단계에서 아키텍처의 다른 모듈의 서비스들간의 의존성(dependency)에 대한 정보를 수집하기 위해서 두 개의 뷰(우리는 그 뷰 들을 forward dependency view 및 backward dependency view라고 부른다.)를 구축한다. 어플리케이션 소프트웨어에 대해 우리는 “서비스”를 “특정 시간에서의 아이템의 데이터의 전달, 혹은 프로세스 통신 혹은 동기화 수행”으로 정의한다. 두 dependency 뷰는 평가의 분석 단계에서 사용된다. 그래서 분석과 특정 디자인 표현식 혹은 디자인 정보와 무관한 것 사이의 “분리 계층(insulation layer)를 형성한다.

 

평가에서 연역적 분석 단계의 목표는 아키텍처에서 잠재적으로 위험한 의존 연결고리를 정해서 분석하는 것이다. 이 연결고리는 위험(안전 프로세스의 이전 단계에서 식별된)을 고려하는 것에 의해 식별되며 모듈이 제공하는 서비스의 용어로 그것들을 기술하고 “중요한” 서비스들의 모든 의존성 및 이런 의존성을 최소화시키는 어떤 매커니즘을 정립하기 위해서 그 뷰들을 검토한다.

최종적으로 세 번째인, 귀납적 분석에서는 일부 핵심 모듈 서비스의 고장 가설이 고려되고 그들의 시스템에 대한 잠재적 효과를 전체적으로 결정한다. 그러므로 이 단계의 목적은 귀납 분석의 완전성 (completeness) (식별된 위험한 의존 관계의 관점에서)과 정확성(correctness)(특별히 고장의 잠재적 단일 원인의 관점) 모두를 검증하는 것이다.

 

전체적으로 우리 방법의 세가지 단계는 평가를 관리 가능한 점진적인 작업으로 나누었다. 각각의 단계에서는 분석가가 제안된 소프트웨어 아키텍처의 안전 영향(implication)을 더 잘 이해하고 (최소 어느 정도는) 사전 단계의 결과를 검증하도록 한다. (처음에, 모델링 단계는 완전성을 검증하고 아키텍처 기술을 명료하게 한다.)

 

이 논문의 나머지는 제안된 방법의 단계적 사용을 기술한다. 설명적 목적을 위해 가상적인 임베디드 제어 시스템의 소프트웨어 아키텍처를 사용한다.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s