Software architecture for fail operation logic
Fail operation에서의 SW Architecture에 대한 글 기존에 자동차 안전(Safety)분야에 적용되어 있는 Fail-safe 및 functional safety에서 Autonomous Driving System(ADS) 또는 Autonomous Vehicle(AV)에 적용되어야 하는 Fail operation 개념을 적용한 기본적인 소프트웨어 아키텍처에 대해 쉽게 정리된 논문이 있어서 아래와 같이 요약해 본다 (Comparison of fail-operation software architecture from the viewpoint of an automotive application)
일반적으로 Redundancy concept을 많이 적용하는데, 관련하여 차량에 적용하는 Redundancy는 다음과 같이 요약할 수 있다.
1. System redundancy
2. Hardware redundancy
3. Software redundancy
4. Time redundancy
5. Information(data) redundancy
일반적으로 소프트웨어 아키텍처의 뷰(View)는 다양한 형태의 Graphical view로 표현을 할 수 있는데, 다음과 같은 내용을 설명하기 위해서는 각 항목별로 뷰의 형태를 연결 할 수 있다.
1. logic view : Static block diagram with their inputs and outputs (based on SW 컴포넌트)
2. Development view : logic view로 대체
3. Process view : Sequence diagram showing the interaction time-line between the SWCs
4. Physical view : Physical view는 물리적으로 Software가 분리되어 있을때 (예, other micro controller)
5. Scenario view : Use case, event diagram etc.
[Basic SW component architecture]
기본적으로 3개의 SW Component의 구조를 가진 아키텍처가 존대한다고 가정을 하면 아래와 같은
3가지 구조(Block diagram, Sequence diagram, State diagram)으로 Static view와 Dynamic view를 표현할 수 있다.
Generic single version architecture
Nversion Programming
N-sef checking programming