본문으로 건너뛰기

Adaptive Application 과 포트

이 장에서 할 일​

이 장에서는 VFB 편집기에서 프로젝트와 HPC 머신 만들기에서 만든 컴포지션 HPC 안으로 들어가 Adaptive Application 다섯 개를 만든다. 프레임 안을 우클릭해 Add SWC › Adaptive Application 으로 노드를 만들고 NAME 과 AS PROTOTYPE 에 같은 이름을 입력하는 작업을 Sensor, Fusion, Actuator, CM, EM 다섯 번 반복한다. 그다음 Sensor 에 P 포트, Fusion 과 Actuator 에 R 포트를 붙이고 세 포트 모두 서비스 인터페이스에서 만든 Sensor 를 PORT INTERFACE 로 고른다. 마지막으로 Sensor 의 P 포트에서 Connect to 로 두 R 포트에 어셈블리 커넥터를 잇고, 두 커넥터에 참조 설계의 이름을 붙인 뒤 Auto Layout 으로 정돈하고 저장한다.

이 장을 마치면 design/SWC/AdaptiveApplication/ 에 *.swc.io.model 다섯 개가 생기고, design/SWC/Composition/HPC.swc.io.model 에 프로토타입 다섯 개와 커넥터 Assembly_Sensor_Fusion, Assembly_Sensor_Actuator 가 저장된다. 이것이 ARXML 익스포트에서 참조 설계의 ADAPTIVE-APPLICATION-SW-COMPONENT-TYPE 다섯 개, P-PORT-PROTOTYPE 하나, R-PORT-PROTOTYPE 둘, ASSEMBLY-SW-CONNECTOR 둘이 된다.

시작하기 전에​

  • 커넥터에 서비스 인스턴스 바인딩을 마친 상태에서 시작한다. design/SWC/ 에는 Composition/HPC.swc.io.model(프로토타입과 커넥터 없음), Composition/System.swc.io.model, Layout/System.vfb.layout 만 있고 AdaptiveApplication/ 폴더는 아직 없다. design/INTERFACE.io.model 에는 서비스 인터페이스 Sensor 하나가 있다.
  • VALIDATION 패널은 No validation issues. 이다. 작업하는 동안에는 새 Adaptive Application 마다 경고가 하나씩 생겨 저장할 때까지 남고, 저장하면 사라지므로 이 장은 다시 No validation issues. 로 끝난다.
  • 7장에서 열어 둔 AADesign:System 탭은 닫아도 된다. 이 장은 EDITOR 뷰의 DESIGN 에서 VFB 를 열어 시작한다.

이 장에서 키보드로 입력하는 값은 아래 표와 커넥터 이름 두 개 Assembly_Sensor_Fusion, Assembly_Sensor_Actuator 가 전부이다. 타입 이름 다섯 개는 NAME 과 AS PROTOTYPE 두 칸에 똑같이 입력하고, 포트 이름 세 개는 모두 Sensor 이다. 나머지는 메뉴와 목록에서 클릭해 고른다.

Adaptive ApplicationNAME = AS PROTOTYPE포트포트 NAMEPORT INTERFACE
센서SensorPPort 1개SensorService: Sensor
융합FusionRPort 1개SensorService: Sensor
액추에이터ActuatorRPort 1개SensorService: Sensor
통신 관리CM없음——
실행 관리EM없음——

컴포지션 HPC 안으로 들어가기​

VFB 편집기를 열고 HPC 로 드릴다운하기​

  1. 왼쪽 EDITOR 뷰의 DESIGN 아래에서 VFB 를 클릭한다. 탭 AADesign:VFB 가 열리고 루트 캔버스 System 에 1장에서 만든 컴포지션 노드 HPC [Ecu] 하나가 보인다. 머리글 오른쪽의 머신 아이콘은 System 편집기의 HPC 노드 Ecu 에 매핑돼 있다는 표시이다.

  2. 노드 HPC [Ecu] 를 더블클릭한다. 캔버스 위의 빵부스러기가 System > HPC 로 바뀌고 캔버스에 프레임 HPC 하나가 보인다. 프레임 안은 비어 있다.

  3. 프레임 머리글 왼쪽 위의 제목 HPC 를 클릭해 프레임을 선택한다. 테두리가 밝아지고 모서리와 변 가운데에 작은 크기 조절 핸들 8개가 보이며, 오른쪽에 COMPOSITION 패널이 열린다. 패널에는 NAME HPC, AS PROTOTYPE HPC, DESCRIPTION, PORTS(No ports available), PORT GROUPS(No port groups)가 있다.

  4. 오른쪽 아래 모서리의 핸들을 오른쪽 아래로 끌어 프레임을 넓힌다. 기본 크기 600×400 에서 약 900×520 정도면 된다. 탭 AADesign:VFB 에 수정됨 표시 ● 가 붙는다.

    HPC 로 드릴다운해 프레임을 넓힌 VFB 편집기

    그림 8-1. 컴포지션 HPC 안으로 들어가 프레임을 넓힌 VFB 편집기. ① 빵부스러기 System > HPC, ② 넓힌 빈 프레임 HPC(선택됨, 크기 조절 핸들 8개), ③ 오른쪽 아래 모서리의 크기 조절 핸들. 오른쪽 COMPOSITION 패널에는 NAME HPC, AS PROTOTYPE HPC 가 보인다. 푸터에는 아직 검증 배지가 없다.

참고. 프레임은 안에 노드를 넣어도 자동으로 커지지 않는다. 기본 크기 600×400 에 160×120 노드 다섯 개를 두면 포트끼리 맞닿아 뒤에서 커넥터 선을 클릭하기 어렵다. 넓히는 크기는 설계 값에 영향을 주지 않으며, 뒤에서 Auto Layout 을 누르면 프레임 크기가 다시 정해진다.

Adaptive Application Sensor 만들기​

다섯 개 가운데 Sensor 를 절차로 보인다. 노드를 만들고 NAME 과 AS PROTOTYPE 두 칸을 입력하는 순서는 나머지 넷도 같다.

프레임 안에서 Adaptive Application 을 추가하기​

  1. 프레임 HPC 안의 빈 곳(왼쪽 위)을 우클릭한다. 메뉴 다섯 줄 Add SWC, Attach SWC, Add Port, Add Composition, Attach Composition 이 열린다. 프레임 바깥의 빈 캔버스를 우클릭하면 메뉴가 뜨지 않는다.

  2. Add SWC 에 마우스를 올린다. 서브메뉴 일곱 줄 Composition, Adaptive Application, Application, Complex Device Driver, Ecu Abstraction, Sensor Actuator, Service 가 열린다.

  3. Adaptive Application 을 클릭한다. 우클릭한 지점을 왼쪽 위 모서리로 노드 AdaptiveApp_0 이 생긴다.

    프레임 안 우클릭 메뉴에서 Add SWC › Adaptive Application 을 고르는 화면

    그림 8-2. 프레임 HPC 안을 우클릭한 메뉴. ① Add SWC, ② 서브메뉴의 Adaptive Application. 이 장에서는 서브메뉴 일곱 항목 가운데 Adaptive Application 만 쓴다. Application 은 Classic Platform 의 원자 소프트웨어 컴포넌트로, 이 튜토리얼에서는 쓰지 않는다.

새 노드와 속성 패널을 확인하기​

  1. 새 노드의 머리글 AdaptiveApp_0 을 클릭한다. 노드 테두리가 밝아지고 크기 조절 핸들 8개가 보이며, 오른쪽에 ADAPTIVE APPLICATION 패널이 열린다.

  2. 패널의 필드를 확인한다. NAME AdaptiveApp_0, AS PROTOTYPE AdaptiveApp_0_0, DESCRIPTION(안내 Text)이 있고, 아래 섹션 PORTS 는 No ports available 이다.

    새로 만든 Adaptive Application 노드와 ADAPTIVE APPLICATION 패널

    그림 8-3. 새로 만든 노드와 ADAPTIVE APPLICATION 패널. ① 노드 AdaptiveApp_0(선택됨), ② NAME = AdaptiveApp_0, ③ AS PROTOTYPE = AdaptiveApp_0_0. PORTS 섹션은 No ports available 이고, 푸터의 검증 배지는 1 이다.

NAME 은 Adaptive Application 타입의 이름이고 캔버스의 노드 라벨로 쓰인다. AS PROTOTYPE 는 그 타입을 컴포지션 HPC 안에 둔 프로토타입의 이름이다. 참조 설계는 두 이름이 같으므로 두 칸에 같은 값을 입력한다.

이름과 프로토타입 이름을 입력하기​

  1. NAME 칸을 클릭해 AdaptiveApp_0 을 지우고 Sensor 를 입력한 뒤 Tab 을 누른다. 캔버스의 노드 라벨이 Sensor 로 바뀐다. AS PROTOTYPE 는 따라 바뀌지 않고 AdaptiveApp_0_0 그대로이다.

  2. AS PROTOTYPE 칸을 클릭해 AdaptiveApp_0_0 을 지우고 Sensor 를 입력한 뒤 Tab 을 누른다.

    NAME 과 AS PROTOTYPE 를 모두 Sensor 로 입력한 화면

    그림 8-4. 두 칸을 모두 입력한 뒤의 화면. ① 라벨이 Sensor 로 바뀐 노드, ② NAME = Sensor, ③ AS PROTOTYPE = Sensor.

참고. NAME 을 바꿔도 AS PROTOTYPE 는 따라오지 않는다. 다섯 노드 모두 두 칸을 각각 입력해야 한다. 앞의 노드 이름을 바꾼 뒤 새 노드를 만들면 기본 이름은 다시 AdaptiveApp_0 / AdaptiveApp_0_0 이다.

나머지 Adaptive Application 네 개 만들기​

같은 방법으로 Fusion, Actuator, CM, EM 을 만든다. 우클릭하는 자리만 다르다. 윗줄에 Sensor, Fusion, Actuator 를 왼쪽부터, 아랫줄에 CM, EM 을 두면 뒤의 그림과 같은 모양이 된다.

순서우클릭하는 자리NAMEAS PROTOTYPE
2윗줄, Sensor 오른쪽FusionFusion
3윗줄, Fusion 오른쪽ActuatorActuator
4아랫줄 왼쪽CMCM
5아랫줄, CM 오른쪽EMEM
  1. 프레임 안의 빈 곳을 우클릭하고 Add SWC › Adaptive Application 을 클릭한다.

  2. 새 노드의 머리글을 클릭하고 NAME 에 표의 이름을 입력한 뒤 Tab, AS PROTOTYPE 에 같은 이름을 입력한 뒤 Tab 을 누른다.

  3. 표의 네 줄을 모두 마친다. 프레임 안에 노드 다섯 개가 있고 포트와 선은 아직 없다.

    Adaptive Application 다섯 개가 모두 있는 프레임 HPC

    그림 8-5. 다섯 개를 모두 만든 뒤의 프레임 HPC. ① Sensor, ② Fusion, ③ Actuator(윗줄), ④ CM, ⑤ EM(아랫줄, 마지막으로 만들어 선택됨). 푸터의 검증 배지는 5 이다.

Sensor, Fusion, Actuator, CM, EM 순서로 만들면 저장 파일의 프로토타입 목록도 이 순서가 된다. 다른 순서로 만들어도 설계 내용은 같다.

Sensor 에 P 포트 붙이기​

세 포트 가운데 Sensor 의 P 포트를 절차로 보인다. 포트는 노드 테두리 근처를 우클릭해 만들고, 속성 패널에서 이름과 인터페이스를 정한다.

Add Port 로 PPort 를 만들기​

  1. 노드 Sensor 의 오른쪽 가장자리 근처(노드 안쪽)를 우클릭한다. 노드 Sensor 가 선택되고 노드 메뉴 세 줄 Add Port, Detach SWC, Delete 가 열린다.

  2. Add Port 에 마우스를 올린다. 서브메뉴 PPort, RPort, PRPort 가 열린다.

  3. PPort 를 클릭한다. 우클릭한 지점에서 가장 가까운 변, 즉 노드의 오른쪽 변에 P 아이콘의 포트가 생긴다. 기본 이름은 PPort_0 이다.

    Sensor 노드의 우클릭 메뉴에서 Add Port › PPort 를 고르는 화면

    그림 8-6. 노드 Sensor 의 오른쪽 가장자리를 우클릭한 메뉴. ① Add Port, ② 서브메뉴의 PPort. 포트는 우클릭한 지점에서 가장 가까운 변의 그 높이에 생긴다.

이름을 입력하고 PORT INTERFACE 를 고르기​

  1. 새로 생긴 P 아이콘을 클릭한다. 오른쪽에 PPORT 패널이 열리고 NAME PPort_0, PORT INTERFACE 가 보인다. PORT INTERFACE 는 비어 있고, 라벨과 그 아래 메시지 Port Interface is required 가 빨간색이다.

  2. NAME 칸에 Sensor 를 입력하고 Tab 을 누른다. 캔버스의 아이콘 옆에 이름 라벨 Sensor 가 붙는다.

  3. PORT INTERFACE 칸을 클릭한다. 칸에 검색 안내 Type to search... 가 보이고, 목록이 열리며 항목은 Service: Sensor 한 줄이다. Adaptive Application 의 포트에는 서비스 인터페이스와 Adaptive Platform 인터페이스만 나오며, 이 프로젝트에서 그런 인터페이스는 5장에서 만든 서비스 인터페이스 하나뿐이다.

    PPORT 패널에서 PORT INTERFACE 목록을 연 화면

    그림 8-7. P 포트의 PPORT 패널. ① NAME = Sensor, ② PORT INTERFACE 칸(안내 Type to search...), ③ 목록의 유일한 항목 Service: Sensor. 라벨 PORT INTERFACE 는 인터페이스를 고를 때까지 빨간색이다. 캔버스의 P 아이콘 옆에 이름 라벨 Sensor 가 보인다.

결과를 확인하기​

  1. 목록의 Service: Sensor 를 클릭한다. PORT INTERFACE 칸에 Service: Sensor 가 들어가고 오른쪽에 지우기 ×, 펼치기 ˅ 가 보이며, 라벨은 더 이상 빨갛지 않는다.

  2. 패널 아래에 섹션 SERVICE COMSPEC 이 나타난다. EVENTS 행은 ByteArray SensorData QUEUED-SENDER, METHODS 행은 Calculation SERVER 이다.

    PORT INTERFACE 를 고른 뒤의 PPORT 패널과 SERVICE COMSPEC 섹션

    그림 8-8. 인터페이스를 고른 뒤의 PPORT 패널. ① 노드 Sensor 오른쪽 변의 P 아이콘(선택됨), ② PORT INTERFACE = Service: Sensor. 아래 SERVICE COMSPEC 섹션에 EVENTS ByteArray SensorData QUEUED-SENDER, METHODS Calculation SERVER 가 보인다.

SERVICE COMSPEC 은 고른 인터페이스의 이벤트와 메서드를 이 포트의 역할로 보여 준다. P 포트이므로 이벤트 SensorData 는 보내는 쪽(QUEUED-SENDER), 메서드 Calculation 은 서버(SERVER)이다. 이 장에서는 이 섹션의 값을 바꾸지 않는다.

Fusion 과 Actuator 에 R 포트 붙이기​

같은 방법으로 소비자 둘에 R 포트를 붙인다. 메뉴에서 RPort 를 고르는 것과 우클릭하는 변이 다르다.

노드우클릭하는 자리메뉴기본 이름NAMEPORT INTERFACE
Fusion왼쪽 가장자리 근처Add Port › RPortRPort_0SensorService: Sensor
Actuator왼쪽 가장자리 근처Add Port › RPortRPort_0SensorService: Sensor
  1. 노드 Fusion 의 왼쪽 가장자리 근처를 우클릭하고 Add Port › RPort 를 클릭한다. 노드의 왼쪽 변에 R 아이콘의 포트 RPort_0 이 생긴다.

  2. R 아이콘을 클릭한다. RPORT 패널이 열린다. NAME 에 Sensor 를 입력하고 Tab 을 누른 뒤, PORT INTERFACE 칸을 클릭해 Service: Sensor 를 클릭한다. 패널 아래에 SERVICE COMSPEC 섹션이 생긴다.

  3. 노드 Actuator 에도 1~2 를 반복한다.

    포트 세 개를 모두 만든 프레임 HPC. Sensor 에 P, Fusion 과 Actuator 에 R

    그림 8-9. 포트 세 개를 모두 만든 뒤의 프레임 HPC. ① Sensor 오른쪽 변의 P, ② Fusion 왼쪽 변의 R, ③ Actuator 왼쪽 변의 R(선택됨). 커넥터 선은 아직 없다.

포트를 커넥터로 잇기​

커넥터는 제공하는 포트에서 시작한다. Sensor 의 P 포트 하나에서 Fusion 과 Actuator 의 R 포트 둘로 선을 잇는다.

Connect to 로 두 R 포트에 잇기​

  1. 노드 Sensor 의 P 아이콘을 우클릭한다. 포트 메뉴 세 줄 Connect to, Connect to Mapping, Delete 가 열린다.

  2. Connect to 에 마우스를 올린다. 서브메뉴에 [A] Fusion / Sensor, [A] Actuator / Sensor 두 항목이 보인다. [A] 는 어셈블리 커넥터, 뒤는 노드 라벨 / 포트 이다. 같은 인터페이스를 쓰는 반대 방향 포트만 후보로 나온다.

    Sensor 의 P 포트 우클릭 메뉴에서 Connect to 를 연 화면

    그림 8-10. Sensor 의 P 포트를 우클릭한 메뉴. ① Connect to, ② 후보 목록 [A] Fusion / Sensor, [A] Actuator / Sensor.

  3. [A] Fusion / Sensor 를 클릭한다. Sensor 의 P 포트에서 Fusion 의 R 포트로 선 하나가 생긴다.

  4. 같은 P 아이콘을 다시 우클릭하고 Connect to 에 마우스를 올린다. 이미 이은 Fusion 은 빠지고 [A] Actuator / Sensor 하나만 남아 있다. 이것을 클릭한다. 선이 두 개가 된다.

커넥터 이름을 바꾸기​

  1. Sensor 에서 Fusion 으로 가는 선을 클릭한다. 두 선이 P 포트 근처에서 겹치므로 Fusion 의 R 포트에 가까운, 겹치지 않는 구간을 클릭한다. 선이 청록색으로 바뀌고 양 끝 포트가 강조된다.

  2. 오른쪽에 ASSEMBLY 패널이 열리고 BASIC INFO 섹션의 NAME 이 Assembly_Sensor_Sensor_Fusion_Sensor 이다. 칸을 클릭해 이름을 참조 설계의 이름 Assembly_Sensor_Fusion 으로 바꾸고 Enter 를 누른다.

  3. Sensor 에서 Actuator 로 가는 선도 클릭한다. Fusion 위를 지나는 구간을 클릭하면 된다. NAME 이 Assembly_Sensor_Sensor_Actuator_Sensor 이므로 같은 방법으로 Assembly_Sensor_Actuator 로 바꾸고 Enter 를 누른다.

    커넥터 Sensor → Fusion 을 선택한 화면과 ASSEMBLY 패널

    그림 8-11. 선 Sensor → Fusion 을 선택해 이름을 바꾼 뒤의 화면. ① 선에서 클릭한 지점, ② ASSEMBLY 패널 BASIC INFO 의 NAME = Assembly_Sensor_Fusion. 다른 선은 Sensor 의 P 포트에서 위로 돌아 Actuator 의 R 로 들어간다.

참고. 편집기는 새 어셈블리 커넥터의 이름을 Assembly_<제공 프로토타입>_<제공 포트>_<요구 프로토타입>_<요구 포트> 꼴로 지어, 두 프로토타입이 포트 쌍 여러 개로 이어져도 이름이 겹치지 않게 한다. 참조 설계는 커넥터 이름을 두 프로토타입 이름만으로 짓기 때문에 두 이름을 모두 줄인다.

Auto Layout 으로 정돈하고 저장하기​

  1. 캔버스 아래 툴바에서 네 번째 버튼 Auto Layout(계층 아이콘)을 클릭한다. 진행 다이얼로그가 잠깐 뜨고 노드 다섯 개와 선 두 개가 다시 배치된다. 포트가 반대 변으로 옮겨지기도 한다.

  2. 캔버스의 빈 곳을 클릭해 선택을 해제한다.

  3. Ctrl+S 를 누른다. 탭 AADesign:VFB 의 수정됨 표시 ● 가 사라지고 푸터의 검증 배지도 사라진다.

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

    그림 8-12. Auto Layout 을 적용하고 저장한 뒤의 프레임 HPC. 왼쪽 열에 위에서부터 CM, EM, Actuator, Fusion, 오른쪽에 Sensor 가 있다. ① Sensor 의 P 포트(왼쪽 변으로 옮겨짐), ② Fusion 의 R 포트, ③ Actuator 의 R 포트(둘 다 오른쪽 변으로 옮겨짐). 탭에 수정됨 표시 ● 가 없고 푸터에 검증 배지가 없다.

참고. Auto Layout 의 결과 모양은 그림과 조금 다를 수 있다. 노드 위치, 프레임 크기, 포트가 붙은 변은 design/SWC/Layout/HPC.vfb.layout 에만 저장되는 보기 상태이고 설계 값이 아니다. ARXML 로 내보낼 때도 나가지 않는다.

저장하면 design/SWC/AdaptiveApplication/ 에 Sensor.swc.io.model, Fusion.swc.io.model, Actuator.swc.io.model, CM.swc.io.model, EM.swc.io.model 다섯 개가 생긴다. Sensor.swc.io.model 의 포트는 다음과 같고, Fusion 과 Actuator 는 direction 이 required 이며, CM 과 EM 은 ports 가 [] 이다.

"name": "Sensor",
"type": "adaptive-application",
"ports": [
{ "name": "Sensor", "direction": "provided", "port-interface": "Sensor", "port-interface-category": "service" }
]

design/SWC/Composition/HPC.swc.io.model 에는 prototypes 와 connectors 가 추가된다. design/VFB.io.model 의 HPC 항목에도 같은 prototypes 다섯 개가 들어가고, 커넥터는 거기에 쓰이지 않는다.

"prototypes": [
{ "name": "Sensor", "swc-ref": "AdaptiveApplication/Sensor" },
{ "name": "Fusion", "swc-ref": "AdaptiveApplication/Fusion" },
{ "name": "Actuator", "swc-ref": "AdaptiveApplication/Actuator" },
{ "name": "CM", "swc-ref": "AdaptiveApplication/CM" },
{ "name": "EM", "swc-ref": "AdaptiveApplication/EM" }
],
"connectors": [
{ "name": "Assembly_Sensor_Fusion", "category": "assembly",
"provider": { "prototype": "Sensor", "port": "Sensor" }, "requester": { "prototype": "Fusion", "port": "Sensor" } },
{ "name": "Assembly_Sensor_Actuator", "category": "assembly",
"provider": { "prototype": "Sensor", "port": "Sensor" }, "requester": { "prototype": "Actuator", "port": "Sensor" } }
]

design/INTERFACE.io.model 은 바뀌지 않고, design/SIGNAL.io.model 은 이 장에서 생기지 않는다.

검증 결과 보기​

  1. 화면 아래 푸터의 왼쪽에서 다섯 번째 아이콘인 V 를 본다. 배지는 없지만 툴팁에는 0이 아니던 마지막 건수 Validation: 0 error(s), 5 warning(s), 0 info(s) 가 그대로 남아 있다. 현재 결과는 VALIDATION 패널에서 확인한다.

  2. VALIDATION 패널을 본다. 닫혀 있으면 푸터의 V 아이콘을 클릭한다. 열 머리글 ELEMENT TYPE, NAME, DESCRIPTION, CONSTR 아래에 이 장에서 만든 Sensor, Fusion, Actuator, CM, EM, 포트 Sensor, Assembly_Sensor_Fusion, Assembly_Sensor_Actuator, HPC 에 대한 행은 없다.

    No validation issues. 를 보여 주는 Validation 패널

    그림 8-13. 저장한 뒤의 VALIDATION 패널. 헤더에 배지가 없고 본문은 No validation issues. 이다.

참고. 편집하는 동안 푸터의 V 아이콘에는 경고 건수를 세는 주황 배지가 붙는다. 첫 Adaptive Application 을 만들면 1 이 되고 하나 만들 때마다 하나씩 늘어 5 가 되며, 포트와 커넥터를 만드는 동안에는 5 그대로이다. 경고 한 건은 ELEMENT TYPE SwComponentPrototype, 빈 CONSTR, Prototype "Sensor" in "HPC": referenced SW component "AdaptiveApplication/Sensor" not found. 와 같은 DESCRIPTION 의 행이며, 새 Adaptive Application 의 파일이 저장할 때에야 쓰이기 때문에 생긴다. Ctrl+S 를 누르면 다섯 건이 모두 사라진다. 저장 전의 배지는 무시한다.

왜 이렇게 설계하는가​

  • Adaptive Application 다섯 개는 참조 설계의 ADAPTIVE-APPLICATION-SW-COMPONENT-TYPE 다섯 개이다. 참조 설계는 /SwComponentType/AdaptiveApplication/ 아래에 Sensor, Fusion, Actuator, CM, EM 을 갖는다. CM 과 EM 은 포트가 없다.
  • 프로토타입 이름은 타입 이름과 같다. 참조 설계의 컴포지션 HPC 는 SW-COMPONENT-PROTOTYPE 다섯 개를 갖고 각 이름이 타입 이름과 같다. 그래서 AS PROTOTYPE 에 NAME 과 같은 값을 입력한다.
  • 포트 이름은 셋 다 Sensor 이다. 참조 설계의 P-PORT-PROTOTYPE Sensor/Sensor, R-PORT-PROTOTYPE Fusion/Sensor, Actuator/Sensor 는 포트 이름이 인터페이스 이름과 같다. 세 포트 모두 PROVIDED-INTERFACE-TREF 또는 REQUIRED-INTERFACE-TREF 로 /PortInterface/Service/Sensor 를 가리킨다.
  • 제공자 하나에 소비자 둘이다. 참조 설계의 ASSEMBLY-SW-CONNECTOR 는 Assembly_Sensor_Fusion 과 Assembly_Sensor_Actuator 둘이고 둘 다 PROVIDER-IREF 가 HPC/Sensor 의 포트 Sensor 이다. Sensor 에서 Fusion 을 거쳐 Actuator 로 가는 직렬이 아니라 Sensor 에서 둘로 갈라지는 팬아웃이다.
  • 커넥터 이름은 직접 입력한다. 편집기가 지은 기본 이름에는 포트 이름도 들어가지만(Assembly_Sensor_Sensor_Fusion_Sensor), 참조 설계의 ASSEMBLY-SW-CONNECTOR 두 개는 프로토타입 이름만으로 지어져 있다(Assembly_Sensor_Fusion, Assembly_Sensor_Actuator).
  • 레이아웃은 설계가 아니다. 참조 설계의 포트에는 좌표가 없다. 노드와 포트의 위치는 HPC.vfb.layout 에만 저장되고 ARXML 로 내보내지 않는다.

확인하기​

  • 빵부스러기가 System > HPC 이고 프레임 HPC 안에 노드 Sensor, Fusion, Actuator, CM, EM 다섯 개가 있다.
  • 각 노드를 클릭하면 ADAPTIVE APPLICATION 패널의 NAME 과 AS PROTOTYPE 가 같은 이름이다.
  • Sensor 에 P 포트 하나, Fusion 과 Actuator 에 R 포트 하나씩 있고, CM 과 EM 의 PORTS 는 No ports available 이다.
  • 세 포트 모두 NAME 이 Sensor, PORT INTERFACE 가 Service: Sensor 이고 SERVICE COMSPEC 섹션이 있다.
  • 선이 두 개이며, 클릭하면 ASSEMBLY 패널의 NAME 이 각각 Assembly_Sensor_Fusion, Assembly_Sensor_Actuator 이다.
  • 탭 AADesign:VFB 에 수정됨 표시 ● 가 없다.
  • design/SWC/AdaptiveApplication/ 에 *.swc.io.model 다섯 개가 있다.
  • VALIDATION 패널에 No validation issues. 가 보이고 헤더에 배지가 없다.

다음 단계​

Executable 과 Process에서 Adaptive Application 다섯 개 각각에 Executable 과 Process 를 만든다.