System 페이지
이 장에서 다루는 것
이 장은 System 페이지 한 화면에서 다루는 네 가지 작업을 설명합니다. SYSTEM 요소의 이름·버전 관리, VFB 컴포지션 계층 조회와 이름 편집, SWC ↔ ECU 매핑, 그리고 진행률·품질 지표 확인입니다. 대상 독자는 프로젝트에 IVC 토폴로지와 VFB 컴포지션을 이미 정의한 사용자입니다. 선행 조건은 두 가지입니다. ECU/HPC 목록은 06. IVC 에디터에서, SWC 계층은 08. VFB 에디터에서 만들어져야 이 페이지에 나타납니다.
11.1 여는 방법과 저장 위치
- 프로젝트 탐색기에서
design ▸ System노드를 더블클릭합니다. System 탭이 열립니다. - 편집한 뒤
Ctrl+S를 누르거나 Project ▸ Save 를 실행합니다. System 모델에 저장됩니다.
design ▸ System 노드는 IVC, VFB, Interface, DataType, Signal 노드를 자식으로
갖습니다. 따라서 노드를 펼치면 System 페이지를 열지 않고도 하위 에디터로 바로 이동할 수 있습니다.
자식이 있는 노드이므로 Enter 키는 펼치기·접기로 동작합니다. 에디터는 더블클릭으로만 열립니다.
편집 결과가 저장되는 곳은 System 모델 하나지만, 아래 11.4·11.8에서 설명하는 일부 조작은 VFB 모델과 SWC 정의도 함께 수정합니다.
11.2 화면 구성
한 화면에 네 개의 패널이 있습니다. 위쪽 행은 System Information(좌)과 Statistics(우)를 가로로 배치하고, 아래쪽 행은 SWC Hierarchy(좌)와 ECU Mapping(우)을 좌우로 나눕니다.

네 패널이 한 화면에 함께 있으므로, 계층에서 고른 요소가 어느 ECU에 올라가 있는지 오른쪽에서 바로 확인할 수 있습니다.
- 아래쪽 행의 두 제목 SWC Hierarchy, ECU Mapping 은 각각 클릭하면 해당 패널이 접히거나 펼쳐집니다.
- 두 패널 사이의 경계선(sash)을 드래그하면 폭 비율이 바뀝니다. 비율은 20%~80% 범위로 제한됩니다.
- 값을 고쳐도 보고 있던 위치(스크롤)를 잃지 않습니다.
11.3 System Information
시스템 요소의 기본 정보를 편집합니다. 필드는 세 개입니다.
| 필드 | 형태 | 설명 |
|---|---|---|
| Name | 한 줄 입력 | AUTOSAR SYSTEM 요소의 SHORT-NAME |
| Version | 한 줄 입력 | major.minor.patch 형식의 버전 문자열 |
| Description | 여러 줄 입력 | 설명. 크기 조절 가능 |
- Name 만 확정 시점이 다릅니다. 입력 중에는 모델에 반영되지 않고, 포커스가 빠질 때(또는
Enter) 한 번에 확정됩니다.Esc를 누르면 마지막으로 확정된 값으로 되돌아갑니다. - 확정 시점에 AUTOSAR SHORT-NAME 규칙(영문자로 시작, 영문자·숫자·밑줄만, 128자 이하)에 어긋나면 값이 모델에 반영되지 않고, 입력 칸이 모델의 값으로 되돌아가며 한 줄짜리 오류 문구가 표시됩니다. 이름은 식별자이므로, 화면에 입력된 값이 아니라 모델이 실제로 받아들인 값을 보여 주기 위한 동작입니다.
- Version 과 Description 은 키 입력마다 모델에 반영됩니다. Version 의 형식이
어긋나면
Must be major.minor.patch (e.g. 1.0.0), 비어 있으면Version is required가 표시됩니다. 다만 이 표시는 시각적 경고이며 값은 그대로 모델에 들어갑니다. - 세 필드 모두, 한 번 입력을 시작해서 포커스가 빠질 때까지의 타이핑 전체가 실행 취소 한 단위로
묶입니다. 즉
Ctrl+Z한 번이면 그 편집 세션 전체가 되돌아갑니다. - 모델의 Name 이 비어 있으면 저장이 거부되고
System name cannot be empty오류가 기록됩니다. 위 확정 규칙 때문에 이 화면에서 이름을 비울 수는 없으므로, 이 오류는 외부에서 편집된 System 모델을 열었을 때 나타납니다. - Name 을 바꾸면 그 사실이 다른 에디터에도 즉시 전달됩니다.
예를 들어 Name 을 BodySystem, Version 을 1.0.0 으로 두면 익스포트 시 SYSTEM 요소의
SHORT-NAME이 BodySystem 이 됩니다.
11.4 SWC Hierarchy
VFB의 컴포지션 계층을 4열 표로 보여 주고, 이름과 배치를 이 표에서 직접 고칠 수 있습니다. 표의 원본은 VFB 모델이며 System 모델이 아닙니다. 따라서 VFB 에디터에서 구조를 바꾸면 이 표도 따라 바뀝니다.
SWC 구조가 없으면 No SWC structure found. Open VFB editor to define components. 가 표시됩니다.
11.4.1 열 구성
표의 네 열은 다음과 같습니다.
| 열 | 내용 |
|---|---|
| Composition | 계층 구조, 종류 배지, SWC 타입 이름(편집 가능) |
| AS PROTOTYPE | 프로토타입 SHORT-NAME(편집 가능) |
| REFERENCE SWC | 참조하는 SWC 타입. 루트 행만 드롭다운, 나머지 행은 읽기 전용 |
| MAPPED ECU | 배치된 ECU/HPC. 깊이 1 컴포지션 행에만 드롭다운 |
REFERENCE SWC 열은 루트 행에서만 편집할 수 있습니다. 하위 행에서는 참조하는 SWC 이름이 글자로만 표시되고, 클릭해도 드롭다운이 열리지 않습니다. 하위 프로토타입의 참조를 바꾸는 조작은 VFB 에디터가 담당합니다.
11.4.2 행 종류와 배지
표에는 네 종류의 행이 있습니다.
- 루트 행: System 배지가 붙습니다. Composition 열에는 루트 컴포지션 이름, AS PROTOTYPE 열에는 RootSwCompositionPrototype의 SHORT-NAME이 들어갑니다. MAPPED ECU 열은 항상 비어 있습니다.
- 노드 행: SWC 타입별 배지가 붙습니다.
- 그룹 행: 컴포지션을 펼치면 그 아래에 Ports 와 Components 라는 가상 행이 생기고, 각각을 따로 접거나 펼칠 수 있습니다. 컴포지션이 아닌 SWC는 포트를 바로 자식 행으로 보여 줍니다.
- 포트 행: 방향 배지와 포트 이름이 표시됩니다.
SWC 타입 배지는 일곱 가지입니다.
| 배지 | SWC 타입 |
|---|---|
Comp | composition |
App | application |
AA | adaptive-application |
CDD | complex-device |
Svc | bsw-service |
ECU | ecu-abstraction |
S/A | sensor-actuator |
포트 방향 배지는 P(provided), R(required), PR(양방향) 세 가지입니다.

루트 행에 System 배지가 붙고 MAPPED ECU 칸은 비어 있습니다. 그 아래 깊이 1 컴포지션 행(Comp)에만 ZONE (ECU), HPC (HPC) 처럼 배치된 노드가 표시됩니다. 컴포지션을 펼치면 Ports 와 Components 그룹 행이 생기고, 그 안에 CDD · App 노드 행과 P · R 포트 행이 들어갑니다.
11.4.3 이름 셀 편집 절차
Composition 열의 이름과 AS PROTOTYPE 열은 표 안에서 바로 편집합니다.
- 셀의 글자를 클릭합니다. 그 자리에 입력 칸이 나타나고 기존 값이 전체 선택됩니다.
- 값을 고칩니다. 입력 중 규칙 위반이 있으면 입력 칸 테두리가 붉어지고 아래에 오류 말풍선이 표시됩니다.
Enter를 누르거나 포커스를 옮깁니다. 값이 확정됩니다.Esc를 누르면 편집이 취소됩니다.- 확정 시점에 검증을 통과하지 못하면 값은 버려지고 셀이 원래 값으로 돌아갑니다.
검증 메시지는 두 가지입니다.
| 상황 | 메시지 |
|---|---|
| 문자 규칙 위반 | Name must start with a letter or underscore, and contain only letters, digits, or underscores |
| 다른 컴포지션·SWC와 이름 중복 | Name "<입력값>" already exists |
- 값을 지우고 확정하면 메시지 없이 그대로 버려지고 셀이 원래 값으로 돌아옵니다. 표 안에서는 이름을 빈 값으로 만들 수 없습니다.
- 중복 검사는 대소문자를 구분하지 않습니다. 예를 들어
DoorSwc가 이미 있으면doorswc도 거부됩니다. - 이 표의 문자 규칙은 밑줄로 시작하는 이름을 허용하고 길이 상한을 두지 않습니다. System Information 의 Name 필드가 쓰는 AUTOSAR SHORT-NAME 규칙보다 느슨하므로, 밑줄로 시작하는 이름은 익스포트 시 문제가 될 수 있습니다.
Composition 열에서 이름을 바꾸는 것은 SWC 타입 자체의 이름을 바꾸는 조작입니다. 이 조작은
Renaming SWC type... 문구의 전체 화면 대기 오버레이를 띄운 채 관련 파일을 즉시 정리합니다
(11.8 참고). AS PROTOTYPE 열의 이름 변경은 프로토타입 인스턴스 이름만 바꾸며, 이때
System 모델, VFB 모델, 그리고 그 프로토타입을 담고 있는 상위 컴포지션의
SWC 정의가 함께 기록됩니다. 두 조작 모두 저장을 기다리지 않습니다.
11.4.4 루트 컴포지션 지정
루트 행의 REFERENCE SWC 드롭다운은 VFB 모델에 있는 컴포지션 이름을 후보로 제공합니다.
- 드롭다운을 클릭합니다. 검색 입력(
Type to search...)이 나타나고 후보 목록이 열립니다. - 후보를 고릅니다. System 모델의 루트 컴포지션 참조가 바뀝니다.
- 이때 VFB 모델의 컴포지션 순서가 새 루트를 기준으로 재배열됩니다. 새 루트에서 도달 가능한 컴포지션이 앞쪽에, 도달하지 못하는 컴포지션이 뒤쪽에 놓입니다. 컴포지션이 삭제되지는 않습니다.
- 이 재배열은 루트 변경과 같은 실행 취소 단위에 묶입니다.
Ctrl+Z한 번으로 둘 다 되돌아갑니다.
x 버튼을 누르면 선택이 지워집니다.
11.4.5 ECU/HPC 배치
MAPPED ECU 드롭다운은 깊이 1 컴포지션 행에만 나타납니다. 그보다 깊은 행, 컴포지션이 아닌 행, 포트 행에는 이 열이 비어 있습니다.
- 후보 목록의 표시 형식은
<이름> (<종류>)입니다. 예:DoorEcu (ECU),ZoneCtrl (HPC). - 후보는 IVC 모델에서 읽어 옵니다. 프로젝트에 ECU/HPC가 하나도 없으면 드롭다운 대신 이미 기록되어 있던 배치 이름만 흐린 글자로 표시됩니다.
- 배치를 고르면 그 결과가 즉시 우측 ECU Mapping 목록과 IVC·VFB 에디터에 반영됩니다.
11.5 ECU Mapping
IVC에 정의된 ECU/HPC와 컴포지션의 배치 관계를 한 줄씩 보여 주는 읽기 전용 목록입니다. 행 형식은
<ECU 배지> <ECU 이름> → <컴포지션 이름> 입니다.
행은 다음 순서로 나열됩니다.
- 배치가 있는 조합 (ECU와 컴포지션이 모두 채워진 행)
- 아무 컴포지션도 배치되지 않은 ECU/HPC → 오른쪽이
(none) - 어느 ECU/HPC에도 배치되지 않은 컴포지션 → 왼쪽이
(unassigned)
ECU/HPC가 하나도 없으면 No ECU/HPC defined. Open IVC editor to define network topology. 가
표시됩니다.
11.6 Statistics
읽기 전용 지표 패널입니다. 값은 모델이 바뀔 때마다 다시 계산됩니다. 두 구역으로 나뉩니다.

왼쪽이 System Completeness, 오른쪽이 Architecture Quality 입니다. 이 예에서는 ECU가 있으므로 1단계가 100%, 리프 노드가 아직 어느 ECU에도 배치되지 않아 2단계가 0%가 되어 전체는 세 값의 평균인 67% 로 표시됩니다. 같은 이유로 Cross-ECU Comm 도 0%입니다.
11.6.1 System Completeness
세 단계의 진행률 막대와, 그 세 값의 평균인 전체 백분율을 보여 줍니다. 계산식은 다음과 같습니다. 여기서 "리프 노드"는 SWC 트리에서 자식이 없는 노드를 말합니다.
| 단계 | 지표 | 계산식 |
|---|---|---|
| 1 | ECU Definition | ECU/HPC가 하나라도 있으면 100%, 없으면 0% |
| 2 | SWC Deployment | 배치된 리프 노드 수 ÷ 전체 리프 노드 수 |
| 3 | Communication Connection | 포트가 1개 이상인 리프 노드 수 ÷ 전체 리프 노드 수 |
전체 백분율은 세 값의 산술 평균을 반올림한 값입니다. SWC 트리가 없거나 리프 노드가 없으면 2·3단계는 0%가 됩니다.
11.6.2 Architecture Quality
세 개의 도넛 차트로 아키텍처 특성을 보여 줍니다. 각 값은 0~1 로 계산한 뒤 백분율로 표시합니다. 세 지표의 계산식은 다음과 같습니다.
| 지표 | 계산식 |
|---|---|
| SWC Complexity | (리프 노드 전체 포트 수 ÷ 리프 노드 수) ÷ 10, 최대 1 |
| Comp Depth | 최대 계층 깊이 ÷ 5, 최대 1 |
| Cross-ECU Comm | 포트를 가진 리프 노드가 배치된 ECU 수 ÷ 리프 노드가 배치된 ECU 수, 최대 1 |
Cross-ECU Comm 은 리프 노드가 배치된 ECU가 1개 이하이면 항상 0%입니다. ECU 간 통신이라는 개념이 성립하지 않기 때문입니다.
세 차트와 진행률 막대의 색은 같은 기준을 사용합니다. 80% 이상은 양호 색, 40% 이상 80% 미만은 경고 색, 40% 미만은 위험 색입니다.
이 지표들은 품질을 판정하는 검사 결과가 아니라 규모·형태를 한눈에 보기 위한 요약입니다. 값이 낮다고 해서 모델이 잘못된 것은 아닙니다. 규칙 위반 검사는 14. Validation이 담당합니다.
11.7 저장 · 실행 취소 · 단축키
저장과 실행 취소에 쓰는 단축키는 다음과 같습니다.
| 조작 | 단축키 | 동작 |
|---|---|---|
| 저장 | Ctrl+S | System 모델에 기록합니다 |
| 실행 취소 | Ctrl+Z | 프로젝트 저널의 최신 작업을 되돌립니다 |
| 다시 실행 | Ctrl+Y 또는 Ctrl+Shift+Z | 되돌린 작업을 다시 적용합니다 |
- 단축키는 System 탭이 화면에 보일 때만 동작합니다.
Ctrl+S는 편집 중이던 입력 칸의 값을 먼저 확정한 뒤 저장합니다. 입력 칸에 포커스를 둔 채로 저장해도 방금 입력한 값이 빠지지 않습니다.Ctrl+Z/Ctrl+Y는 먼저 포커스를 입력 칸에서 빼냅니다. 이렇게 하지 않으면 브라우저 기본 실행 취소가 글자 단위로 동작해 저널과 어긋나기 때문입니다.- Project ▸ Save, Project ▸ Save All, Edit ▸ Undo/Redo 메뉴로도 같은 동작을 실행할 수 있습니다.
- 탭의 변경 표시(점)는 저널에서 유도됩니다. 편집이 저널에 기록되지 않으면 점도 생기지 않습니다.
11.7.1 외부 변경과 충돌
다른 도구나 다른 창이 System 모델을 바꾸면 System 페이지가 이를 감지합니다.
- 저장하지 않은 편집이 남아 있으면 디스크 내용을 읽어 들이지 않고 다음 경고를 표시합니다.
System file changed on disk. Keeping your unsaved edits - save to overwrite the external change.편집 중인 내용을 말없이 덮어써서 잃는 상황을 막기 위한 동작입니다. - 편집이 없으면 조용히 다시 읽어 화면을 갱신합니다.
- IVC 모델, VFB 모델, SWC 정의가 바뀌면 참조 정보(ECU 목록, SWC 트리)만 다시 읽습니다. 이 갱신은 실행 취소 이력에 남지 않습니다.
11.8 다른 에디터와의 연동
- ECU/HPC 목록은 IVC에서 자동 동기화됩니다. System 페이지에는 ECU를 추가하거나 지우는 기능이 없습니다. ECU는 06. IVC 에디터에서 만듭니다.
- SWC 계층은 VFB에서 옵니다. 컴포지션·프로토타입의 추가·삭제는 08. VFB 에디터에서 합니다.
- SWC ↔ ECU 매핑은 세 곳에서 편집할 수 있고 서로 실시간 동기화됩니다. 이 페이지의 MAPPED ECU 열, IVC 에디터의 노드 우클릭 ▸ Map Composition, VFB 에디터의 컴포지션 우클릭 ▸ Map to ECU/HPC 입니다.
- SWC 타입 이름 변경은 파일 세 종류를 한 번에 수정합니다. System 모델,
VFB 모델, 그리고 이름이 바뀐 SWC 정의(옛 파일 삭제 + 새 파일 생성)입니다.
참조를 들고 있던 컴포지션 SWC 정의도 함께 갱신됩니다. 이 전체가 하나의 실행 취소
단위이므로
Ctrl+Z한 번이면 두 에디터의 변경이 같이 되돌아갑니다. 이름 변경 중에는Renaming SWC type...오버레이가 표시됩니다. - AS PROTOTYPE 열의 프로토타입 이름 변경도 즉시 반영됩니다. System 모델, VFB 모델, 그리고 그 프로토타입을 담고 있는 상위 컴포지션의 SWC 정의가 하나의 실행 취소 단위로 함께 기록됩니다. SWC 정의 파일 이름은 바뀌지 않습니다.
- 루트 행 REFERENCE SWC 의 선택은 VFB 모델의 컴포지션 순서를 즉시 재배열합니다. 이 쓰기도 같은 실행 취소 단위에 포함됩니다.
- 이런 교차 파일 쓰기가 진행되는 동안 VFB 에디터의 파일 감시는 잠시 멈춥니다. 드릴다운 상태나 배치 좌표가 초기화되는 것을 막기 위한 동작입니다.
- 데이터 매핑(포트의 데이터 요소 ↔ 시그널)은 이 모델에 기록되지만 편집 화면은 VFB 에디터에 있습니다. ECU/HPC에 배치된 컴포지션의 경계 위임 포트를 고르면 속성 패널에 Data Mapping 아코디언이 나타납니다. 여기서 고친 내용이 System 모델의 데이터 매핑으로 들어갑니다.
- 검증 패널에서 System 관련 항목을 더블클릭하면 이 페이지가 열리고 해당 필드나 행이 강조됩니다. 자세한 내용은 14. Validation에서 확인할 수 있습니다.
- 익스포트 시 SYSTEM 모델이 어떤 ARXML로 나가는지는 13. 임포트 · 익스포트에서 확인할 수 있습니다.
11.9 자주 겪는 상황
이 페이지에서 자주 나타나는 증상과 그 원인을 정리했습니다.
| 증상 | 원인과 처리 |
|---|---|
표가 비어 있고 No SWC structure found... 만 보임 | VFB에 컴포지션이 없는 상태입니다. VFB 에디터에서 먼저 만듭니다 |
| MAPPED ECU 드롭다운이 없음 | 깊이 1 컴포지션 행이 아니거나, IVC에 ECU/HPC가 하나도 없는 경우입니다 |
| REFERENCE SWC 를 눌러도 반응이 없음 | 루트 행이 아닌 경우입니다. 하위 행의 참조는 VFB 에디터에서 바꿉니다 |
| 이름을 고쳤는데 원래 값으로 돌아옴 | 값이 비었거나 이름 규칙 위반 또는 중복입니다. 확정 직전에 표시된 오류 말풍선을 확인합니다 |
| 저장이 되지 않음 | 모델의 Name 이 비어 있으면 저장이 거부됩니다. 외부에서 편집된 파일을 열었을 때 생깁니다 |
| 이름을 바꾸자 대기 화면이 뜸 | SWC 타입 이름 변경이 SWC 정의 파일까지 정리하는 중입니다. 끝날 때까지 기다립니다 |
| 외부 변경 경고만 뜨고 화면이 그대로임 | 저장하지 않은 편집이 있어 자동 갱신을 건너뛴 것입니다. 저장하면 이쪽 내용이 남습니다 |