본문으로 건너뛰기

부록

이 장에서 할 일​

이 부록은 따라 하는 장이 아니라 찾아보는 자료다. ARXML 익스포트까지 마친 뒤 내 설계를 점검하거나, 어느 값을 어느 장에서 넣었는지 다시 찾을 때 쓴다.

  • 완성된 설계 점검표 — 13장까지 마친 설계에서 화면에 보여야 하는 것
  • 값 표 모음 — 1~11장에서 입력한 값 전부
  • 프로젝트 파일 구성 — design/ 아래의 파일과 그 파일을 쓰는 장
  • 참조 설계와 다른 곳 — 내 익스포트가 참조 설계 EM_Test_*.arxml 과 다른 곳과 이유
  • 자주 겪는 문제 — 검증 메시지와 증상, 고치는 장

시작하기 전에​

  • 이 부록의 값은 1~13장의 본문과 같다. 값이 다르게 보이면 해당 장의 본문을 따른다.
  • 완성된 설계는 검증을 마친 상태다. VALIDATION 패널은 No validation issues. 이다.

완성된 설계 점검표​

머신 Ecu​

  • VFB 루트 캔버스에 컴포지션 HPC [Ecu] 가 있고, 헤더 오른쪽의 머신 아이콘을 클릭하면 Machine Configuration [HPC] 다이얼로그가 열린다.
  • MACHINE 탭의 OS 가 POSIX, PROCESSOR 가 CPU, CORE 표가 Core0 / 0 부터 Core3 / 3 까지 네 줄, TRUSTED PLATFORM 이 NO SUPPORT, REFERENCED HPC 가 HPC Ecu 이다.
  • FUNCTION GROUP 탭에 MachineFG 하나가 있고 모드는 Off, Startup, Shutdown, Restart, Verify 이다.
  • MODULE › Log and Trace 의 ECU ID 가 ECU1, MODULE › State Management › ACTION ITEMS 의 MAX ACTION LIST DURATION 이 1000, 단위 s 이다.
  • PROCESSES 탭 목록에 Sensor, Fusion, Actuator, CM, EM 다섯 개가 있고, EXECUTION DEPENDENCY 그래프에 CM 에서 Sensor, Fusion, Actuator 로 가는 Running 화살표 셋이 있다.

토폴로지​

  • 커넥터 eth0 의 CONTROLLER 가 Ecu_EthernetController, CONNECTED CHANNEL 이 EthernetCluster / PhysicalChannel 이다.
  • NETWORK ENDPOINT 가 127.0.0.1 / FIXED, 멀티캐스트 224.0.0.1 / 30490 이다.
  • APPLICATION ENDPOINTS 에 UDP eth0, 127.0.0.1:20001, :20002, :20003 세 장만 있다.
  • SERVICE INSTANCES 에 Provider_Sensor UDP:20003, Actuator_Sensor UDP:20001, Fusion_Sensor UDP:20002 가 있다.
  • Communication Cluster Configuration [EthernetCluster] 의 NM CLUSTER, TIME DOMAIN 탭 이름 앞에 빈 동그라미가 있다.

데이터 타입, 인터페이스, SOME/IP​

  • DataType 편집기의 목록에 프리미티브 11개, 포인터 타입 2개 VoidPtr, ConstVoidPtr, 그리고 ByteArray [DYNAMIC_ARRAY], String [STRING] 까지 15개 항목이 있다.
  • Interface 편집기 SERVICE 탭의 Sensor 에 이벤트 SensorData ByteArray 와 메서드 Calculation(인자 다섯 개)이 있다.
  • SOA DEPLOYMENT 의 카드 SOME/IP Sensor 요약이 SERVICE ID = 0x000B VERSION 1.0 EVENTS = 1 METHODS = 1 이고, 제공자 Provider_Sensor 0x0001 과 소비자 Actuator_Sensor, Fusion_Sensor 0xFFFF (ANY) 가 있다.

Adaptive Application​

  • 컴포지션 HPC 안에 Sensor, Fusion, Actuator, CM, EM 이 있고, 각 노드의 NAME 과 AS PROTOTYPE 가 같다.
  • 포트 셋이 모두 이름 Sensor, PORT INTERFACE Service: Sensor 이고, 커넥터 Assembly_Sensor_Fusion, Assembly_Sensor_Actuator 가 있다.
  • 각 AA Internal Behavior 다이얼로그의 EXECUTION 탭에 프로세스 카드가 하나씩 있고, MachineFG : Off 행은 어디에도 없다.
  • Sensor, Fusion, Actuator 의 매핑 박스가 Sensor/AA/Sensor, Fusion/AA/Sensor, Actuator/AA/Sensor 이고, CLIENT ID 가 Fusion 은 0x2, Actuator 는 0x1 이다.
  • LOG CONFIG 의 APPLICATION ID 가 SENS, FUSN, ACTA, CM, EM 이고, 앞의 셋에 DLT 컨텍스트 SENS : INFO, FUSN : INFO, ACTA : INFO 가 있다.

검증과 익스포트​

  • VALIDATION 패널이 No validation issues. 이고, 패널 제목 옆과 푸터 V 아이콘에 배지가 없다.
  • export 폴더에 AADesign_COM.arxml, AADesign_DataType.arxml, AADesign_Interface.arxml, AADesign_SWC.arxml, AADesign_System.arxml 다섯 개가 있고, XML 편집기의 상태 표시줄이 ✓ No problems 이다.
  • 수정됨 표시 ● 가 붙은 탭이나 다이얼로그가 없다.

Auto Layout 을 적용하고 저장한 프레임 HPC

그림 14-1. 완성된 설계의 컴포지션 HPC(Adaptive Application 과 포트의 그림 8-12). 왼쪽 열에 위에서부터 CM, EM, Actuator, Fusion, 오른쪽에 Sensor 가 있다. ① Sensor 의 P 포트, ② Fusion 의 R 포트, ③ Actuator 의 R 포트. 노드와 포트의 위치는 Auto Layout 결과에 따라 다를 수 있으며 설계 값이 아니다.

값 표 모음​

프로젝트와 머신 (1장, 2장)​

항목값장
프로젝트 이름AADesign1
System 편집기의 HPC 노드 이름Ecu1
컴포지션 NAME / AS PROTOTYPEHPC / HPC1
매핑노드 Ecu › SW Mapping › HPC1
OSPOSIX2
TRUSTED PLATFORMNO SUPPORT (기본값)1
PROCESSORCPU (기본값)1
CORE / CORE IDCore0 / 0, Core1 / 1, Core2 / 2, Core3 / 32
함수 그룹MachineFG (기본값, 바꾸지 않음)1
GROUP NAME / INITIAL MODEMachineState / Off1
모드 선언Off, Startup, Shutdown, Restart, Verify1
Log and Trace › ECU IDECU12
State Management › MAX ACTION LIST DURATION1000 s2

토폴로지 (3장)​

요소항목값
Ethernet 컨트롤러NAMEEcu_EthernetController
Ethernet 커넥터NAME / CONTROLLEReth0 / Ecu_EthernetController
통신 클러스터NAMEEthernetCluster
물리 채널CHANNEL NAME / VLAN IDPhysicalChannel (기본값) / 빈 값
네트워크 엔드포인트UNICAST IPV4 ADDRESS / ADDRESS SOURCE127.0.0.1 / FIXED
멀티캐스트MULTICAST IPV4 ADDRESS / MULTICAST PORT224.0.0.1 / 30490
애플리케이션 엔드포인트TYPE UDP, PORT NUMBER20001, 20002, 20003
엔드포인트 이름 (자동)—Ecu_eth0_UDP_20001, Ecu_eth0_UDP_20002, Ecu_eth0_UDP_20003
Communication Cluster Configuration [EthernetCluster]NM CLUSTER, TIME DOMAIN 탭꺼짐 (기본값, 그대로 둠)

데이터 타입 (4장)​

타입CATEGORYELEMENT TYPEMAX SIZEC++ NAMESPACE
ByteArrayDYNAMIC_ARRAYuint81aa::type
StringSTRING—256aa::type

프리미티브 11개(boolean, float32, float64, sint8, sint16, sint32, sint64, uint8, uint16, uint32, uint64)와 포인터 타입 2개 VoidPtr, ConstVoidPtr 는 내장 타입이라 입력하지 않는다.

서비스 인터페이스 (5장)​

요소값
서비스 인터페이스Sensor, C++ NAMESPACE sensor::service, MAJOR VERSION 1, MINOR VERSION 0
이벤트SensorData, TYPE ByteArray
메서드Calculation, METHOD TYPE REQUEST AND RESPONSE
인자 1~4IN float32 front, rear, left, right
인자 5OUT float32 result
필드없음

SOME/IP 배포와 서비스 디스커버리 (6장)​

요소값
배포Sensor, SERVICE ID 11 (0x000B), MAJOR VERSION 1 / MINOR VERSION 0
이벤트 배포SensorData, EVENT ID 1, TRANSPORT UDP
메서드 배포Calculation, METHOD ID 1, TRANSPORT UDP
이벤트 그룹Eventgroup_SensorData, EVENTGROUP ID 1, EVENTS SensorData
제공자Provider_Sensor, INSTANCE ID 1
소비자Actuator_Sensor, Fusion_Sensor, REQUIRED INSTANCE ID ANY (모델 값 65535)
제공자 이벤트 그룹MULTICAST THRESHOLD UNICAST (0)
SD 칸기본값입력값제공자 (SD SERVER CONFIG)소비자 (SD CLIENT CONFIG)
INITIAL DELAY MIN10 ms10 us입력입력
INITIAL DELAY MAX100 ms100 us입력입력
REPETITION BASE DELAY200 ms200 us입력입력
REPETITION MAX3그대로기본값기본값
OFFER CYCLIC DELAY500 ms1 ms입력칸 없음
TTL0xFFFFFF그대로기본값기본값
REQUEST RESPONSE DELAY MIN / MAX0 s / 0 s그대로기본값칸 없음

커넥터 바인딩 (7장)​

인스턴스역할UDP PORTTCP PORT
Provider_Sensor제공자(P)20003비워 둠
Actuator_Sensor소비자(C)20001비워 둠
Fusion_Sensor소비자(C)20002비워 둠

세 인스턴스 모두 커넥터 eth0 에 바인딩하고, IP ADDRESS 는 127.0.0.1 이 자동으로 들어온다.

Adaptive Application, 포트, 커넥터 (8장)​

Adaptive ApplicationNAME = AS PROTOTYPE포트포트 NAMEPORT INTERFACE
센서SensorPPortSensorService: Sensor
융합FusionRPortSensorService: Sensor
액추에이터ActuatorRPortSensorService: Sensor
통신 관리CM없음——
실행 관리EM없음——
커넥터제공 쪽요구 쪽
Assembly_Sensor_FusionSensor / SensorFusion / Sensor
Assembly_Sensor_ActuatorSensor / SensorActuator / Sensor

Executable 과 Process (9장)​

Executable 은 다섯 모두 미리 채워진 값을 그대로 쓴다.

라벨값
NAMEAdaptive Application 이름
ROOT SWC PROTOTYPEAA
CATEGORYAPPLICATION (파일에는 APPLICATION_LEVEL)
BUILD TYPE비어 있음
REPORTING BEHAVIORREPORTS-EXECUTION-STATE
VERSION1.0.0
MINIMUM TIMER GRANULARITY비어 있음
Process NAMEENTER TIMEOUT / EXIT TIMEOUTFUNCTION GROUP STATEEXECUTION DEPENDENCY
CM1 / 1 s (기본값)MachineFG : Startup, MachineFG : Shutdown, MachineFG : Restart, MachineFG : Verify없음
Sensor5 / 5 sMachineFG : StartupCM : Running
Fusion5 / 5 sMachineFG : StartupCM : Running
Actuator5 / 5 sMachineFG : StartupCM : Running
EM0 / 0 sMachineFG : Startup없음

다섯 프로세스 모두 SCHEDULING POLICY SCHED_OTHER, SCHEDULING PRIORITY 0, CPU USAGE 0, MEM USAGE 0 B, TERMINATION BEHAVIOR PROCESS-IS-NOT-SELF-TERMINATING 의 기본값이다. CORE AFFINITY 는 체크하지 않는다. 프로세스는 CM 을 가장 먼저 만들고 저장해야 다른 프로세스의 EXECUTION DEPENDENCY 에서 CM 을 고를 수 있다.

서비스 인스턴스 매핑 (10장)​

SensorFusionActuator
PORTSensor (P)Sensor (R)Sensor (R)
SERVICE INSTANCEProvider_Sensor (SOME/IP)Fusion_Sensor (SOME/IP)Actuator_Sensor (SOME/IP)
CLIENT ID칸 없음2 → 0x21 → 0x1
INSTANCE SPECIFIERSensor/AA/SensorFusion/AA/SensorActuator/AA/Sensor
PROCESS (자동)SensorFusionActuator
되읽기 INSTANCE ID0x00010xFFFF0xFFFF
되읽기 ENDPOINT127.0.0.1:20003127.0.0.1:20002127.0.0.1:20001
저장 이름 (자동)Sensor_AA_SensorFusion_AA_SensorActuator_AA_Sensor

CM 과 EM 은 포트가 없으므로 매핑하지 않는다. 되읽기의 SERVICE ID 와 VERSION 은 셋 다 0x000B 와 1.0 이다.

로그와 DLT (11장)​

프로세스APPLICATION IDDEFAULT LOG LEVELLOG MODEDLT CONTEXTS (CONTEXT ID : LOG LEVEL)
SensorSENSVERBOSECONSOLESENS : INFO
FusionFUSNVERBOSECONSOLEFUSN : INFO
ActuatorACTAVERBOSECONSOLEACTA : INFO
CMCMFATALCONSOLE없음
EMEMFATALCONSOLE없음

DLT 애플리케이션은 머신 설정에서 넣은 DLT ECU ECU1 아래에 모인다. APPLICATION DESCRIPTION 과 CONTEXT DESCRIPTION 은 비워 둔다.

프로젝트 파일 구성​

13장까지 마친 프로젝트의 파일은 다음과 같다. 오른쪽은 그 파일을 만들거나 고치는 장이다.

AADesign/
├── AADesign.io.prj
├── design/
│ ├── DATATYPE.io.model 4장
│ ├── INTERFACE.io.model 5장
│ ├── IVC.io.model 1장, 3장, 7장
│ ├── SERVICE.io.model 6장
│ ├── SYSTEM.io.model 1장
│ ├── VFB.io.model 1장, 8장
│ ├── Module/
│ │ └── Machine/
│ │ └── Ecu.machine.io.model 1장, 2장
│ └── SWC/
│ ├── AdaptiveApplication/
│ │ ├── Actuator.swc.io.model 8장~11장
│ │ ├── CM.swc.io.model 8장, 9장, 11장
│ │ ├── EM.swc.io.model 8장, 9장, 11장
│ │ ├── Fusion.swc.io.model 8장~11장
│ │ └── Sensor.swc.io.model 8장~11장
│ ├── Composition/
│ │ ├── HPC.swc.io.model 1장, 8장
│ │ └── System.swc.io.model 1장
│ └── Layout/
│ ├── HPC.vfb.layout 8장
│ └── System.vfb.layout 1장
└── export/
├── AADesign_COM.arxml 13장
├── AADesign_DataType.arxml 13장
├── AADesign_Interface.arxml 13장
├── AADesign_SWC.arxml 13장
└── AADesign_System.arxml 13장
  • 머신 파일 이름 Ecu.machine.io.model 은 System 편집기의 HPC 노드 이름 Ecu 를 따른다. 머신 이름을 넣는 칸은 없다.
  • *.vfb.layout 은 노드와 포트의 위치만 담은 보기 상태다. ARXML 로 내보내지 않는다.
  • 프로젝트 폴더에는 이 밖에 doc, code, workflow, import 폴더가 있다. 이 튜토리얼은 쓰지 않는다.
  • 화면으로 따라 한 프로젝트에는 SOME/IP 배포와 서비스 인스턴스의 저장 때 design/SIGNAL.io.model 도 생기고, INTERFACE.io.model 에 Sensor_SR 과 Sensor_CS 가 추가된다. Interface 편집기가 SOME/IP 배포에서 자동으로 파생한 Classic Platform 쪽 요소이며, 이 튜토리얼이 손으로 만드는 설계에는 들어 있지 않다.

참조 설계와 다른 곳​

내 익스포트는 참조 설계 파일 EM_Test_*.arxml 과 설계 내용이 같다. 서비스 인터페이스, SOME/IP 배포와 인스턴스, 서비스 디스커버리 설정, 엔드포인트, Adaptive Application 다섯 개와 포트, 커넥터, Executable, Process 의 시작 설정 값, 실행 의존성, 서비스 인스턴스 매핑, DLT 애플리케이션과 ECU, 데이터 타입, 시스템 매핑이 모두 같다. AADesign_Interface.arxml 은 EM_Test_Interface.arxml 과 바이트 단위로 같다.

참조 설계내 익스포트
이름이 있는 요소(패키지 포함)245289
경로가 같고 값과 참조까지 같은 요소204204
경로는 같고 값이나 참조가 다른 요소2323
다른 패키지로 옮겨진 요소66
같은 자리에서 이름이 바뀐 요소66
참조 설계에만 있는 요소6—
내 익스포트에만 있는 요소—50

다른 곳은 아래와 같다. 요소 하나하나의 줄 번호와 이유는 ARXML 익스포트의 "내 익스포트와 기준 파일의 차이" 절에 있다.

튜토리얼이 일부러 다르게 한 곳​

차이이유장
EM 프로세스를 MachineFG : Startup 에 묶음. 익스포트의 PROCESS EM 에 FUNCTION-GROUP-STATE-IREF 가 하나 더 있음참조 설계의 EM 에는 함수 그룹 상태가 없지만, PAIO 검증이 그 모양을 The process "EM" declares no functionGroupState; at least one is required. 로 거부한다9, 12
ROOT SWC PROTOTYPE 을 다섯 모두 AA 로 통일참조 설계는 CM 과 EM 만 RootSwComponent 이다. 이름만 다르고 설계 내용은 같다9
STATE-MANAGEMENT-MODULE-INSTANTIATION SM(MAX-ACTION-LIST-DURATION 1000)이 더 있음constr_10641 을 없애려고 넣은 값이다. 참조 설계에는 상태 관리 모듈이 없다2

PAIO 의 이름 규칙​

차이내용
DLT-CONTEXT 이름…/SENS/SENS 가 …/SENS/DltContext_0 이 된다(FUSN, ACTA 도 같음). CONTEXT-ID 값은 그대로다
머신 패키지와 이름패키지 /Machine/HPCMachine 의 MACHINE HPCMachine 이 Ecu 로 바뀌어 패키지 /Machine 에 바로 놓이고, 머신의 함수 그룹과 프로세스 매핑은 /MachineConfig/Ecu 아래에 놓인다. PAIO 는 머신 이름을 HPC 노드 이름으로 정한다
모듈 이름LOG-AND-TRACE-INSTANTIATION Log 가 LOG 로 바뀐다
시스템 매핑 이름SwMapping_HPC_to_HPC 가 SwMapping_HPC_to_Ecu 로 바뀐다
리소스 그룹공유 RESOURCE-GROUP ResourceGroup 하나 대신 프로세스마다 Sensor_ResourceGroup … EM_ResourceGroup(CPU-USAGE 0, MEM-USAGE 0)이 생긴다
String 타입STD-CPP-IMPLEMENTATION-DATA-TYPE 에 ARRAY-SIZE 256, APPLICATION-PRIMITIVE-DATA-TYPE 에 SW-TEXT-PROPS 가 더 있다
가변 크기 배열CP 측 미러 IMPLEMENTATION-DATA-TYPE ByteArray, String 과 APPLICATION-ARRAY-DATA-TYPE ByteArray 가 PAIO 의 가변 크기 배열 형태로 나온다. DYNAMIC-ARRAY-SIZE-PROFILE 이 VSA_LINEAR 이고, 배열 크기는 한 단계 안쪽 요소에 있다. 크기 1, 256 은 같다

PAIO 가 스스로 넣는 요소​

요소내용장
ETHERNET-COMMUNICATION-CONTROLLER Ecu_EthernetController 와 커넥터의 COMM-CONTROLLER-REF컨트롤러를 만들어 커넥터의 CONTROLLER 로 고른 결과다3
SW-BASE-TYPE void, IMPLEMENTATION-DATA-TYPE VoidPtr, ConstVoidPtr내장 포인터 타입 두 개와 그 기본 타입이다. PAIO 가 프리미티브 타입처럼 모든 익스포트에 넣는다. 이 설계는 쓰지 않는다4
SOMEIP-SD-CLIENT-EVENT-GROUP-TIMING-CONFIG SdEventgroupConfig_Actuator_Sensor_Eventgroup_SensorData, SdEventgroupConfig_Fusion_Sensor_Eventgroup_SensorData소비자마다 이벤트 그룹의 구독 타이밍을 담은 요소로, 소비자 카드에 그대로 둔 기본값이 나온다. 참조 설계의 이벤트 그룹도 이 두 이름을 가리키지만, 참조 설계에는 그 정의가 없다6
함수 그룹 MachineFG(Ecu_FunctionGroup)와 MODE-TRANSITION 8개머신의 기본 함수 그룹과 그 기본 전이이다1, 2
PROCESS-TO-MACHINE-MAPPING-SET Ecu_ProcessToMachineMapping 과 매핑 5개프로세스 다섯 개가 머신 Ecu 에 놓인 결과다. 코어를 체크하지 않아도 나온다9
값이 없는 모듈 NM, TIME_SYNC, CRYPTO, IDSM, VUCM, UCM머신 설정 화면이 미리 만들어 두는 모듈이다1

화면에 입력칸이 없는 값​

값결과
DLT 컨텍스트의 SHORT-NAME입력칸이 없어 DltContext_0 이 된다
머신 이름과 WAIT-FOR-SHUTDOWN 1머신 이름은 노드 이름 Ecu 를 따르고, WAIT-FOR-SHUTDOWN 은 익스포트에 나오지 않는다
Communication Management 모듈의 REQUEST-TIMEOUT 10, ALIVE-CHECK-INTERVAL 0, MAX-DATA-BYTES 0모듈 화면에는 서브탭 ACCESS CONTROL 과 IPC 만 있고 이 값들을 넣는 칸이 없어, 익스포트에는 LOCAL-COM-ACCESS-CONTROL-ENABLED false 와 REMOTE-ACCESS-CONTROL-ENABLED false 만 있는 CM-MODULE-INSTANTIATION CM 이 나온다
프로세스의 RESOURCE-GROUP-REF머신 설정 화면의 OS 값 POSIX 는 OS-MODULE-INSTANTIATION 요소로 익스포트되지만, 익스포터는 머신의 모듈 목록(MODULE 탭)에 OS 모듈 항목이 있을 때만 이 참조를 쓴다. 머신 설정 화면이 미리 만드는 모듈 목록에는 OS 모듈 항목이 없다

참조 설계 쪽의 결함​

차이내용
MACHINE-DESIGN HPC참조 설계는 머신 디자인이 Ecu 와 빈 HPC 둘로 엇갈려 있다. 튜토리얼은 노드 Ecu 하나에 둘 다 붙인다
PROCESS 의 참조 경로참조 설계의 실행 의존성과 함수 그룹 상태 경로는 다섯 파일 안에서 찾을 수 없다. 내 익스포트의 경로는 모두 같은 파일 안에서 찾아진다
SYSTEM 의 FIBEX-ELEMENTS참조 설계의 3개(MACHINE-DESIGN Ecu, MACHINE-DESIGN HPC, ETHERNET-CLUSTER)가 2개(MACHINE-DESIGN Ecu, ETHERNET-CLUSTER)가 된다. 빠진 것은 첫 행의 빈 MACHINE-DESIGN HPC 이다
서비스 인스턴스 매핑 세 개의 CONTEXT-ROOT-SW-COMPONENT-PROTOTYPE-REF참조 설계의 /Executable/<이름>/AA 는 한 단계 짧아 어떤 요소도 가리키지 않는다. 내 익스포트의 /Executable/<이름>/<이름>/AA 는 각 Executable 의 루트 프로토타입 AA 를 가리킨다
MACHINE 의 MACHINE-DESIGN-REF참조 설계의 /System/VehicleTopology/Ecu/Ecu 는 다섯 파일 안의 어떤 요소도 가리키지 않는다. 내 익스포트는 COM 파일의 MACHINE-DESIGN Ecu(/System/MachineDesign/Ecu)를 가리킨다

자주 겪는 문제​

증상 또는 검증 메시지원인해결장
State-Management module "SM" of machine "Ecu" is missing maxActionListDuration. (constr_10641)머신 다이얼로그가 기본으로 넣는 State Management 모듈 SM 에 값이 없다. 1장이 끝나면 정상적으로 이 1건이 남는다MODULE › State Management › ACTION ITEMS 의 MAX ACTION LIST DURATION 에 1000 을 넣고 다이얼로그 안에서 Ctrl+S머신 설정
The DLT application-id "SENS" truncates to "SENS" and collides with "SENS" (Sensor). 와 짝을 이루는 … (Fusion). 두 행두 프로세스의 APPLICATION ID 가 같다. 겹친 두 애플리케이션에 한 행씩 나오고, 괄호는 상대편이다행을 클릭해 LOG CONFIG 의 APPLICATION ID 를 다섯 개가 서로 다르게(FUSN 등) 고치고 Ctrl+S로그와 DLT, 검증
The process "EM" declares no functionGroupState; at least one is required.프로세스에 FUNCTION GROUP STATE 행이 없다행을 클릭해 + 버튼으로 행을 만들고 상태를 Startup 으로 고른 뒤 Ctrl+SExecutable 과 Process, 검증
"Sensor" of "Sensor": referenced port interface "SensorIf" not found.포트가 없는 인터페이스 이름을 가리킨다. 속성 패널에 Referenced item not found 가 붙는다행을 클릭해 PORT INTERFACE 를 Service: Sensor 로 고르고 Ctrl+S. 커넥터 선은 VFB 탭을 닫았다가 다시 열면 그려진다Adaptive Application 과 포트, 검증
머신 아이콘을 클릭해도 Machine Configuration 다이얼로그가 열리지 않음매핑하기 전부터 열려 있던 VFB 탭이다VFB 탭을 닫고 EDITOR 뷰의 DESIGN 아래에서 VFB 를 다시 클릭한다프로젝트와 HPC 머신 만들기
다이얼로그에서 넣은 값이 저장되지 않음Close 만 눌렀다다이얼로그 안에서 Ctrl+S 를 누른 뒤 Close 를 누른다프로젝트와 HPC 머신 만들기, 머신 설정
SD 칸을 여러 개 고쳤는데 마지막 칸만 남음같은 카드의 SD 칸을 연달아 고치면 앞의 칸이 기본값으로 돌아간다값 하나마다 Tab 을 누르고 INTERFACES 목록의 Sensor 를 다시 클릭한다SOME/IP 배포와 서비스 인스턴스
Fusion 이나 Actuator 의 실행 의존성이 Sensor : Running 으로 들어감새 행의 기본값이 목록의 첫 프로세스다행을 펼쳐 PROCESS 를 CM 으로 고른다Executable 과 Process
EXECUTION DEPENDENCY 의 PROCESS 목록에 CM 이 없음CM 의 프로세스를 아직 저장하지 않았다CM 을 가장 먼저 만들고 Ctrl+S 로 저장한다Executable 과 Process
프로토타입 이름이 Composition_0 이나 AdaptiveApp_0_0 으로 남음NAME 을 바꿔도 AS PROTOTYPE 는 따라 바뀌지 않는다두 칸에 같은 이름을 각각 입력한다. 컴포지션 HPC 에 커넥터가 이미 있으면 그 뒤에 커넥터 이름을 확인한다(다음 행)프로젝트와 HPC 머신 만들기, Adaptive Application 과 포트
커넥터 이름이 Assembly_Sensor_Sensor_Fusion_Sensor, Assembly_Sensor_Sensor_Actuator_Sensor 로 남음편집기가 새 어셈블리 커넥터에 붙이는 기본 이름이다선을 하나씩 클릭해 ASSEMBLY 패널의 NAME 을 각각 Assembly_Sensor_Fusion, Assembly_Sensor_Actuator 로 바꾸고 Ctrl+SAdaptive Application 과 포트

확인하기​

  • "완성된 설계 점검표" 의 항목이 모두 맞다.
  • 값 표 모음의 값이 내 설계의 화면 값과 같다.
  • design/ 아래 파일이 "프로젝트 파일 구성" 과 같다.
  • 내 익스포트와 참조 설계의 차이가 "참조 설계와 다른 곳" 에 있는 것뿐이다.

다음 단계​

설계를 바꾸고 싶으면 해당 장으로 돌아가 값을 고친 뒤 검증과 ARXML 익스포트를 다시 따라간다. 처음부터 다시 보려면 AA Design 튜토리얼로 돌아간다.