앞서 4-1화에서는 SWC의 종류와 그 역할에 대하여 살펴 봤습니다.
AUTOSAR에서 Atomic Software Component에 Atomic이란 단어에 집중해야 합니다. 이 단어의 원래의 의미대로, 더 이상 나누어지지 않는, 원자의 라는 의미를 가지고 있습니다.
실제 Atomic SWC는 더 작은 SWC로 나누어 지지 않고, 하나의 ECU에 매핑 될 수 있습니다.
이제 그럼 SWC와 Runnable에 대하여 이야기 하도록 하겠습니다. 이 부분을 저는 각 신체와 그 신경이라고 비유하겠습니다. SWC는 신체 부위가 되고, Runnable은 신경이라고 하겠습니다. 우리의 신경들의 뇌(OS)의 업무 할당을 받아 움직이게 됩니다. 뇌에서 신경에서 손을 움직여라, 타자를 쳐라 라는 명령어를 합니다. 그 신경들은 손을 움직이게 합니다. 하지만 만약에 신경이 없다면, 손은 움직이지 않겠죠?
따라서 각 기능성을 대표하는 손과 그 손에 관련된 신경들은 뇌에 연동이 됩니다.
그러면 이제 SWC의 구성에 대하여 살펴보도록 하겠습니다. SWC는 Runnable로 구성이 됩니다. 이 Runnable들은 Run-Time Environment에 의해 구동이 됩니다. (물론, 특정 RTE Event가 래펀러스 될 경우에는 다른 SWC가 이를 구동시킬 수 있습니다. )
이 Runnable에 대해서 RTE Level의 디자인이라고 표현하는 것은 RTE에 의해서 Trigger되는 경우가 많기 때문입니다. (하단 RTE의 역할 참조.) 이 Runnable들은 Task의 구성요소로 실행됩니다.
따라서, 이 부분에 대해서 SWC는 Runnable들을 포함하고 있다라는 것을 인지하고 있어야 합니다. 단, 앞서 강의에서 이야기 했던 Internal Behavior가 없는 Parameter SWC, Composition SWC는 제외 됩니다.
그러면, 우리는 Implementation에 대하여 살펴보겠습니다. Implementation은 가장 쉽게 이야기 하기 편하게 코드라고 생각하시면 됩니다. 즉, RTE에 의해서 실행될 Runnable에 따라서, 각 코드들은 구현될 것입니다.
이제 우리는 RTE의 역할에 대하여 살펴보겠습니다.
전 RTE를 뇌와 각 신경을 연결하는 시냅스로 생각합니다만, 많은 사람들은 이에 대해 반발하고 합니다. 하지만, 일단 이 블로그에서는 저의 마음입니다.
일단 RTE는 Runnable을 구동하는 역할을 가지고 있습니다. 구동의 조건이 주기적이거나, 아니면 다른 통신의 결과로 구동시킬 수 있습니다. 또한 BSW에 있는 AUTOSAR Service와 통신을 하는 등에 역할을 담당합니다.
또한 데이터를 읽고 쓸 때, 다양한 목적을 가지고 있습니다. 물론 Runnable의 실행의 결과인 데이터 Read/Write는 당연히 RTE역할이라고 보면 됩니다.
우리는 이번 화에서 간단한게 SWC의 구성인 Runnable과 Implementation, RTE의 역할에 대하여 살펴 보왔습니다.
다음화에서는 6화 VFB의 Communication에 대하여 살펴보겠습니다.
'AUTOMOTIVE&IT SW > AUTOSAR 강좌' 카테고리의 다른 글
[AUTOSAR VFB]제6-1화 VFB에서의 Communication(Client-Server) (0) | 2017.09.12 |
---|---|
[AUTOSAR VFB]제6화 VFB에서의 Communication(Sender-Receiver) (0) | 2017.09.05 |
[AUTOSAR VFB]제4-1화 Software Component 종류와 역할 (2) | 2017.09.01 |
[AUTOSAR VFB]제4화 Component (0) | 2017.09.01 |
[AUTOSAR VFB]제3-2화 Interface의 종류에 따른 구성요소 (0) | 2017.08.31 |