이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
코드 생성 어드바이저를 사용하여 코드 생성 목표에 맞게 모델 구성하기
효율성, 추적성, 안전성 등과 같은 애플리케이션 목표가 모델 구성 세트의 코드 생성 파라미터와 어떻게 연계되는지 고려해 보십시오. ‘구성 파라미터’ 대화 상자에서 설정하는 파라미터는 시뮬레이션 시 모델의 동작과 해당 모델에 대해 생성되는 코드 생성을 지정합니다.
코드를 생성하기 전이나 코드 생성 과정의 일환으로, ‘코드 생성 어드바이저’를 사용하여 모델을 검토할 수 있습니다. 코드 생성 어드바이저는 Recommended Settings Summary for Model Configuration Parameters에 제시된 정보를 바탕으로 사용자의 목표에 부합하는 파라미터 값을 결정합니다. 여러 목표 간에 상충이 발생할 경우, 우선순위가 더 높은 목표가 우선시됩니다.
코드 생성 목표를 설정한 다음 ‘코드 생성 어드바이저’를 실행하면, 해당 모델에 대한 코드 생성 목표를 달성하는 방법에 대한 정보를 확인할 수 있습니다. 코드 생성 어드바이저는 생성된 코드를 변경하지 않습니다. 코드 생성 어드바이저를 사용하여 모델에 제안된 변경 사항을 적용할 수 있습니다. 생성된 코드는 모델을 수정한 후 코드를 다시 생성해야만 변경됩니다. 코드 생성 어드바이저를 사용하여 코드 생성 목표를 설정하고 모델을 검사할 경우, 생성된 코드에는 사용자가 지정한 목표, 코드 생성 어드바이저가 모델에 대해 실행한 검사 항목, 그리고 검사 실행 결과가 명시된 주석이 포함됩니다.
모델에서 구성 참조를 사용하는 경우, 코드 생성 어드바이저를 실행하여 구성 파라미터 설정을 검토할 수 있습니다. 그러나 코드 생성 어드바이저는 구성 파라미터 설정을 변경할 수 없습니다.
고수준 코드 생성의 목표
모델이 나타내는 애플리케이션의 유형에 따라, 특정 고수준 코드 생성 목표를 설정하게 될 가능성이 높습니다. 예를 들어, 안전성과 추적 가능성은 메모리의 효율적인 사용보다 더 중요합니다. 구체적인 목표가 있다면, 다음 코드 생성 목표 중에서 선택하고 우선순위를 지정하여 해당 목표를 달성하도록 모델을 신속하게 구성할 수 있습니다:
실행 효율성 (모든 타깃) — 빠른 실행 시간을 확보할 수 있도록 코드 생성 설정을 구성합니다.
ROM 효율성 (ERT 기반 타깃) — ROM 사용량을 줄이도록 코드 생성 설정을 구성합니다.
RAM 효율성 (ERT 기반 타깃) — RAM 사용량을 줄이기 위해 코드 생성 설정을 구성합니다.
추적 가능성 (ERT 기반 타깃) — 모델 요소와 코드 간의 매핑을 제공하도록 코드 생성 설정을 구성합니다.
안전 예방 조치 (ERT 기반 타깃) — 코드의 명확성, 결정성, 견고성 및 검증 가능성을 높이기 위해 코드 생성 설정을 구성하십시오.
디버깅 (모든 타깃) — 코드 생성 빌드 프로세스를 디버깅할 수 있도록 코드 생성 설정을 구성합니다.
MISRA C:2023 지침(ERT 기반 타깃) — MISRA C:2023 지침 준수를 높이기 위해 코드 생성 설정을 구성하십시오.
MISRA C++:2023 지침 (ERT 기반 타깃) — MISRA C++:2023 지침 준수를 높이기 위해 코드 생성 설정을 구성하십시오.
Polyspace (ERT 기반 타깃) — Polyspace® 분석을 위해 코드를 준비할 수 있도록 코드 생성 설정을 구성합니다.
MISRA C:2023 지침에 따른 코드 생성 목표를 선택하면, 코드 생성 어드바이저:
모델 구성 설정이 MISRA C:2023의 구성 설정 권장 사항을 준수하는지 확인합니다.
MISRA C:2023 표준을 준수하는 코드 생성에 지원되지 않거나 권장되지 않는 블록이 있는지 확인합니다.
참조 모델에서 목표 지정하기
코드 생성 과정에서 모델을 확인할 때는 상위 모델과 참조 모델 모두에 동일한 목표를 지정해야 합니다. 최상위 모델과 참조 모델에 서로 다른 목표를 지정하면 빌드 과정에서 오류가 발생합니다.
최상위 모델과 각 참조 모델에 대해 서로 다른 목표를 지정하려면, 코드를 생성하지 않은 상태에서 각 모델을 개별적으로 검토하십시오.
코드 생성 어드바이저를 사용하여 모델 구성
이 예제는 코드 생성 어드바이저를 사용하여 모델을 확인하고 구성함으로써 코드 생성 목표를 달성하는 방법을 보여줍니다:
C 코드 탭에서 C/C++ 코드 어드바이저를 클릭합니다.
코드 생성 어드바이저의 코드 생성 목표 창에서 코드 생성 목표를 선택합니다. 목표를 선택하면 왼쪽 창에서 코드 생성 어드바이저가 모델에 대해 실행하는 검사 목록을 업데이트합니다. 모델이 ERT 기반 타깃으로 구성되어 있는 경우, 더 많은 목표값을 사용할 수 있습니다. 이 예제에서는 모델이 ERT 기반 타깃으로 구성되어 있습니다. 실행 효율성과 추적 가능성을 우선순위에 두고 목표를 설정했다면, 다음과 같이 진행하십시오:
사용 가능한 목표에서
실행 효율성을 더블 클릭합니다.실행 효율성가 선택한 목표 - 우선 순위가 지정됨에 추가됩니다.사용 가능한 목표에서
추적성을 더블 클릭합니다.추적성는실행 효율성아래의 선택한 목표 - 우선 순위가 지정됨에 추가됩니다.
코드 생성 어드바이저의 왼쪽 창에 나열된 검사를 실행하려면, 코드 생성 어드바이저 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 선택한 검사 실행를 선택하십시오.
‘코드 생성 어드바이저’ 창에서 왼쪽 창에서 모델 구성 설정이 코드 생성 목표에 맞는지 검사를 선택하여 해당 결과를 확인하십시오. 해당 확인 결과는 오른쪽 창에 표시됩니다.
모델 구성 설정이 코드 생성 목표에 맞는지 검사는 다음과 같은 문제에 대해 경고를 발생시킵니다:
파라미터가 지정된 코드 생성 목표에 대해 권장되는 값 이외의 값으로 설정되어 있습니다.
선택된 코드 생성 목표는 모델에 설정된 목표와 다릅니다.
설정하려면 파라미터 수정을 클릭합니다:
지정된 코드 생성 목표에 대해 권장되는 값으로 파라미터를 설정합니다.
모델 내의 코드 생성 목표를 ‘코드 생성 어드바이저’에 지정된 목표와 일치시킵니다.
‘코드 생성 어드바이저’ 창에서 왼쪽 창에서 나머지 검사 항목을 선택하여 해당 결과를 확인하십시오. 검증 결과가 오른쪽 창에 표시됩니다.
검사 결과를 검토한 후, Fix a Model Advisor Check Warning or Failure에 설명된 대로 경고 및 오류 사항을 수정할지 여부를 선택할 수 있습니다.
효율성 또는 안전 예방 조치 목표를 지정하면, 코드 생성 어드바이저에서 추가 검사를 수행합니다. 이러한 추가 검사 중 하나를 변경할 경우, 이전 검사 결과가 무효화될 수 있으므로 재실행해야 할 수도 있습니다.
‘구성 파라미터’ 대화 상자를 사용하여 코드 생성 목표에 맞게 모델 구성하기
이 예제는 ‘구성 파라미터’ 대화 상자를 통해 코드 생성 목표를 충족하도록 모델을 구성하고 확인하는 방법을 보여줍니다:
구성 파라미터 대화 상자를 엽니다. 코드 생성을 선택합니다.
시스템 타깃 파일을 지정하십시오. ERT 기반의 타깃을 지정하면 더 많은 목표를 선택할 수 있습니다. 이 예제에서는
ert.tlc와 같은 ERT 기반 타깃을 선택하십시오.Set Objectives를 클릭합니다.
목표 설정 — 코드 생성 어드바이저 대화 상자에 목표를 명시합니다. 예를 들어, 목표가 실행 효율성과 추적 가능성이며, 이 순서대로 우선순위를 정했다면 다음과 같이 진행하십시오:
사용 가능한 목표에서
실행 효율성을 더블 클릭합니다.실행 효율성가 선택한 목표 - 우선 순위가 지정됨에 추가됩니다.사용 가능한 목표에서
추적성을 더블 클릭합니다.추적성는실행 효율성아래의 선택한 목표 - 우선 순위가 지정됨에 추가됩니다.
목표를 수락하려면 확인을 클릭합니다. ‘구성 파라미터’ 대화 상자에서 코드 생성 > 우선 순위가 지정된 목표가 업데이트됩니다.
코드 생성 패널에서 Check Model을 클릭합니다. 코드 생성 어드바이저가 열리고 사용자가 지정한 모델을 검토합니다.
'코드 생성 어드바이저' 창에서 왼쪽 창에서 항목을 선택하여 결과를 확인하십시오. 해당 확인 결과는 오른쪽 창에 표시됩니다.

검사 결과를 검토한 후, Fix a Model Advisor Check Warning or Failure에 설명된 대로 경고 및 오류 사항을 수정할지 여부를 선택할 수 있습니다.
효율성 또는 안전 예방 조치 목표를 지정하면, 코드 생성 어드바이저에서 추가 검사를 수행합니다. 이러한 추가 검사 중 하나를 변경할 경우, 이전 검사 결과가 무효화될 수 있으므로 재실행해야 할 수도 있습니다.
자세한 내용은 목표 설정 — 코드 생성 어드바이저 대화 상자 항목을 참조하십시오.
프로그래밍 방식으로 코드 생성 목표 구성하기
이 예제는 MATLAB® 스크립트를 작성하거나 명령줄에서 명령을 입력하여 코드 생성 목표를 구성하는 방법을 보여줍니다.
시스템 타깃 파일을 지정하십시오. ERT 기반의 타깃을 지정하면 더 많은 목표를 선택할 수 있습니다. 이 예제에서는
ert.tlc를 지정하십시오.는 모델의 이름 또는 핸들입니다.model_nameset_param(model_name,"SystemTargetFile","ert.tlc");
모델 구성 파라미터
ObjectivePriorities(우선 순위가 지정된 목표)를 설정하여 목표를 지정하십시오. 예를 들어, 목표가 ‘실행 효율성’과 ‘추적 가능성’이며, 이 순서대로 우선순위를 정하고 싶다면 다음과 같이 입력하십시오:set_param(model_name,"ObjectivePriorities",... {"Execution efficiency", "Traceability"});이전 섹션에서 설명한 대로 ‘코드 생성 어드바이저’를 사용하거나 ‘구성 파라미터’ 대화 상자를 통해 코드 생성 어드바이저를 실행하십시오.
GRT 기반 시스템 타깃 파일을 지정할 때, ERT 기반 타깃에 대한 objective를 지정하면, GRT 기반 타깃을 사용할 때 유효하지 않은 값을 지정한 것이므로 빌드 프로세스에서 해당 objective를 Unspecified로 변경합니다.