Skip to main content

VFB Editor

이 장에서 다루는 것

이 장에서는 Virtual Functional Bus 관점에서 소프트웨어 컴포넌트(SWC)와 컴포지션을 배치하고 포트를 연결하는 VFB 에디터의 사용법을 안내합니다. 캔버스 조작, 컨텍스트 메뉴 전체 목록, 속성 패널, 네 종류의 상세 다이얼로그를 다룹니다. 상세 다이얼로그 중 SWC Internal BehaviorAA Internal Behavior 는 노드를 더블클릭하면 열리고, Machine ConfigurationECU Configuration 은 컴포지션 노드 머리글의 매핑 아이콘을 클릭하면 열립니다.

이 장은 AUTOSAR Classic 또는 Adaptive 플랫폼의 소프트웨어 아키텍처를 설계하는 사용자를 대상으로 합니다. 작업을 시작하려면 먼저 프로젝트가 열려 있어야 합니다. 포트에 지정할 인터페이스는 09. Interface 에디터에서 미리 정의해 두면 편리합니다. ECU/HPC 매핑을 사용하려면 06. IVC 에디터에 노드가 있어야 합니다.

프로젝트 탐색기에서 designSystemVFB 노드를 열면 에디터가 탭으로 열립니다.

8.1 저장 대상 파일

VFB 에디터는 한 번 저장할 때 여러 파일을 함께 기록합니다. 저장 대상 파일은 다음과 같습니다.

파일내용
VFB 모델컴포지션 목록(이름 · 설명 · 경계 포트 · 프로토타입)과 InterfaceMapping 목록
SWC 정의SWC 하나의 정의 (포트, 커넥터, 내부 동작, AP 매핑)
design/SWC/Layout/<컴포지션>.vfb.layout컴포지션별 캔버스 배치 정보
Machine 설정Adaptive Machine 설정

커넥터는 VFB 모델이 아니라 컴포지션의 SWC 정의에 저장됩니다. VFB 모델의 컴포지션 항목이 갖는 것은 이름 · 설명 · 경계 포트 · 프로토타입 참조뿐입니다.

.vfb.layout 은 노드 위치 · 크기 · 포트 위치 · 커넥터 경로 같은 화면 배치만 담는 프로젝트 내부 파일입니다. 이 정보는 ARXML로 내보내지지 않고, 임포트할 때도 복원되지 않습니다(임포트는 노드 위치를 새로 생성합니다).

종류 폴더 이름은 SWC 종류에 따라 다음과 같이 고정되어 있습니다.

SWC 종류폴더 이름
CompositionComposition
ApplicationApplication
Adaptive ApplicationAdaptiveApplication
Complex Device DriverComplexDeviceDriver
ServiceService
Ecu AbstractionEcuAbstraction
Sensor ActuatorSensorActuator

이름을 바꾼 SWC의 예전 파일은 저장할 때 삭제됩니다. 저장하기 전까지는 예전 이름의 파일이 디스크에 그대로 남아 있습니다. 따라서 이름을 바꾼 뒤 파일 목록이 이상해 보인다면 먼저 Ctrl+S 로 저장합니다.

8.2 SWC 종류

ADD SWC 메뉴가 제공하는 종류는 7가지입니다.

메뉴 레이블설명
Composition컴포지션 (다른 SWC를 담는 컨테이너)
Adaptive ApplicationAdaptive Platform 애플리케이션
ApplicationClassic 애플리케이션 SWC
Complex Device Driver복합 디바이스 드라이버
Ecu AbstractionECU 추상화 SWC
Sensor Actuator센서/액추에이터 SWC
ServiceBSW 서비스 SWC

InterfaceMapping 노드는 SWC 종류가 아닙니다. 루트 레벨의 빈 캔버스를 우클릭했을 때 나오는 ADD INTERFACE MAPPING 으로만 만들 수 있는 별도의 노드이며, AP 서비스 인터페이스와 CP SR/CS 인터페이스를 잇는 역할만 합니다(8.7 참조).

8.3 캔버스 조작

이 절에서는 캔버스에서 사용하는 마우스 · 키보드 조작과 툴바 버튼을 정리합니다.

마우스

마우스 조작은 다음과 같습니다.

조작동작
빈 곳에서 좌클릭 드래그화면 이동(팬)
가운데 버튼 드래그화면 이동
Space + 좌클릭 드래그화면 이동
마우스 휠위아래 화면 이동 (문서 스크롤과 같은 방향)
Shift + 휠좌우 화면 이동
Ctrl + 휠확대/축소 (0.1배 ~ 4.0배, 기본 1.0배)
노드 클릭선택합니다. 선택하면 여덟 개의 크기 조절 핸들이 나타납니다
Ctrl + 클릭다중 선택 토글 (노드/연결선 모두)
노드 드래그이동
크기 조절 핸들 드래그크기 조절
포트에서 Shift + 드래그연결 모드 (8.6 참조)
컴포지션 더블클릭드릴다운 (그 컴포지션 안으로 들어갑니다)
Application / Complex Device Driver / Service / Ecu Abstraction / Sensor Actuator 더블클릭SWC Internal Behavior 다이얼로그 (8.8)
Adaptive Application 더블클릭AA Internal Behavior 다이얼로그 (8.9)
우클릭컨텍스트 메뉴 (8.5)

키보드

캔버스에서 사용할 수 있는 키는 다음과 같습니다.

동작
Ctrl+S저장
Ctrl+Z실행 취소
Ctrl+Y / Ctrl+Shift+Z다시 실행
Esc웨이포인트 드래그 중이면 그 드래그만 취소하고, 아니면 선택을 해제합니다

캔버스에서 동작하지 않는 키가 있습니다. Delete/Backspace, Ctrl+A, Ctrl+C/Ctrl+V/Ctrl+X, 방향키, Ctrl+Shift+S, Ctrl+O 는 VFB 캔버스에서 눌러도 아무 일도 일어나지 않습니다. 특히 노드/포트 삭제는 Delete 키가 아니라 우클릭 메뉴의 DELETE 로 합니다. 참고로 8.8/8.9 의 상세 다이얼로그 안에서는 Delete/Backspace 가 정상 동작합니다.

툴바 버튼 (캔버스 왼쪽 아래)

각 툴바 버튼의 동작은 다음과 같습니다.

버튼동작
Zoom In / Zoom Out확대 / 축소. 한계에 닿으면 버튼이 흐려지고 눌리지 않습니다
Fit to View전체 내용이 보이도록 맞춤
Auto Layout자동 배치 (elkjs 기반, 아래 설명 참조)
Toggle Grid격자 표시 토글 (기본 켜짐)
Toggle Connector Animation연결선 흐름 애니메이션 토글 (기본 꺼짐)
Export as PNG현재 다이어그램을 PNG로 저장

Export as PNG 를 실행하면 프로젝트 안의 doc/capture/ 폴더에 YYYYMMDD_HHMMSS_NNN.png 형식으로 저장됩니다(NNN 은 폴더 안의 기존 파일에서 이어지는 세 자리 일련번호). 캔버스에 아무 내용도 없으면 No content to export 경고 토스트가 나타나고 저장되지 않습니다.

Auto Layout 은 손으로 조정한 연결선 경로를 모두 지웁니다. 그런 경로가 하나라도 있으면 먼저 확인 다이얼로그가 나타납니다 — 제목은 Auto Layout, 본문은 N manually adjusted connector route(s) will be replaced by the automatic layout., 버튼은 Replace / Cancel 입니다. 진행 중에는 취소할 수 있는 진행률 다이얼로그가 표시됩니다.

8.4 루트 레벨과 드릴다운

VFB에는 두 가지 레벨 개념이 있습니다.

  • 루트 레벨 — 아무 컴포지션에도 들어가지 않은 상태입니다. 최상위 컴포지션과 InterfaceMapping 노드가 놓입니다.
  • 드릴다운 상태 — 컴포지션 하나 안으로 들어간 상태입니다. 그 컴포지션이 프레임으로 그려지고 자식 노드가 프레임 안에 놓입니다.

컴포지션을 더블클릭하면 그 안으로 드릴다운합니다. 이미 들어와 있는(활성) 컴포지션을 다시 더블클릭하면 아무 일도 일어나지 않습니다.

드릴다운하면 캔버스 왼쪽 위에 브레드크럼이 나타나 현재 위치를 시스템명 > 컴포지션 > ... 형식으로 보여 줍니다. 앞쪽 항목을 클릭하면 그 레벨로 돌아갑니다. 맨 끝 항목은 현재 위치이므로 굵게 표시되고 클릭되지 않습니다. 루트 레벨에서는 브레드크럼이 숨겨지고 대신 SVG 시스템 라벨이 표시됩니다.

루트 레벨의 VFB 캔버스

루트 레벨입니다. 최상위 컴포지션 ParkAssistComposition 하나만 놓이고, 브레드크럼 자리에는 시스템 라벨(E2eProject)이 보입니다.

컴포지션 안으로 드릴다운한 상태

같은 컴포지션을 더블클릭해 드릴다운한 모습입니다. 그 컴포지션이 프레임으로 바뀜고 자식 SWC 세 개가 프레임 안에 놓입니다. 왼쪽 위 라벨은 브레드크럼 System > ParkAssistComposition 으로 바뀝니다.

드릴다운 상태에서 프레임 바깥의 빈 캔버스를 우클릭하면 메뉴가 나타나지 않습니다. 빈 캔버스가 열린 컴포지션과 같은 레벨처럼 보이지만, 거기서 만든 노드는 그 컴포지션 하위로 들어가 레벨 착시를 주기 때문입니다. 드릴다운 상태에서 노드를 만들 때는 항상 프레임(컴포지션)을 우클릭합니다.

8.5 컨텍스트 메뉴

우클릭한 대상에 따라 컨텍스트 메뉴의 구성이 달라집니다. 이 절에서는 대상별 메뉴 항목을 정리합니다.

8.5.1 빈 캔버스 (루트 레벨에서만)

루트 레벨의 빈 캔버스를 우클릭하면 다음 메뉴가 나타납니다.

항목동작
ADD COMPOSITION새 컴포지션 추가
ATTACH COMPOSITION이미 정의된 컴포지션을 프로토타입으로 붙입니다
ADD INTERFACE MAPPINGInterfaceMapping 노드 추가

ATTACH COMPOSITION 서브메뉴는 다이어그램에 로드된 컴포지션과 디스크에만 있는(아직 배치되지 않은) 컴포지션을 모두 후보로 보여 줍니다. 루트 레벨에서는 루트 컴포지션 자신이 제외되고, 드릴다운 상태에서는 현재 컴포지션·조상 컴포지션·이미 자식인 컴포지션·순환 참조가 생기는 컴포지션이 제외됩니다. 후보가 없으면 (No available compositions) 가 흐린 항목으로 표시됩니다.

8.5.2 컴포지션 프레임 (현재 드릴다운 중인 컴포지션)

드릴다운 중인 컴포지션 프레임을 우클릭하면 다음 메뉴가 나타납니다.

항목동작
ADD SWC7종(8.2) 중 하나를 골라 이 컴포지션 안에 추가
ATTACH SWC기존 SWC를 이 컴포지션의 프로토타입으로 붙입니다
ADD PortPPort / RPort / PRPort 중 하나 추가
ADD COMPOSITION하위 컴포지션 추가
ATTACH COMPOSITION기존 컴포지션 붙이기

ATTACH SWC 서브메뉴 항목은 이름 (종류) 형식으로 표시됩니다. 컴포지션 타입은 여기서 제외되고(ATTACH COMPOSITION 이 담당), 자기 자신·이미 자식인 노드·순환 참조가 생기는 노드도 제외됩니다. 후보가 없으면 (No available SWCs) 가 표시됩니다.

8.5.3 컴포지션 노드 (드릴다운 중이 아닌 컴포지션)

드릴다운 중이 아닌 컴포지션 노드를 우클릭하면 다음 메뉴가 나타납니다.

항목동작
ADD PortPPort / RPort / PRPort 추가
Map to ECU/HPCIVC의 ECU/HPC 목록에서 골라 매핑 (최상위 컴포지션에만 표시)
DETACH상위 컴포지션에서 떼어냅니다. 상위가 없으면 흐리게 비활성화됩니다
DELETE삭제 (아래 확인 창을 거칩니다)

자식 노드는 그 컴포지션 안으로 드릴다운해서 관리합니다. 따라서 이 메뉴에는 ADD SWCATTACH SWC 가 없습니다.

DETACH와 DELETE는 적용 범위가 다르므로 주의가 필요합니다. DETACH 는 상위 컴포지션에서 그 프로토타입만 떼어내며, SWC 타입 자체는 남습니다. DELETE 는 제목이 Delete SWC 인 확인 창을 먼저 띄우고, Delete 를 선택하면 그 SWC를 모든 컴포지션에서 제거하고 타입 파일까지 삭제합니다. 확인 창의 본문은 다음과 같습니다.

Are you sure you want to delete "<이름>"?
This will remove the SWC from all compositions and delete its type file.
This action cannot be undone.

파일 삭제는 저장 시점에 반영됩니다(8.1 참고).

Map to ECU/HPC 서브메뉴의 구성은 다음과 같습니다.

항목표시
이미 이 컴포지션에 매핑된 노드DoorEcu [ECU] ✓ — 다시 선택하면 매핑이 해제됩니다
다른 컴포지션에 매핑된 노드DoorEcu [ECU] (<- OtherComposition)
매핑되지 않은 노드DoorEcu [ECU]
Unmap현재 매핑이 있을 때만 표시됩니다
Create ECU & Map같은 이름의 ECU를 IVC에 만들고 매핑합니다. 이미 매핑돼 있으면 비활성화됩니다
Create HPC & Map같은 이름의 HPC를 IVC에 만들고 매핑합니다. 이미 매핑돼 있으면 비활성화됩니다

ECU에 매핑되면 노드 머리글에 초록색 ECU 아이콘이, HPC에 매핑되면 파란색 HPC 아이콘이 붙습니다. 아이콘을 한 번 클릭하면 각각 ECU Configuration(8.12) / Machine Configuration(8.10) 다이얼로그가 열립니다. 아이콘 위에서 더블클릭해도 드릴다운으로 이어지지 않습니다.

8.5.4 Atomic SWC 노드

Atomic SWC 노드를 우클릭하면 다음 메뉴가 나타납니다.

항목동작
ADD PortPPort / RPort / PRPort 추가
DETACH SWC상위 컴포지션에서 떼어냅니다. 상위가 없으면 비활성화됩니다
DELETE삭제합니다. 8.5.3 과 같은 Delete SWC 확인 창을 거치며, 타입 파일까지 삭제합니다

8.5.5 Port 노드

포트를 우클릭하면 다음 메뉴가 나타납니다.

항목동작
CONNECT TO호환되는 상대 포트 목록에서 골라 연결
CONNECT TO MAPPINGInterfaceMapping 노드로 연결
DERIVE SR/CS INTERFACE이 포트의 ServiceInterface에서 SR/CS 인터페이스와 InterfaceMapping을 파생
DELETE포트 삭제
  • CONNECT TO 후보는 [D] SwcName / PortName 또는 [A] SwcName / PortName 형식으로 표시됩니다. D 는 delegation, A 는 assembly 커넥터를 뜻합니다. 상황별 안내 항목은 (Port not found), (PortInterface not set), (No compatible ports) 입니다.
  • CONNECT TO MAPPING 은 InterfaceMapping 노드가 하나도 없으면 (No InterfaceMapping nodes) 를 표시합니다.
  • DERIVE SR/CS INTERFACE 는 세 조건을 모두 만족할 때만 나타납니다 — 루트 레벨일 것, 포트에 인터페이스가 지정되어 있을 것, 그 인터페이스의 카테고리가 service 일 것. 드릴다운 상태에서는 표시되지 않습니다.

8.5.6 InterfaceMapping 노드

메뉴 항목은 DELETE 하나뿐입니다.

8.5.7 연결선

연결선을 우클릭하면 다음 메뉴가 나타납니다.

항목동작
TO STEP EDGE저장된 경로를 지워 자동 직교(step) 라우터가 다시 그리게 합니다. 저장된 경로가 있을 때만 표시됩니다
TO STRAIGHT양 끝점을 직선으로 잇습니다. 이미 직선이면 표시되지 않습니다
DISCONNECT연결 해제

세 항목은 SwConnector 연결선과 InterfaceMapping 연결선에 똑같이 적용됩니다. 연결선 위의 웨이포인트 핸들을 우클릭해도 같은 메뉴가 열립니다.

8.6 포트 연결

연결을 만드는 방법은 드래그와 메뉴 두 가지입니다.

드래그로 만들 때는 다음 절차를 따릅니다.

  1. 포트에서 Shift 를 누른 채 드래그합니다. 프리뷰 선이 따라오고, 놓을 수 있는 대상은 초록색, 놓을 수 없는 대상은 빨간색으로 강조됩니다.
  2. 대상 위에서 버튼을 놓습니다. 놓는 위치에 따라 결과가 달라집니다.
    • 호환되는 상대 포트 위 → 두 포트가 연결됩니다.
    • SWC 몸통 위 → 짝이 되는 포트가 자동으로 만들어지고 연결됩니다.
    • InterfaceMapping 노드 위 → 그 노드로 연결됩니다.
  3. 연결선을 클릭해 결과를 확인합니다. 우측 속성 패널에 Basic Info 섹션이 나타나면 연결이 만들어진 것입니다.

Shift 없이 드래그하면 연결이 아니라 이동이 됩니다.

메뉴로 만들 때는 포트를 우클릭한 뒤 CONNECT TO / CONNECT TO MAPPING 서브메뉴에서 상대를 선택합니다(8.5.5).

8.7 속성 패널 (우측)

선택한 대상에 따라 표시되는 필드와 아코디언 섹션이 달라집니다. 아무것도 선택하지 않았을 때는 Select an element to view properties 가 표시됩니다.

SWC / 컴포지션 노드

SWC 또는 컴포지션 노드를 선택하면 다음 필드가 표시됩니다.

필드/섹션내용
NameSWC 타입의 SHORT-NAME
AS Prototype이 컴포지션 안에서의 프로토타입 SHORT-NAME
Description설명 (여러 줄)
Ports포트 목록. 각 행은 방향 배지(P / R / PR) + 이름 + PortInterface 이름으로 이루어집니다. 인터페이스가 없으면 (none). 행을 클릭하면 그 포트가 선택되고, 행 끝의 × 로 삭제합니다. 포트가 없으면 No ports available

SWC 노드를 선택했을 때의 속성 패널

Atomic SWC WheelButtonHandler 를 선택한 화면입니다. 패널 제목이 APPLICATION으로 바뀜고, PortsR 배지의 RpWheelButtonsP 배지의 PpWheelButtonStatus 가 각각 PortInterface 이름과 함께 나옵니다.

Port 노드

포트를 선택하면 다음 필드가 표시됩니다.

필드/섹션내용
Name포트 SHORT-NAME
Port Interface검색 가능한 참조 드롭다운 + [+] 새 인터페이스 만들기 버튼. 비우면 Port-Interface is required 오류가 표시됩니다
ComSpec 섹션인터페이스 카테고리에 따라 아래 표대로 하나가 붙습니다
Data Mapping컴포지션 경계 포트이면서 데이터 요소가 있을 때만 나타납니다

ComSpec 섹션 이름은 인터페이스 카테고리에 따라 다음과 같이 달라집니다.

인터페이스 카테고리ComSpec 섹션 이름
Sender-ReceiverData Element
Client-ServerOperation
ServiceService ComSpec
Mode-SwitchMode Group

초기값(Init Value)은 공용 ValueSpecEditor 위젯으로 편집합니다.

Port Interface 드롭다운의 후보는 부모 SWC 종류에 따라 다음과 같이 걸러집니다.

부모 SWC 종류후보
Adaptive ApplicationServiceInterface + AP 계열 전체(아래 방향 제약 적용)
CompositionAP 계열을 제외한 전부 (ServiceInterface와 CP 계열)
그 밖의 Atomic SWCSender-Receiver · Client-Server · Mode-Switch 세 가지뿐

Adaptive Application 포트에는 방향 제약이 함께 적용됩니다. 인터페이스별로 선택할 수 있는 포트 방향은 다음과 같습니다.

인터페이스고를 수 있는 포트 방향
ServiceInterfacePPort · RPort (PRPort에서는 나오지 않습니다)
PhmRecoveryNotification · SynchronizedTimeBaseProvider · NetworkManagement · IdsmTimestampProvider · IdsmContextProviderPPort
Persistency 2종 (KeyValueStorage · FileStorage)PPort · RPort · PRPort
그 밖의 AP 계열 전부 (LogAndTrace · SM 4종 · PhmSupervisedEntity · SynchronizedTimeBaseConsumer · Crypto 5종 · RDS 4종 · 나머지 IDSM 3종)RPort

목록의 각 항목에는 SenderReceiver:, Service:, SM.StateClient:, Crypto.KeySlot: 처럼 종류 접두사가 붙습니다.

포트를 선택했을 때의 속성 패널

포트 RpWheelButtons 를 선택한 화면입니다. 패널 제목은 RPORT, Port Interface 에는 종류 접두사가 붙은 SenderReceiver: IfWheelButtons 가 들어 있습니다. Sender-Receiver 이므로 ComSpec 섹션 이름은 DATA ELEMENT 이고, 그 안에 uint8 / Buttons / NON-QUEUED 한 줄이 보입니다.

연결선

Basic Info 섹션에 Name 필드 하나가 있습니다.

InterfaceMapping 노드

InterfaceMapping 노드를 선택하면 다음 필드가 표시됩니다.

필드/섹션내용
Name매핑 SHORT-NAME
Description설명
InterfacesService Interface(읽기 전용) + Mapped Port Interfaces 목록
Event Mappings서비스 이벤트 → SR 데이터 요소
Method Mappings서비스 메서드 → CS 오퍼레이션. Fire&Forget 메서드에는 F&F 배지가 붙습니다
Field Mappings서비스 필드 → Notifier / Getter / Setter
Connected Ports이 노드에 연결된 포트 목록

서비스 인터페이스가 아직 해석되지 않으면 요소 단위 매핑 섹션 대신 Connect to a ServiceInterface port to configure element-level mappings. 가 표시됩니다.

속성 패널은 선택만으로 모델을 바꾸지 않습니다. 매핑 표에 비어 있는 행이 미리 보이더라도 그것은 화면용 골격일 뿐이며, 실제 값은 사용자가 처음 편집했을 때 기록됩니다.

8.8 SWC Internal Behavior 다이얼로그

Application / Complex Device Driver / Service / Ecu Abstraction / Sensor Actuator 노드를 더블클릭하면 열립니다. 제목은 SWC Internal Behavior [<SWC 이름>] 입니다. 왼쪽은 SVG 캔버스, 오른쪽은 속성 패널입니다.

SWC Internal Behavior 다이얼로그

WheelButtonHandler 를 더블클릭해 열은 모습입니다. 왼쪽 캔버스에는 SWC 몸통과 그 양쪽에 붙은 포트, 그리고 안쪽에 Runnable 두 개가 놓입니다. 오른쪽은 직전에 본 속성 패널과 같은 구성입니다.

캔버스 우클릭

우클릭한 대상에 따라 메뉴가 달라집니다. 대상별 항목은 다음과 같습니다.

우클릭 대상항목
SWC 몸통ADD PortPPort / RPort / PRPort, ADD RUNNABLE, ADD IRV
포트DELETE
RunnableADD RTEEvent ▸ RTE 이벤트 7종, DEL RUNNABLE
Runnable 위의 RTE 이벤트 아이콘DEL EVENT
IRVDELETE IRV
ITPAdd Triggered Runnable ▸ 후보 Runnable 목록(후보가 없으면 항목 자체가 사라집니다), DELETE ITP

캔버스에서 요소를 선택하고 Delete 또는 Backspace 를 누르면 선택한 포트 / Runnable / IRV / ITP가 삭제됩니다(입력 필드에 포커스가 있을 때는 무시됩니다).

Runnable 속성

Runnable을 선택하면 오른쪽 패널 제목이 Runnable 이 되고 2×2 격자로 기본 필드가 나타납니다. 각 필드의 의미는 다음과 같습니다.

필드설명
NAMEAUTOSAR SHORT-NAME. 같은 SWC 안에서 중복되면 A runnable with this name already exists 오류가 표시되고 커밋되지 않습니다
SYMBOL생성 코드의 C 함수 이름 (C-IDENTIFIER)
CAN BE INVOKEDTRUE / FALSE
MIN START INTERVAL최소 시작 간격 (0 이상)

그 아래로 Access PointsRTE Events 두 아코디언 섹션이 있고, 각 섹션 머리글의 + 버튼을 누르면 종류 선택 메뉴가 열립니다.

RTE Events+ 메뉴가 제공하는 이벤트는 7종입니다. Runnable 노드를 우클릭했을 때 나오는 ADD RTEEvent 서브메뉴도 같은 7종입니다.

  1. TimingEvent
  2. BackgroundEvent
  3. DataReceivedEvent
  4. OperationInvokedEvent
  5. SwcModeSwitchEvent
  6. InitEvent
  7. InternalTriggeredEvent

Access Points+ 메뉴는 액세스 포인트 9종에 InternalTriggeringPoint 를 더해 10개 항목을 제공합니다.

  1. DataSendPoint
  2. DataReceivedPoint
  3. SyncServerCallPoint
  4. DataWriteAccess
  5. DataReadAccess
  6. WrittenLocalVariable
  7. ReadLocalVariable
  8. ModeSwitchPoint
  9. ModeAccessPoint
  10. InternalTriggeringPoint

InternalTriggeringPoint 는 액세스 포인트 목록과 같은 + 메뉴에 들어 있지만 VARIABLE-ACCESS가 아니라 Runnable이 소유하는 별도의 요소로 저장됩니다. InternalTriggeredEvent는 RTE 이벤트 메뉴에서 먼저 만든 뒤, 상세 패널의 INTERNAL TRIGGERING POINT 필드에서 어떤 ITP에 묶을지 선택합니다.

액세스 포인트나 RTE 이벤트를 선택하면 그 종류에 맞는 상세 필드가 아래에 나타납니다. 예를 들어 LOCAL VARIABLE, MODE GROUP, TIMEOUT, PERIOD, OFFSET, R-PORT / P-PORT, DATA ELEMENT, OPERATION, TARGET MODE 가 있습니다.

포트에서 Shift 를 누른 채 Runnable 위로 드래그하면, 그 포트의 방향과 인터페이스 카테고리에 맞는 항목만 골라 담은 메뉴가 나타납니다. 예를 들어 P-Port + Sender-Receiver 조합에서는 DataSendPoint와 DataWriteAccess가, R-Port + Client-Server 조합에서는 SyncServerCallPoint가, P-Port + Client-Server 조합에서는 OperationInvokedEvent가 제안됩니다. IRV를 같은 방식으로 Runnable 위로 끌면 READ / WRITE 중 하나를 고르는 메뉴가 나타나고, 선택한 쪽에 맞는 로컬 변수 액세스 포인트가 만들어집니다.

8.9 AA Internal Behavior 다이얼로그 (Adaptive Application)

Adaptive Application 노드를 더블클릭하면 열립니다. 제목은 AA Internal Behavior [<노드 이름>] 입니다. 오른쪽 패널에는 탭이 두 개 있습니다.

컴포지션 안의 Adaptive Application 노드

이 다이얼로그를 여는 대상입니다. Adaptive Application 노드는 다른 SWC 와 색이 다르게 그려지며, 오른쪽 경계의 반원 모양 포트가 AP 계열 인터페이스입니다.

내용
PROPERTIESExecutable 정보 — NAME, ROOT SWC PROTOTYPE, 카테고리(APPLICATION / PLATFORM), 빌드 타입(DEBUG / RELEASE), VERSION, MINIMUM TIMER GRANULARITY. 매핑 상자를 선택하면 그 상자의 속성이 대신 표시됩니다
EXECUTIONProcess 목록. 각 프로세스 행을 펼치면 NAME 과 아래 네 개의 하위 섹션이 나타납니다

EXECUTION 탭 프로세스 행의 하위 섹션은 다음과 같습니다.

하위 섹션항목
STARTUP CONFIGENTER TIMEOUT, EXIT TIMEOUT, CPU USAGE, MEM USAGE, SCHEDULING POLICY, SCHEDULING PRIORITY, EXECUTION ERROR, TERMINATION BEHAVIOR
FUNCTION GROUP STATE함수그룹 : 상태 행 목록. 머리글의 + 로 추가하고 행 끝의 × 로 지웁니다. 비어 있으면 No function group states defined
EXECUTION DEPENDENCY프로세스 : 상태 행 목록. 비어 있으면 No execution dependencies defined
LOG CONFIGAPPLICATION ID, APPLICATION DESCRIPTION, DEFAULT LOG LEVEL, LOG MODE, 그리고 DLT 컨텍스트별 CONTEXT ID / CONTEXT DESCRIPTION

AA Internal Behavior 다이얼로그의 EXECUTION 탭

Camera 를 더블클릭해 열고 EXECUTION 탭을 고른 모습입니다. 위쪽 EXECUTABLE 에 카테고리와 빌드 타입 같은 세그먼트가, 아래 PROCESS 에 프로세스 목록이 있습니다. 왼쪽 캔버스의 초록색 상자는 PHM 감시 대상(Supervision)입니다.

캔버스 우클릭 (AA 몸통)

AA 몸통을 우클릭하면 다음 메뉴가 나타납니다.

항목동작
ADD PortPPort / RPort / PRPort포트 추가
ADD Instance ▸ 기능 클러스터 ▸ 항목AP 매핑 상자 추가

ADD Instance 메뉴는 AUTOSAR AP 기능 클러스터별로 묶여 있습니다. 클러스터는 10개, 항목은 모두 합쳐 22개입니다. 다만 조건에 걸린 항목은 메뉴에서 빠지고, ara::crypto 는 네 항목이 모두 빠지면 클러스터 자체가 사라집니다. 클러스터별 항목과 표시 조건은 다음과 같습니다.

클러스터항목표시 조건
ara::comService Instance항상
ara::logDLT Sink항상
ara::smFunction Group항상
ara::phmSupervised Entity상위에 HPC/Machine이 있을 때
ara::phmRecovery Notification항상
ara::nmNetwork Handle클러스터 전체가 Machine의 nm 모듈에 NM 네트워크 핸들이 1개 이상 있을 때만 표시
ara::tsyncTime Base클러스터 전체가 Machine에 TimeBaseResource가 1개 이상 있을 때만 표시
ara::cryptoCrypto Key Slot / Crypto Certificate / Crypto Certificate Group / Crypto Provider항목별로 Machine의 crypto 모듈에 해당 요소가 있을 때 (Key Slot은 키 슬롯을 가진 Provider가 있을 때)
ara::idsmTimestamp Provider / Context Provider / Reporting Mode Provider / Qualified Event Receiver / Security Event클러스터 전체가 Machine에 idsm 모듈이 있을 때만 표시
ara::perKey Value Storage / File Storage항상
ara::rdsRaw Data Stream Client / Raw Data Stream Server / Raw Data Stream IEEE1722 Consumer / Raw Data Stream IEEE1722 Producer항상

ara::idsm ▸ Timestamp Provider는 메뉴에 있어도, Machine의 IDSM 모듈에 이미 Ids Time Base가 지정되어 있으면 추가가 거부되고 안내 메시지가 표시됩니다(둘은 동시에 사용할 수 없습니다).

매핑 상자를 우클릭하면 DEL Instance, 포트를 우클릭하면 DELETE 가 나타납니다. 포트에서 Shift + 드래그하면 매핑 상자로 연결선을 그을 수 있습니다.

조건이 걸린 클러스터가 보이지 않는다면 Machine Configuration 다이얼로그(8.10)에서 해당 모듈의 요소를 먼저 만듭니다. 예를 들어 ara::tsync ▸ Time Base가 없으면 MODULE 탭 ▸ TSTIME BASES 에서 타임 베이스를 하나 추가한 뒤 다시 열어 봅니다.

8.10 Machine Configuration 다이얼로그 (Adaptive)

HPC에 매핑된 컴포지션 노드의 HPC 아이콘(파란색)을 클릭하면 열립니다. 탭은 네 개입니다.

내용
MACHINEOS(OS 모듈 인스턴스 SHORT-NAME), TRUSTED PLATFORM(STRICT / MONITOR / NO SUPPORT), DESCRIPTION, 그리고 PROCESSOR 이름과 Core / Core ID 두 열짜리 코어 표
FUNCTION GROUP왼쪽 Function Groups 목록(+ / / ), 가운데 CONFIGURATION(Name · Description · MODE DECLARATION), 오른쪽 상태 머신 다이어그램
PROCESSES이 컴포지션의 Adaptive Application 프로세스를 3분할로 보여 줍니다. 왼쪽 Processes 목록, 가운데 상세, 오른쪽 프로세스 그래프입니다 (8.10.2)
MODULEAP 기능 클러스터 모듈 설정 (8.10.1)

Machine Configuration 다이얼로그의 MACHINE 탭

네 개 탭과 첫 번째 MACHINE 탭입니다. TRUSTED PLATFORM 은 세 값 중 NO SUPPORT, PROCESSOR 는 아래 설명대로 자동으로 채워진 CPU / Core0(Core ID 0) 한 개입니다. 오른쪽 위 PARA Platform 버튼은 8.11에서 다룹니다.

다이얼로그를 열 때 필요한 요소가 자동으로 채워집니다.

  • MachineFG 함수 그룹이 없으면 만들어집니다. 이 그룹은 삭제할 수 없고, 모드 선언 중 Off, Startup, Shutdown, Restart, Verify 다섯 개는 지울 수 없습니다.
  • 10종 모듈 인스턴스가 없으면 고정 이름(LOG, CM, SM, NM, PHM, TIME_SYNC, CRYPTO, PERSISTENCY, IDSM, UCM)으로 만들어집니다. 따라서 MODULE 탭에는 항상 10개가 모두 보입니다.
  • 프로세서 정보가 없으면 CPU / Core0(Core ID 0) 한 개로 채워집니다.

새 Function Group을 추가하면 초기 모드가 Off 인 그룹이 만들어집니다. MachineFG 는 이름을 바꿀 수 없습니다. FUNCTION GROUP 탭의 버튼은 현재 함수 그룹 목록에 맞춰 StateClient 인터페이스와 SM SWC의 R-Port를 다시 맞춥니다. 아직 HPC가 연결되지 않았으면 먼저 한 번 저장하라는 안내 창이 나타납니다. 정상 실행되면 결과가 안내 창으로 표시됩니다. 바뀐 것이 없으면 All StateClientInterfaces and SM SWC R-Ports are already in sync with the configured Function Groups., 바뀌었으면 Synchronized StateClientInterface and SM SWC R-Ports: 2 created, 1 removed. 형태입니다.

로 함수 그룹을 지울 때는 Delete Function Group 확인 창이 먼저 나타납니다. 본문은 그 그룹에서 자동 생성된 StateClient 인터페이스가 Interface 에디터에서 함께 지워진다는 사실을 알려 줍니다. MachineFG 는 이 버튼으로도 지워지지 않습니다.

PROCESSES 탭에 프로세스가 하나도 없으면 No Adaptive Application processes found in this Composition, 프로세스를 선택하지 않았으면 Select a process 가 표시됩니다. MACHINE 탭에 코어가 하나도 없으면 CORE AFFINITY 자리에 No processor cores defined in MACHINE tab 이 표시됩니다.

이 다이얼로그는 기능이 많습니다. 10종 모듈 인스턴스는 다이얼로그를 열 때 자동으로 만들어지므로, 처음에는 지금 필요한 클러스터만 편집하고 나머지는 그대로 두어도 됩니다.

8.10.1 MODULE 탭의 10개 모듈

왼쪽 목록에서 모듈을 선택하면 가운데에 편집 화면이, 오른쪽에 개요 캔버스가 나타납니다. 모듈별 구성은 다음과 같습니다.

배지모듈가운데 편집 화면오른쪽 개요
LOGLog and TraceDLT ECU 섹션 + DLT APPLICATION 표(Process / DLT Application ID / Log Mode / Default Log Level)DLT 계층 뷰어 (DltEcu → DltApplication → DltContext)
CMCommunication ManagementACCESS CONTROL + GRANTS 아코디언없음
SMState ManagementNOTIFICATIONS / REQUESTS / ACTION ITEMS 세 하위 탭상태 머신 · 배선 다이어그램
NMNetwork ManagementNETWORK HANDLES 하위 탭 (핸들별 Name / VLANs / Partial Networks)선택한 핸들의 NM 상태 머신
PHMPlatform Health ManagementCHECK POINTS / GLOBAL SUPERVISIONS 두 하위 탭감시 체크포인트 전이 다이어그램
TSTime SynchronizationTIME BASES 하위 탭 (Provider / Consumer 선택 후 생성)GlobalTime 허브/스포크 다이어그램
CRYCryptographyPROVIDERS / CERTIFICATES / CERT GROUPS 세 하위 탭없음
PERPersistencyKEY VALUE STORAGES / FILE STORAGES 두 하위 탭없음
IDSIntrusion DetectionNetwork Endpoint(하위에 Remote Configs), Ids Time Base, Reportable Security Events 섹션없음
UCMUpdate and Configuration ManagementVUCM(UCM Master) / UCM(UCM Subordinate) 두 하위 탭없음

개요가 없는 모듈에서는 오른쪽에 No overview for this module 이 표시됩니다.

SMACTION ITEMS 하위 탭에서는 항목 카드를 드래그해 목록 안의 순서를 바꿀 수 있습니다. 바뀐 순서는 모델에 그대로 기록되고 익스포트에도 그대로 반영되며, 순서 변경은 실행 취소 한 번으로 되돌아갑니다.

PER 의 각 저장소 행에는 Derive PersistencyInterface 액션이 있습니다. 실행하면 저장소 내용에서 Persistency 인터페이스를 만들어 Interface 에디터의 INTERFACE 모델에 추가합니다(09. Interface 에디터 참조).

UCM 에는 SHORT-NAME 필드가 없습니다. 익스포트할 때 고정된 표준 이름을 쓰기 때문입니다.

8.10.2 PROCESSES 탭

왼쪽 Processes 목록에는 이 컴포지션에 있는 Adaptive Application의 프로세스가 <AA 이름>/<프로세스 이름> 기준으로 모두 나열됩니다. 프로세스를 선택하면 가운데 상세 패널이 아래 순서로 채워집니다.

구역내용
CORE AFFINITY이 프로세스를 어느 코어에 붙일지 선택합니다. 상세 패널 본문에서 편집할 수 있는 유일한 값입니다
Adaptive Application 정보프로세스를 소유한 AA 노드의 정보 (읽기 전용)
STARTUP CONFIG시작 설정 (읽기 전용)
FUNCTION GROUP STATE함수그룹 : 상태 목록. 비어 있으면 No FG states configured
EXECUTION DEPENDENCY실행 의존성 목록. 비어 있으면 No execution dependencies

오른쪽 패널에는 프로세스 그래프가 그려집니다. 각 프로세스를 상자로 놓고 함수 그룹 상태와 실행 의존성을 선으로 잇습니다.

기능 클러스터 지정 (Mark as SM / Mark as PHM)

상세 패널 머리글 오른쪽에는 버튼이 두 개 있습니다. 프로세스에 AP 기능 클러스터 소속 (functionClusterAffiliation)을 지정하는 버튼이며, 한 Machine 안에서 각 소속은 프로세스 하나만 가질 수 있습니다.

버튼지정하는 값지정되면
Mark as SM / Unmark as SMState Management머리글에 STATE_MANAGEMENT 배지가 붙습니다
Mark as PHM / Unmark as PHMPlatform Health Management머리글에 PLATFORM_HEALTH_MANAGEMENT 배지가 붙습니다

배지 안의 × 를 눌러도 지정이 해제됩니다.

SM 지정은 배선까지 만듭니다. Mark as SM 은 소속 값만 기록하는 것이 아니라, 현재 함수 그룹마다 SM SWC에 StateClient R-Port와 FunctionGroupPortMapping을 함께 만듭니다. 해제하면 그 배선이 다시 지워집니다. 그래서 해제와 이관에는 확인 창이 뒤따릅니다. 상황별 확인 창은 다음과 같습니다.

상황확인 창 제목확인 버튼
SM 지정 해제Unmark as State ManagementUnmark
다른 프로세스가 이미 SM인 상태에서 Mark as SMReassign State ManagementReassign
다른 프로세스가 이미 PHM인 상태에서 Mark as PHMReassign Platform Health ManagementReassign
SM으로 지정된 프로세스에 Mark as PHMProcess is State Management진행 불가. SM을 먼저 해제하라는 안내만 표시됩니다

PHM 지정은 배선을 만들지 않습니다. 소속 값만 기록하므로 지정과 해제 모두 확인 없이 즉시 반영됩니다.

지정 해제가 지우는 범위는 SM SWC의 R-Port와 FunctionGroupPortMapping까지입니다. Interface 에디터에 만들어져 있던 StateClient 인터페이스 자체는 지우지 않고 남깁니다.

지정 · 해제 · 이관은 각각 VFB 편집 이력의 한 항목으로 묶여 기록됩니다. 배선이 함수 그룹 수만큼 만들어지거나 지워져도 항목은 하나이므로 실행 취소 한 번이면 전부 되돌아갑니다. 다이얼로그 안에서 Ctrl+Z 를 누르면 다이얼로그 자체의 편집 이력이 먼저 소비되므로(18.3 참고), 지정 · 해제만 되돌리려면 다이얼로그를 닫은 뒤 Ctrl+Z 를 누르는 것이 확실합니다.

표시와 실제 동작이 다른 항목이 있습니다. SM 해제 확인 창의 본문은 This action cannot be undone. 으로 끝나지만, 실제로는 위에서 설명한 대로 실행 취소로 되돌릴 수 있습니다.

8.11 PARA Base Configuration

PopcornSAR AUTOSAR Adaptive Platform 기본 구성을 프로젝트에 주입하는 기능입니다. 실행 방법은 두 가지입니다.

  1. Machine Configuration 다이얼로그 머리글의 PARA Platform 버튼을 누릅니다. 다이얼로그에 저장하지 않은 편집이 있으면 먼저 저장 여부를 묻습니다. 확인 창에서 Import 를 누르면 다이얼로그가 닫힌 뒤 주입이 시작됩니다(주입은 프로젝트 수준의 실행 취소 단위이므로 다이얼로그의 내부 편집 트랜잭션 밖에서 실행되어야 합니다).
  2. 명령 팔레트에서 PARA: Import Platform 을 실행합니다.

명령 팔레트 경로는 활성 VFB 에디터가 처리하며, HPC에 매핑된 컴포지션이 정확히 하나일 때만 바로 진행합니다. 그렇지 않으면 Select the target machine via the PARA Platform button in the Machine Configuration dialog. 안내 토스트가 나타납니다. VFB 에디터가 열려 있지 않으면 Open a VFB editor with an HPC-mapped composition, or use the PARA Platform button in the Machine Configuration dialog. 가 표시됩니다.

확인 창의 제목은 Import PARA Platform, 부제는 PopcornSAR AUTOSAR Adaptive Platform 이고 버튼은 Cancel / Import 입니다. 창에 표시되는 수치는 번들에서 그때그때 세어 보여 줍니다. 항목별 값은 다음과 같습니다.

항목번들에 들어 있는 값
Applications11 (CM, CSM, DM, EM, IDSM, NM, PHM, SM, TBM, UCM, VUCM)
Service Interfaces8 (+1 SM) — 서비스 인터페이스 8개와 SM 인터페이스 StateClient_MachineFG 1개
Error Domains4 (Com / Sm / Ucm / Vucm)
Data Types62
Connectors5 (PARA 컴포지션의 커넥터. 이 컴포지션은 프로토타입 11개와 제공 포트 3개를 갖습니다)
MachineMachineFG 함수 그룹 + 모듈 인스턴스 7개 (LOG, CM, SM, NM, PHM, TIME_SYNC, CRYPTO)

확인 창에는 다음 두 줄의 안내가 함께 표시됩니다.

  • Network binding (SOME/IP, DDS, IPC) is not included. Configure it in Deployment after adding.
  • Existing items with different content will ask for per-item confirmation.

주입은 ARXML 임포트와 같은 병합 파이프라인을 사용합니다. 따라서 충돌이 있으면 충돌 해결 다이얼로그가 나타나고, 전체가 하나의 실행 취소 단위로 기록됩니다. 성공하면 같은 머신의 Machine Configuration 다이얼로그가 다시 열려 MachineFG와 모듈이 합쳐진 결과를 보여 줍니다.

번들의 머신 파일은 별도의 머신으로 추가되지 않습니다. 그 안의 함수 그룹과 모듈 인스턴스만 사용자가 선택한 머신에 합쳐지고, 머신 이름 · 프로세서 · OS 같은 정체성 필드는 건드리지 않습니다. 번들 안의 HPC/... 참조는 주입 시점에 대상 머신 이름으로 다시 묶입니다. IVC와 SIGNAL 모델은 번들에 없으므로 그대로 유지되며, SYSTEM 모델은 대상 머신을 HPC로 등록하고 SWC-ECU 매핑을 기록하는 만큼만 바뀝니다.

8.12 ECU Configuration 다이얼로그 (Classic)

ECU에 매핑된 컴포지션 노드의 ECU 아이콘(초록색)을 클릭하면 열립니다. 탭은 두 개입니다.

내용
ECUIVC에서 읽어 온 ECU 정보를 읽기 전용으로 보여 줍니다 — CONNECTORS, CONTROLLERS, SERVICE INSTANCES, APPLICATION ENDPOINTS 표
TASKOS 태스크와 Runnable 매핑을 편집합니다

TASK 탭 왼쪽의 OS TASKS 목록에는 +(Add Task), (Delete Task), (Auto-Generate) 버튼이 있습니다. + 를 누르면 OsTask_<번호> 이름에 우선순위 1, 스케줄 FULL, 활성화 1 인 태스크가 만들어집니다. 태스크가 없으면 No tasks defined, 선택하지 않았으면 Select a task from the list 가 표시됩니다.

(Auto-Generate)는 TimingEvent를 주기별로 묶어 주기마다 태스크 하나(OsTask_<주기>ms)와 알람 하나(OsAlarm_<주기>ms)를 만들고, 해당 이벤트를 그 태스크에 배정합니다. 카운터가 하나도 없으면 OsCounter 를 함께 만듭니다. 이때 기존 태스크와 알람 목록은 통째로 교체되므로 주의가 필요합니다. TimingEvent가 아닌 이벤트는 배정하지 않고 남겨 둡니다.

가운데 TASK CONFIGURATION 패널은 두 부분으로 나뉩니다.

부분내용
OS TASK 섹션태스크 이름, Task Schedule(FULL / NON), Task Priority, 활성화 횟수, Autostart 스위치와 그 옆의 Os App Mode 참조, OS EVENT(이벤트 참조 + EVENT MASK 16진 입력)
OS ALARM 아코디언머리글의 + 로 알람을 연결하거나 새로 만들고 × 로 연결을 끊습니다. 펼치면 알람 이름, OS COUNTER, AUTOSTART(Autostart Type: ABSOLUTE / RELATIVE) 가 나타납니다

오른쪽 RTE EVENT TO TASK MAPPING 패널에서 RTE 이벤트를 태스크에 배정합니다. 매핑된 이벤트가 없으면 No events mapped to this task, 모두 매핑됐으면 All events are mapped 가 표시됩니다. 이 컴포지션에 Atomic SWC 인스턴스가 없으면 No Atomic SWC instances found in this ECU composition. 이 표시됩니다.

이미 매핑된 행은 드래그로 순서를 바꿀 수 있습니다. 행을 잡고 위아래로 끌면 삽입선이 표시되고, 놓으면 그 자리로 옮겨집니다. 이 순서가 곧 태스크 안에서의 실행 순서이며, 위에서부터 0번으로 다시 번호가 매겨져 모델에 기록됩니다. 순서 변경은 실행 취소 한 번으로 되돌아갑니다. 아직 매핑되지 않은 이벤트 행은 끌 수 없습니다.

TASK 탭의 내용은 OsRte 모듈 설정과 양방향으로 동기화됩니다. 따라서 여기서 만든 태스크는 12. ECUC 에서도 보입니다.

8.13 저장 · 실행 취소 · 외부 변경

  • Ctrl+S 로 저장하면 8.1의 파일이 한 번에 기록되고, 이름이 바뀌어 쓸모없어진 SWC 정의 / Machine 설정 파일이 삭제됩니다.
  • 실행 취소와 다시 실행은 한 프로젝트의 모든 에디터가 공유하는 하나의 타임라인을 사용합니다. VFB 노드의 위치 · 크기 · 포트 위치 · 경계 포트 변경과 연결선 경로도 실행 취소 대상입니다. 화면 이동과 확대/축소만 실행 취소에서 제외됩니다(뷰 상태이기 때문입니다).
  • 편집 중인 내용이 있는 상태에서 디스크의 VFB 파일이 밖에서 바뀌면, PAIO는 다시 읽지 않고 편집 중인 내용을 지킵니다. 이때 VFB files changed on disk. Keeping your unsaved edits - save to overwrite the external change. 경고 토스트가 나타납니다. 저장하면 편집 내용이 외부 변경을 덮어씁니다. 상세 다이얼로그가 열려 있고 그 안에 저장하지 않은 편집이 있을 때도 같은 규칙이 적용됩니다.

8.14 다른 에디터와의 연동

  • 컴포지션과 ECU/HPC의 매핑은 IVC 에디터, System 페이지와 실시간으로 동기화됩니다. Create ECU & Map / Create HPC & Map 은 IVC에 노드를 직접 만듭니다.
  • 포트에 지정하는 인터페이스는 09. Interface 에디터의 정의를 참조합니다. 인터페이스 이름을 바꾸면 열려 있는 VFB는 즉시, 닫혀 있는 SWC 정의 파일은 참조 재작성으로 갱신됩니다.
  • 포트의 DERIVE SR/CS INTERFACE 는 SR/CS 인터페이스와 InterfaceMapping을 한 번에 만듭니다. 이때 Interface 모델과 VFB 모델에 걸친 변경이 하나의 실행 취소 단위로 기록됩니다.
  • InterfaceMapping은 VFB 모델에 저장되므로 Interface 에디터의 Mapping 탭에서도 같은 데이터를 편집합니다. 한쪽에서 고치면 다른 쪽에 반영됩니다 (09. Interface 에디터 9.3.7 참조).
  • SWC 이름을 바꾸면 컴포지션의 프로토타입 참조, 커넥터 참조, SYSTEM 매핑까지 함께 갱신되고, 저장 시 파일 이름도 함께 바뀝니다.
  • ARXML 임포트/익스포트는 13. 임포트 · 익스포트에서 설명합니다.
  • 단축키 전체 목록은 19. 단축키에서 확인할 수 있습니다.