기능 소프트웨어의 개발

앞서 차량의 기능 소프트웨어 를 전체 시스템으로 설명했습니다. 전체 시스템은 SWC로 기술된 하위 기능으로 세분화되며, 이러한 SWC는 정의된 인터페이스(포트)를 이용하여 정보(데이터 요소)를 다른 SWC로 전송합니다.

개념적으로, SWC 사이의 모든 통신은 VFB에 의해 처리됩니다. 개발과정 중 이 시점에는 어떤 소프트웨어 컴포넌트가 어떤 ECU에 할당되는지 아직 확정되지 않았기 때문에 이는 순전히 논리적인 관점을 이용합니다. VFB는 ECU 내의, 그리고 ECU 간의 통신을 나타냅니다. 응용 프로그램은 내재한 기술에 대해서는 어떠한 정보도 가지고 있지 않으며, 이를 통해 하드웨어와는 독립적으로 응용 소프트웨어를 개발하고 사용할 수 있습니다.

모든 SWC와 인터페이스가 설정, 정의된 이후 관련 ECU에 분배됩니다.

그 후 ECU-특정 Runtime Environment는 VFB를 구현합니다. 또한 RTE는 개별 소프트웨어 컴포넌트 간의 통신을 조직하고, 운영 체제의 도움으로 소프트웨어 컴포넌트 실행을 처리합니다.

Runnable Entity는 실행 단위이며, 이는 최종적으로 C 함수로 구현됩니다. 개발자는 Runnable entity에 대한 함수 호출을 설정하며, 후에 RTE는 이를 구현합니다. 예를 들면, 이는 주기적으로 호출하거나 데이터 수신에 맞춰 호출할 수 있습니다.

AUTOSAR는 통신 인터페이스로 포트를 제공합니다. 여기에 두 가지 방식이 있습니다.

  • Sender-Receiver(SR) 통신에서 데이터 요소는 한 소프트웨어 컴포넌트에서 다른 컴포넌트로 전송됩니다. 이러한 통신은 응용 소프트웨어 컴포넌트에서 가장 빈번히 사용됩니다.
    구문 예시: Rte_Write_<Port_Name>_<Data_Element_Name(…)
  • Client-Server(CS) 통신에서 클라이언트는 동기적이나 비동기적으로 운영을 호출합니다. 이는 함수 호출과 비견될 수 있으며 응용 프로그램과 베이직 소프트웨어(진단 모듈, 메모리 관리 모듈 등) 사이에서 가장 자주 발생합니다.
    구문 예시: Rte_Call_<Port_Name>_<Operations_Name(…)

SWC의 인터페이스와 Runnable은 SWC 별로 만들어지는 SWC 디스크립션에 문서화됩니다. 그러나 AUTOSAR는 기능 behavior를 기술하는 기능은 제공하지 않습니다.


마지막 수정됨: 2019년 August 22일, Thursday, AM 7:19