Nnnnnnnnn
AUTOSAR SW Architecture 본문
Layerd SW Architecture
가장 많이 쓰이는 SW Architecture의 하나인 Layered SW Architecture를 살펴보면, 제일 윗 단 Application Layer부터 순서대로 AUTOSAR Runtime Environment(RTE), Service Layer, ECU Abstraction Layer, Microcontroller Abstraction Layer(MCAL), Microcontroller이다. Application Layer은 Application Software Components(SW-C)이다. 상위층은 아래층에 대해 dependent하지만, 아래층은 윗층에 dependent 하지않다. Service Layer가 아래층인 ECU Abstraction과 Microcontroller Abstration Layer와 같은 층인 부분이 있는데, 이는 이 Layer의 일부 기능이 해당 층과 연관되어 있다는 뜻이다. RTE부분의 아래층은 BSW이다.
SW-Component에서 Component란 SW를 조립하는 부품의 단위라고 할 수 있다. 이는 하나의 함수일수도 있고 여러개의 함수를 모아논 것일수도 있다. AUTOSAR의 경우 몇개의 함수(모듈)가 모여 컴포넌트를 구성한다. SW-C는 서로간에 연결할 수는 없다. 그러나 아래층은 RTE를 통해 연결이 가능하다. RTE 아래층인 BSW 내에서는 모듈간 연결이 가능하다. ECU 들은 서로 나누어져 있지만 RTE가 자동으로 생성을 해준다.
Microcontroller를 통해 들어온 것이 MCAL을 거칠 때, 그 종류는 다양할 수 있다. 하지만 그 윗층인 ECU Abstraction Layer에서 다르더라도 같은 형식으로 나오게끔 해준다. RTE 아래층에 있는 Complex Drives의 예는 속도 문제 떄문에 하드웨어를 직접 가야하는 경우로 들 수 있다. 또는 MCAL이 제공하지 않는 기술이 필요한 경우이다. 각각 Layer층에서, 두개 이상의 다른 Layer로 접근하는 경우는 허락되지 않는다. 단 OS와 Complex driver는 Hardware로 직접 접근이 가능하다.
RTE는 각 ECU마다 다르다. 아래층인 BSW는 안드로이드를 예를 든다면, 안드로이드의 경우는 표준화된 API가 있다. 하지만 BSW의 경우 각각 이슈에 따라 제너레이션된다.(RTE에 대한 configuration)
AUTOSAR System Design Process
SW Compent Description(VFB모델)에서 SW Component의 경우는 따로 코딩을 해야한다. SW Component Description과 전체 시스템 구조인 System Description, 하드웨어 spec인 ECU Resource Description을 기반으로 Configuration System & generate extracts of ECU descriptions 단계로 넘어가 전체적인 구조가 만들어진다.(XML) 그리고 개개 이슈에 대한 configuration이 따로 이루어지는 Configure each ECU 단계를 지나 그 다음 단계에서, 따로 코딩해놓은 SW Component와 함께 Generate SW executables for each ECU가 이루어지고 최종적으로 각 ECU에 대한 SW 실행이 가능해진다.
Verification과 Validation의 차이
Verification을 쉽게 예를 들면, 팀원과 함께 짜놓은 main함수에 대해, 각 모델 단계에서 그 과정을 검토하는 test의 경우를 verification이라고 할 수 있다. Validation의 경우, 어떠한 input과 output이 있는 System을 예로 들면 System의 경우는 black box라 고객의 입장에서 보이지 않는다. 고객이 버튼을 눌러보고 잘 된다라고 하는 것을 validation이라고 할 수 있다.
기능적 요구사항은 Func과 비기능적 요구사항인 Quality Attribute의 차이저은, 쉽게 예로 들어 버튼을 들 수 있다. 버튼을 눌러 0이 나온다는 것은 Func라고 할 수 있고 버튼을 누르면 몇 초안에 결과가 나온다라는 것은 비기능적 요구사항이다. 기능적 요구사항이 존재하지 않으면 비기능적 요구사항은 나올 수가 없다.
'AUTOSAR' 카테고리의 다른 글
AUTOSAR OS-1 (0) | 2018.01.31 |
---|---|
Communication Specifications (0) | 2018.01.24 |
RTE & Internal behavior (0) | 2018.01.24 |
MDE (0) | 2018.01.17 |
AUTOSAR (0) | 2018.01.15 |