Main Content

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

ModelAdvisor.run

Model Advisor를 사용하여 시스템 검사 실행

    설명

    예제

    ModelAdvisor.run(Systems,CheckIDList)CheckIDList에 지정된 확인 ID 목록에 대해 Systems에 지정된 모델 또는 하위 시스템에서 Model Advisor를 실행합니다.

    예제

    ModelAdvisor.run(Systems,'Configuration')는 Model Advisor 구성 파일 FileName에 지정된 검사 목록에 대해 Model Advisor를 실행합니다.

    예제

    ModelAdvisor.run(Systems,{{CheckID,'InputParam',{paramName,paramValue}}})는 입력 매개변수 이름 paramName 및 입력 매개변수 값 paramValue로 지정된 입력 매개변수 설정을 사용하여 CheckID로 지정된 검사 ID에 대해 Model Advisor를 실행합니다.

    예제

    ModelAdvisor.run(Systems,{{CheckID1,'InputParam',{paramName1,paramValue1,...,paramNameN,paramValueN}},...,{CheckIDN,'InputParam',{paramName1,paramValue1,...,paramNameN,paramValueN}}})'InputParam'를 사용하여 지정된 입력 매개변수 설정을 사용하여 하나 이상의 확인 ID에 대해 Model Advisor를 실행합니다.

    검사 ID는 CheckID1부터 CheckIDN까지 지정됩니다. 각 검사 ID에 대해 매개변수 이름 paramName1 - paramNameN 및 매개변수 값 paramValue1 - paramValueN과 함께 'InputParam'를 사용하여 검사에 대한 입력 매개변수를 지정할 수 있습니다.

    예를 들어, 트리거 신호 이름 검사 검사에 대한 입력 매개변수를 지정하려면 다음을 사용합니다. {'mathworks.jmaab.db_0032','InputParam',{'Follow links','off','Look under masks','all'}}.

    예제

    Results = ModelAdvisor.run(___,Name,Value)은 하나 이상의 Name,Value 쌍 인수를 사용하여 Model Advisor 분석의 속성을 지정하고 결과를 Results로 반환합니다. Model Advisor 실행의 속성을 보려면 Results를 사용합니다. 이전 구문 중 하나와 함께 이 옵션을 사용하세요.

    예제

    모두 축소

    모델 진단 매개변수 확인연결되지 않은 개체 확인 검사에 대한 검사 ID 목록을 생성합니다.

    checkIDs = {'mathworks.maab.jc_0021',...
    'mathworks.iec61508.UnconnectedObjects'};
    

    예제 모델 sldemo_auto_climatecontrol을 엽니다.

    openExample('sldemo_auto_climatecontrol')

    하위 시스템 sldemo_auto_climatecontrol/Heater Controlsldemo_auto_climatecontrol/AC Control의 목록을 만듭니다.

    systems = {'sldemo_auto_climatecontrol/Heater Control',...
        'sldemo_auto_climatecontrol/AC Control'};
    

    Model Advisor를 사용하여 하위 시스템에 대한 검사를 실행합니다.

    results = ModelAdvisor.run(systems,checkIDs);

    Model Advisor 검사에 대한 자세한 내용은 Model Advisor Checks Documentation를 참조하세요. 검사 ID를 찾는 방법에 대한 자세한 내용은 Find Model Advisor Check IDs를 참조하세요.

    입력 매개변수 값을 지정하는 검사 목록을 만든 다음 Model Advisor를 사용하여 검사를 실행합니다.

    다음을 입력하여 vdp 모델을 엽니다.

    openExample('vdp')

    신호선 연결 확인트리거 신호 이름 확인 검사에 사용되는 입력 매개변수 목록을 생성합니다.

    검사를 위한 입력 매개변수를 찾으려면 모델에 대한 Model Advisor 개체를 생성하고 getInputParameters를 사용합니다. 신호선 연결 확인 검사의 검사 ID는 'mathworks.jmaab.db_0032'이고 트리거 신호 이름 확인 검사의 검사 ID는 'mathworks.jmaab.jc_0281'입니다.

    ma = Simulink.ModelAdvisor.getModelAdvisor('vdp');
    
    db_0032_parameters = getInputParameters(ma, 'mathworks.jmaab.db_0032');
    jc_0281_parameters = getInputParameters(ma, 'mathworks.jmaab.jc_0281');

    'mathworks.jmaab.db_0032' 확인의 경우 db_0032_parameters{6}에는 입력 매개변수 Follow links에 대한 InputParameter 속성이 포함되어 있습니다. 입력 매개변수 이름을 followLinks 변수에 저장합니다.

    followLinks = db_0032_parameters{6}.Name;

    'mathworks.jmaab.db_0032'의 경우 입력 매개변수 Follow links'off'로 설정합니다. Follow links'off'인 경우 Model Advisor는 라이브러리에 연결된 블록의 내용을 분석하지 않습니다.

    check1 = {'mathworks.jmaab.db_0032',...
    'InputParam',{followLinks,'off'}};

    'mathworks.jmaab.jc_0281' 확인의 경우 jc_0281_parameters{1}에는 입력 매개변수 jc_0281_a에 대한 InputParameter 속성이 포함되어 있고 jc_0281_parameters{2}에는 입력 매개변수 jc_0281_b에 대한 InputParameter 속성이 포함되어 있습니다. jc_0281_ajc_0281_b에는 'mathworks.jmaab.jc_0281'에 대한 하위 검사가 포함되어 있습니다. 입력 매개변수 이름을 변수 subCheckAsubCheckB에 저장합니다.

    subCheckA = jc_0281_parameters{1}.Name;
    subCheckB = jc_0281_parameters{2}.Name;

    'jc_0281_a2' 하위 검사를 선택하고 'jc_0281_b' 하위 검사를 비활성화합니다. 입력 매개변수 값 2'jc_0281_a'의 두 번째 하위 검사를 선택합니다. 입력 매개변수 값 0'jc_0281_b' 하위 검사를 비활성화합니다. 'mathworks.jmaab.jc_0281' 및 해당 하위 검사에 대한 자세한 내용은 트리거 신호 이름 확인를 참조하세요.

    check2 = {'mathworks.jmaab.jc_0281',...
    'InputParam',{subCheckA, 2, subCheckB, 0}};

    검사 목록을 만듭니다.

    listOfChecks = {check1, check2};

    Model Advisor를 사용하여 vdp 시스템에서 지정된 검사를 실행합니다.

    results = ModelAdvisor.run('vdp', listOfChecks)

    Model Advisor 검사 및 하위 검사에 대한 자세한 내용은 Model Advisor Checks Documentation를 참조하세요. 검사 ID를 찾는 방법에 대한 자세한 내용은 Find Model Advisor Check IDs를 참조하세요.

    Model Advisor 구성 파일에 지정된 검사 목록에 대해 Model Advisor를 실행합니다.

    이 예제에 대한 파일을 포함하려면 Model Advisor 검사 정보 캐시를 새로 고치십시오.

    Advisor.Manager.refresh_customizations()

    예제 구성 파일 demoConfiguration.json을 사용하여 Model Advisor 분석에 포함할 검사를 지정합니다. 파일 이름 demoConfiguration.json을 변수 fileName에 저장합니다.

    fileName = 'demoConfiguration.json';

    +MyEditTimeChecks이라는 폴더를 만들고 해당 폴더에 클래스 정의 파일을 저장합니다.

    copyfile PortColor.m* +MyEditTimeChecks

    하위 시스템 sldemo_auto_climatecontrol/Heater Controlsldemo_auto_climatecontrol/AC Control의 목록을 만듭니다.

    systems = {'sldemo_auto_climatecontrol/Heater Control',...
        'sldemo_auto_climatecontrol/AC Control'};

    Model Advisor를 사용하여 systems로 지정된 하위 시스템에서 구성 파일 demoConfiguration.json로 지정된 검사를 실행합니다.

    results = ModelAdvisor.run(systems,'Configuration',fileName);
    Updating Model Advisor cache...
    Model Advisor cache updated. For new customizations, to update the cache, use the Advisor.Manager.refresh_customizations method.
             Running Model Advisor... ... 
    
             Systems passed: 0 of 2
    
             Systems with information: 0 of 2
    
             Systems with warnings: 2 of 2
    
             Systems with failures or incomplete run: 0 of 2
    
             Systems with justifications: 0 of 2
             To view the summary report, use the 'ModelAdvisor.summaryReport(SystemResultObjArray)' command. SystemResultObjArray is the result of the ModelAdvisor.run command.
    

    Model Advisor를 사용하여 검사를 실행하고 보고서를 생성합니다.

    다음을 입력하여 vdp 모델을 엽니다.

    openExample('vdp')

    검사 ID 목록을 만듭니다. 신호선 연결 확인 검사의 검사 ID는 'mathworks.jmaab.db_0032'이고 트리거 신호 이름 확인 검사의 검사 ID는 'mathworks.jmaab.jc_0281'입니다.

    checkIDs = {'mathworks.jmaab.db_0032','mathworks.jmaab.jc_0281'}

    Model Advisor를 사용하여 모델에 대한 검사를 실행합니다. 이름-값 인수 'ReportFormat', 'ReportPath''ReportName'을 사용하여 현재 폴더 pwd에 Microsoft® Word 문서를 생성합니다.

    ModelAdvisor.run('vdp', checkIDs,...
    'ReportFormat', 'docx', 'ReportPath', pwd, 'ReportName', 'myReport')

    Model Advisor 검사 및 하위 검사에 대한 자세한 내용은 Model Advisor Checks Documentation를 참조하세요. 검사 ID를 찾는 방법에 대한 자세한 내용은 Find Model Advisor Check IDs를 참조하세요.

    입력 인수

    모두 축소

    유효한 모델 또는 서브시스템 목록으로, 모델 이름 또는 서브시스템 이름으로 구성된 셀형 배열로 지정됩니다.

    예: {'vdp', 'sldemo_2counters'}

    예: {'sldemo_auto_climatecontrol/Heater Control', 'sldemo_auto_climatecontrol/AC Control'}

    Model Advisor 검사에 대한 유효한 검사 ID 목록으로, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

    검사 ID를 찾는 방법에 대한 자세한 내용은 Find Model Advisor Check IDs를 참조하세요.

    CheckIDList에 중복된 검사 ID를 포함하지 마십시오. 동일한 검사를 여러 번 실행해야 하지만 입력 매개변수가 서로 다른 경우 다음 방법 중 하나를 사용하십시오.

    • 각각의 다른 입력 매개변수에 대해 별도로 ModelAdvisor.run을 호출합니다.

      예를 들어, 'mathworks.jmaab.jc_0281' 검사를 두 번 실행하려면, 한 번은 'jc_0281_a' 하위 검사를 비활성화하고 한 번은 'jc_0281_a2' 하위 검사를 선택합니다.

      myCheck = 'mathworks.jmaab.jc_0281';
      inputParam1 = {'jc_0281_a',0}; % disable 'jc_0281_a' subchecks
      inputParam2 = {'jc_0281_a',2}; % select subcheck 'jc_0281_a2'
      
      ModelAdvisor.run(modelName,{{myCheck,'InputParam',inputParam1}})
      ModelAdvisor.run(modelName,{{myCheck,'InputParam',inputParam2}})
      

    • 각기 다른 입력 매개변수에 대해 별도의 검사 인스턴스를 사용하는 Model Advisor 구성을 생성하고 실행합니다. Model Advisor 구성 편집기에서 실행하려는 다양한 입력 매개변수마다 새 폴더를 생성하고, 각 폴더에 검사를 복사하고, 각 폴더의 검사를 수정하여 다양한 입력 매개변수를 지정합니다. 구성을 실행하려면 ModelAdvisor.run(Systems,'Configuration',FileName) 구문을 사용하세요.

    예: 'mathworks.jmaab.jc_0281'

    예: {'mathworks.maab.jc_0021', 'mathworks.misra.BlockNames'}

    Model Advisor 검사에 대한 유효한 검사 ID로, 문자형 벡터로 지정됩니다.

    검사 ID를 찾는 방법에 대한 자세한 내용은 Find Model Advisor Check IDs를 참조하세요.

    예: 'mathworks.jmaab.jc_0281'

    Model Advisor 검사를 위한 입력 매개변수의 이름으로, 문자형 벡터로 지정됩니다.

    Simulink.ModelAdvisor 개체에서 getInputParameters를 사용하여 Model Advisor 검사에 대한 입력 매개 변수 이름을 볼 수 있습니다. 입력 매개변수 이름인 NameModelAdvisor.InputParameter 개체의 속성입니다. 자세한 내용은 Model Advisor를 사용하여 하위 검사 실행를 참조하세요.

    Model Advisor 구성 편집기에서 확인을 위한 입력 매개변수를 볼 수도 있습니다. 입력 매개변수 값을 사용자 정의 Model Advisor 구성 파일에 저장할 수 있습니다. 자세한 내용은 Use Model Advisor Configuration Editor to Customize Model Advisor를 참조하세요.

    Model Advisor 점검, 하위 점검 및 입력 매개변수에 대한 자세한 내용을 보려면 Model Advisor Checks Documentation의 제품별 점검 문서 링크를 사용하십시오.

    예: 'Follow links'

    예: 'jc_0281_a'

    Model Advisor 검사를 위한 입력 매개변수의 값으로, 문자형 벡터 또는 정수로 지정됩니다.

    Simulink.ModelAdvisor 개체에 대해 getInputParameters를 사용하여 Model Advisor 검사에 대한 입력 매개 변수 값을 볼 수 있습니다. 현재 입력 매개변수 값인 ValueModelAdvisor.InputParameter 개체의 속성입니다. 자세한 내용은 Model Advisor를 사용하여 하위 검사 실행를 참조하세요.

    Model Advisor 구성 편집기에서 확인을 위한 입력 매개변수를 볼 수도 있습니다. 입력 매개변수 값을 사용자 정의 Model Advisor 구성 파일에 저장할 수 있습니다. 자세한 내용은 Use Model Advisor Configuration Editor to Customize Model Advisor를 참조하세요.

    Model Advisor 점검, 하위 점검 및 입력 매개변수에 대한 자세한 내용을 보려면 Model Advisor Checks Documentation의 제품별 점검 문서 링크를 사용하십시오.

    예: 'off'

    예: 4

    이름-값 인수

    선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN로 지정합니다. 여기서 Name은 인수 이름이고 Value는 해당 값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만 쌍의 순서는 중요하지 않습니다.

    R2021a 이전에는 쉼표를 사용하여 각 이름과 값을 구분하고 Name 따옴표로 묶습니다.

    예: results = ModelAdvisor.run(systems,'Configuration',fileName,'ExtensiveAnalysis','Off');

    전체 파일 이름 또는 구성 파일의 경로로, .json 또는 .mat 형식의 문자형 벡터로 지정됩니다. 구성 파일 생성에 대한 자세한 내용은 Use Model Advisor Configuration Editor to Customize Model Advisor를 참조하세요.

    예: 'demoConfiguration.json'

    참고

    CheckIDList이 지정된 경우 Configuration를 지정할 수 없습니다.

    Model Advisor에 대한 결과 표시 설정으로, 'Summary', 'Details' 또는 'None'로 지정됩니다. DisplayResults'Summary'로 설정하면 명령 창에 시스템 결과 요약이 표시됩니다. DisplayResults'Details'로 설정하면 다음이 표시됩니다.

    • 실행이 진행되는 동안 Model Advisor가 확인하는 시스템은 무엇입니까?

    • 각 시스템에 대한 각 검사의 통과 및 실패 결과

    • 시스템 결과 요약

    DisplayResults'None'로 설정하면 명령 창에 정보가 표시되지 않습니다.

    예: 'Details'

    'On' 또는 'Off'로 지정되는 Model Advisor에 대한 광범위한 분석 설정입니다. 'ExtensiveAnalysis''On'로 설정하면 광범위한 분석을 트리거하는 검사를 포함하여 Model Advisor 구성의 각 검사가 실행됩니다. 'ExtensiveAnalysis''Off'로 설정하면 광범위한 분석을 트리거하지 않는 검사만 실행됩니다.

    모델의 광범위한 분석을 시작하는 검사에서는 Simulink® Design Verifier™를 사용한 분석과 같은 추가 분석 기술을 사용합니다. 광범위한 분석을 실행하는 검사에는 Model Advisor의 검사 이름 앞에 Extensive Analysis 아이콘이 있습니다.

    'ExtensiveAnalysis' 이름-값 인수를 사용하려면 'Configuration' 인수를 사용하여 검사 구성 파일 이름을 지정해야 합니다.

    예: 'Off'

    'Off' 또는 'On'로 지정되는 Model Advisor에 대한 강제 삭제 설정입니다. Force'On'로 설정하면 기존 modeladvisor/system 폴더가 제거됩니다. Force'Off'로 설정하면 기존 modeladvisor/system 폴더를 제거하기 전에 메시지가 표시됩니다.

    예: 'On'

    전체 파일 이름 또는 사유 파일의 경로로, string형 스칼라나 문자형 벡터로 지정됩니다. 근거 파일은 JSON 형식입니다.

    사유 파일을 만드는 방법에 대한 자세한 내용은 Justify Model Advisor Violations from Check Analysis을 참조하세요.

    예: 'vdp_justifications.json'

    데이터형: char | string

    'Off' 또는 'On'로 지정되는 Model Advisor의 병렬 실행 설정입니다. ParallelMode'On'로 설정하면 Parallel Computing Toolbox™ 라이센스와 멀티코어 시스템이 있는 경우 Model Advisor가 병렬 모드로 실행됩니다. Parallel Computing Toolbox은 32비트 Windows® 시스템을 지원하지 않습니다. 각 병렬 프로세스는 한 번에 하나의 모델에 대해 검사를 실행합니다. 병렬 모드에서는 모델 작업 공간이나 데이터 사전에서 모델 데이터를 로드합니다. 병렬 모드에서 Model Advisor는 기본 작업 공간의 모델 데이터를 지원하지 않습니다. 예를 보려면 Create Function to Check Multiple Systems를 참조하세요.

    참고

    Model Advisor 병렬 실행은 Simulink Online에서 지원되지 않습니다.

    예: 'On'

    보고서에 대한 보고서 제외 표시 설정으로, 'On' 또는 'Off'로 지정됩니다. ShowExclusions'On'로 설정하면 보고서에 Model Advisor 검사 제외 항목이 나열됩니다. ShowExclusions'Off'로 설정하면 보고서에 Model Advisor 검사 제외 항목이 나열되지 않습니다.

    예: 'Off'

    'Off' 또는 'On'로 지정되는 Model Advisor의 임시 작업 폴더 설정입니다. TempDir'On'로 설정하면 병렬 풀을 사용하여 실행할 때 동시성 문제를 방지하기 위해 임시 작업 폴더에서 Model Advisor가 실행됩니다. 자세한 내용은 Resolving Data Concurrency Issues를 참조하세요. TempDir'Off'로 설정하면 현재 작업 폴더에서 Model Advisor가 실행됩니다.

    예: 'On'

    생성된 보고서의 형식으로, HTML 형식, PDF 형식 또는 Microsoft Word 문서 형식으로 지정됩니다.

    참고

    지원되지 않는 형식을 선택하면 Model Advisor에 오류가 표시됩니다. Microsoft Word 라이센스가 있는 Windows 운영 체제의 경우 지원되는 형식은 'html', 'pdf''docx'입니다. UNIX®와 같은 운영 체제의 경우 지원되는 유일한 형식은 'html'입니다.

    예: 'docx'

    생성된 보고서의 폴더 경로로, 문자형 벡터로 지정됩니다. 기본적으로 'ReportPath'는 현재 작업 디렉터리의 'slprj/modeladvisor/modelName' 폴더입니다.

    예: 'C:\MyProject\MyReports'

    Model Advisor 보고서 파일 이름(확장자 없음)으로, 문자형 벡터로 지정됩니다. 보고서 파일 이름에는 밑줄과 모델 이름 '_<modelName>'이 추가됩니다. 예를 들어, vdp 모델에서 ReportName 'MyReport'을 사용하여 Model Advisor를 실행하는 경우 Model Advisor 보고서의 파일 이름은 'MyReport_vdp'입니다.

    예: 'MyReport'

    출력 인수

    모두 축소

    Model Advisor 검사 결과로, ModelAdvisor.SystemResult 객체로 구성된 셀 배열로 지정됩니다. 이 함수는 입력 인수 Systems로 지정된 각 모델 또는 하위 시스템에 대해 하나의 개체를 반환합니다.

    ModelAdvisor.SystemResult 객체에는 ModelAdvisor.CheckResult 객체의 배열을 포함하는 CheckResultObjs 속성이 포함되어 있습니다(ModelAdvisor.run에 의해 실행되는 각 검사에 대해 하나씩).

    Model Advisor를 다시 실행하지 않고 결과를 검토하려면 결과를 저장하세요. 자세한 내용은 객체에 대한 저장 및 불러오기 프로세스를 참조하세요.

    제한사항

    • ModelAdvisor.run는 모델 계층 전체에서 실행되지 않습니다. 상위 모델 및 참조 모델에서 Model Advisor를 실행하려면 대신 Advisor.Application를 사용하십시오.

    • ModelAdvisor.run는 활성 변형에 대해서만 Model Advisor를 실행합니다. 활성 및 비활성 변형 모두에서 Model Advisor를 실행하려면 true로 지정된 AnalyzeVariants 인수와 함께 Advisor.Application을 사용합니다.

    • MATLAB® 명령줄에서 Model Advisor를 실행하면 ModelAdvisor.run 명령의 LogVerbosity 옵션을 사용하여 오류, 경고 및 디버그 세부 정보와 같은 정보를 기록할 수 있습니다.

      ModelAdvisor.run('vdp',checkIDlist,'LogVerbosity','None')

      로깅의 세부 수준을 지정하려면 다음과 같이 LogVerbosity 옵션을 설정할 수 있습니다.

      LogVerbosity의 값정보 로깅 수준

      None

      정보가 없습니다(기본값).

      Concise

      오류 및 경고와 같은 적당한 양의 정보.

      Verbose

      완전한 정보.

      또한 LogFile 옵션을 포함하여 로그 세부 정보를 텍스트 파일에 저장할 수 있습니다.

      ModelAdvisor.run('vdp',checkIDlist,'LogVerbosity','Concise','LogFile','Log.txt')

      참고

      LogVerbosityNone(기본값)로 설정된 경우 LogFile를 지정할 수 없습니다.

    • Parallel Computing Toolbox 라이센스와 멀티코어 시스템이 있는 경우 Model Advisor는 여러 시스템에서 병렬로 실행될 수 있습니다. 'ParallelMode''On'로 설정하고 ModelAdvisor.run을 사용하여 Model Advisor를 병렬 모드에서 실행할 수 있습니다. 기본적으로 'ParallelMode''Off'로 설정됩니다. ModelAdvisor.run'ParallelMode''On'로 설정된 상태에서 사용하면 MATLAB가 자동으로 병렬 풀을 생성합니다.

    대안

    • Model Advisor 사용자 인터페이스를 사용하여 각 시스템을 실행합니다. 사용자 인터페이스에서는 한 번에 하나의 시스템만 실행할 수 있습니다.

    • Simulink.ModelAdvisor 개체를 사용하여 각 시스템을 한 번에 하나씩 실행하는 스크립트나 함수를 만듭니다.

    확장 기능