Sender-receiver 인터페이스는 보내고 받을 data element를 선언하는 port interface다. sender가 내는 데이터를 receiver 하나 이상이 받는 통신 패턴을 기술한다.[1] 이 인터페이스로 타입을 정한 P-Port는 data element를 쓰고, R-Port는 읽는다. sender-receiver 통신은 한 방향이며, receiver가 보내는 응답은 별도의 sender-receiver 통신으로 보낸다.[2] 이 인터페이스로 타입을 정한 포트는 sender 하나와 receiver 여럿의 1:n으로도, sender 여럿과 receiver 하나의 n:1로도 이을 수 있다.[1]

Data element

인터페이스는 data element를 여럿 가질 수 있고, data element마다 따로 보낸다.[2] data element는 type 속성으로 자기 데이터 타입을 가리킨다.[1]

Com spec

초기값 같은 통신 속성은 인터페이스가 아니라 포트에 매이며, 포트가 이 속성을 적어 두는 것을 com spec이라 한다. com spec은 data element 하나를 가리키고, 두지 않아도 된다. P-Port에는 sender com spec을, R-Port에는 receiver com spec을 둔다.[1]

data element가 큐에 쌓이는지(queued)는 data element의 swImplPolicy가 정한다. swImplPolicy가 queued인 data element는 queued com spec을, 그 밖의 data element는 nonqueued com spec을 쓴다. queued가 아닌 data element는 last-is-best 의미를 따른다.[1]

RTE는 queued가 아닌 data element를 receiver 쪽 한 벌에 버퍼링한다. 새 값이 오면 이전 값은 읽혔는지와 상관없이 버리고, 읽기는 늘 마지막으로 받은 값을 돌려준다.[2] data element를 아직 받지 않았는데 값을 읽으면 com spec의 초기값(initValue)을 쓴다.[1]

RTE는 receive 포트에서 queued data element마다 수신 큐를 둔다. 값은 큐의 끝에 넣고 앞에서부터 꺼내 읽는 FIFO(First-In First-Out)다. 큐 길이는 ECU 설정 파라미터 RteQueuedReceiverQueueLength로 정하고, 이 값이 없으면 receiver com spec의 queueLength로 정한다. 큐가 가득 찼을 때 새 값이 오면 RTE는 그 값을 버리고 오류 플래그를 세운다.[2]

RTE 이벤트의 하나인 DataReceivedEvent는 data element와 runnable을 가리키며, 새 데이터가 오면 RTE가 그 runnable을 시작한다.[2]

명시적 접근과 암묵적 접근

명시적 접근은 runnable이 API를 직접 불러 data element를 보내거나 받는 방식으로, 언제 몇 번 보내고 받을지를 runnable이 정한다. queued가 아닌 data element는 Rte_Write로 보내고 Rte_Read로 읽으며, queued인 data element는 Rte_Send로 보내고 Rte_Receive로 받는다.[2]

암묵적 접근은 Rte_IRead로 읽고 Rte_IWrite로 쓰는 방식이다. 읽을 때 RTE는 runnable이 시작되기 전에 데이터를 읽어 복사본으로 넘기므로, runnable이 실행되는 동안 그 값은 바뀌지 않는다. 쓴 값은 runnable이 끝난 뒤에 RTE가 보내며, 그보다 먼저 다른 쪽에 보이지 않는다.[2] 암묵적 읽기는 swImplPolicy가 queued인 data element에 쓸 수 없다.[1]

runnable은 data element에 어떻게 접근할지를 access point로 선언하며, 접근마다 쓰는 access point와 RTE가 만드는 API는 아래와 같다.[1][2]

접근access pointAPI
명시적 송신data send pointRte_Write, Rte_Send
명시적 수신data receive point by argumentRte_Read, Rte_Receive
명시적 수신data receive point by valueRte_DRead
암묵적 읽기data read accessRte_IRead
암묵적 쓰기data write accessRte_IWrite
[1]
“Software Component Template (AUTOSAR CP R25-11),” AUTOSAR, 2025. Accessed: Sep. 29, 2026. [Online]. Available: https://www.autosar.org/fileadmin/standards/R25-11/CP/AUTOSAR_CP_TPS_SoftwareComponentTemplate.pdf
[2]
“Specification of RTE Software (AUTOSAR CP R25-11),” AUTOSAR, 2025. Accessed: Sep. 30, 2026. [Online]. Available: https://www.autosar.org/fileadmin/standards/R25-11/CP/AUTOSAR_CP_SWS_RTE.pdf