5.2.3. 포트/인터페이스 설계

Table of contents

인터페이스는 UCR 구현을 위해 컴포넌트 간에 요청/제공하는 정보와 기능을 정의한다. 포트는 인터페이스에 정의된 서비스를 컴포넌트에서 사용할 수 있도록 하는 링크 역할을 한다. 포트는 또한 요청/제공의 주체와 방향성을 정의한다.


3.1. 인터페이스 종류 결정

설계하고자 하는 시스템의 컴포넌트 간 상호작용 특성에 맞는 인터페이스를 선정한다.

  • 동기통신인 Client Server Communication은 Client Port의 실행 요청 시에 Server Port가 서비스를 제공하는 방식으로 동작한다.
  • 비동기통신인 Sender Receiver Communication은 Sender Port가 특정한 시점에 Data를 전송하고, Receiver 또한 자신만의 실행 시점에 Data를 읽는 방식으로 동작한다.

AirbagControlUnit 프로젝트에서는 센서 값의 전송은 SenderReceiver, 에어백의 구동은 ClientServer를 통해 구현하기로 한다.


3.2. Sender Receiver Communication 설계

  • 인터페이스 생성 실행 위치

SoftwareArchitecturalDesignmodel - SWAD_IF_DriverAirbag - RapidAUTO Context Menu(마우스 휠 버튼 누름) - Add SenderReceiverInterface 클릭

  • IMainSensorData 인터페이스 설계

인터페이스 생성창에 “IMainSensorData” 입력

  • DataElement 설계

① 생성한 SenderReceiver 인터페이스 우클릭 - Feature창 열기
② Attribute 탭 - New클릭 - dataElement 추가
③ DataElement 이름 “crashImpact”로 변경
④ Type행의 Select클릭
⑤ ARPackages - AUTOSAR_Platform - ImplementationDataTypes - uint8 선택 - OK

  • ISafingSensorData 인터페이스 설계

위의 절차대로 “ISafingSensorData” 인터페이스와 DataElement(uint8 crashImpact)를 동일하게 설계한다.


3.3. Client Server Communication 설계

  • 인터페이스 생성 실행 위치

SoftwareArchitecturalDesignmodel - SWAD_IF_DriverAirbag - RapidAUTO Context Menu(마우스 휠 버튼 누름) - Add ClientServerInterface 클릭

  • IDriverAirbagControl 인터페이스 설계

인터페이스 생성창에 “IDriverAirbagControl” 입력

  • Operation 설계

① 생성한 ClientServerInterface 우클릭 - Feature 창 열기
② Operation탭 - New클릭 - ClientServerOperation 추가
③ ClientServerOperation 이름 “inflateAirbag” 변경

  • Argument 설계 (void(매개변수 없음)일 경우 생략)

④ (Operation 선택 후)Operations 탭 우측 상단 Feature Dialog 아이콘 클릭
⑤ Arguments 탭 - New 클릭 - ArgumentDataProtoType 클릭
⑥ 설계한 Argument 이름 “rate”로 변경
⑦ Type행의 Select클릭 - ARPackages - AUTOSAR_Platform - ImplementationDataTypes - uint8 선택 - OK

💡

Operation은 코드 레벨에서의 함수로, Argument는 매개변수의 개념으로 이해할 수 있다.


3.4. UCR VOPC Diagram 설계 - Port / Interface 연결

본 가이드의 2.3절에서 UCR VOPC Diagram에 SW-C의 Prototype을 위치시켰다. 3.4절에서는 UCR내 컴포넌트들의 정적인(Static) 연결(Port/Interface)을 표현한다.

  • Port 설계 및 AssemblySwConnector 연결

① 설계 화면 우측의 Diagram Tools에서 원하는 Port를 선택한 후 컴포넌트 블록의 적절한 곳에 위치시킨다.
② AssemblySwConnector를 선택한 후 인터페이스를 연결할 포트 2개를 선택한다.

💡

Diagram Tools 창이 보이지 않으면 화면 상단의 버튼을 눌러 열 수 있다.

  • Port에 인터페이스 정보 반영

포트 선택 - RapidAUTO Context Menu(마우스 휠 버튼 누름) - Type PortPrototype as SR/CS Interface - Interface 선택 - OK

  • 3.1절에서 결정한 시스템의 Data flow concept를 고려하여 포트에 연결할 인터페이스를 적용한다.