728x90
하드웨어의 경우: TMR(Triple Modular Redundancy), RAID 등
- Recobery block: alternative의 적합성 여부를 Acceptance test로 검사
- 실패한 경우 후보가 있으면 alternative 실행
- 실패하는 경우를 대비한 checkpoint estabilish / restore
- 문제점
- acceptance test에서 문제가 발생하는 경우 fail-tolerance 불가능.
- 비교적 시간이 걸리므로 domain dependent(실시간 sw에 영향을 미침).
- acceptance test와 alternative간의 근본적인 차이가 없음.
- alternative간의 common mode failure를 피하기 어렵고 우선순위 설정 어려움.
- 지원하는 언어가 없고 checkpoint가 복잡도를 증가시켜 실제로 사용되지 않음.
- N-version programming: 같은 명세로부터 독립적인 프로그램을 N개 만든 후 voting
- 독립적인 프로그램 - 다른 개발 팀, 다른 언어 등
- 문제점
- voting 로직 자체에도 오류가 발생 가능.
- majority voting을 규정하기 어려움.
- 서로 다른 버전의 소프트웨어에서 같은 failure 발생 가능.
- 신뢰도가 생각보다 높지 않음(각각의 failure가 통계적으로 독립적이지 않음).
- 대안이없으므로 사용
'대학공부 > 소프트웨어공학' 카테고리의 다른 글
Software Testing (0) | 2023.10.06 |
---|---|
Software Metric: Cost Estimation, COCOMO, Function Point (0) | 2023.10.06 |
소프트웨어 개발방법론 (0) | 2023.10.06 |
SPI, CMMI, 기타 용어 (0) | 2023.10.06 |
Formal Methods 정형 기법 (0) | 2023.10.06 |