Main Content

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

Advisor.Application 클래스

네임스페이스: Advisor

모델 참조 계층 및 변형 전반에 걸쳐 Model Advisor 실행

설명

Advisor.Application 인스턴스를 사용하여 다음을 수행합니다.

  • 상위 모델과 참조 모델에 대한 검사를 실행합니다.

  • AnalyzeVariants 인수를 true로 지정하여 활성 및 비활성 변형 모두에 대해 검사를 실행합니다.

  • Model Advisor 분석에서 특정 모델 구성 요소를 선택하거나 제거합니다. 모델 구성 요소는 루트 모델이 참조하고 setAnalysisRoot이 지정하는 모델입니다.

공개 메소드를 사용하여 다음을 수행하십시오.

  • Advisor.Application 개체를 사용하여 Model Advisor를 실행합니다.

  • Advisor.Application 객체를 삭제합니다.

  • Model Advisor가 실행되는 모델 구성 요소를 지정합니다.

  • Model Advisor가 실행할 검사를 지정합니다.

  • Model Advisor에서 결과를 얻으세요.

참고

모델이 모델 참조나 변형을 사용하지 않는 경우 대신 ModelAdvisor.run 함수를 사용하세요.

ModelAdvisor.run은 모델 및 하위 시스템에서 Model Advisor 검사를 실행할 수 있으며 여러 시스템에서 병렬로 실행할 수 있는 옵션이 있습니다.

생성

Advisor.Application 객체를 생성하려면 Advisor.Manager.createApplication을 사용합니다.

속성

모두 확장

분석할 모델 참조 계층 구조의 루트 모델 이름으로, Advisor.Application.setAnalysisRoot 방법으로 지정됩니다. 이 속성은 읽기 전용입니다.

속성:

GetAccess
public
SetAccess
private

데이터형: char

Advisor.Application 객체의 고유 식별자로, 문자형 벡터로 지정됩니다. 이 속성은 읽기 전용입니다.

속성:

GetAccess
public
SetAccess
private

데이터형: char

Advisor.Manager.createApplication 방법으로 지정된 임시 작업 폴더에서 분석을 실행합니다. 이 속성은 읽기 전용입니다.

속성:

GetAccess
public
SetAccess
private

데이터형: logical

Variant Manager를 사용하여 생성한 변형 구성이 있는 모델의 활성 및 비활성 변형 블록에 대한 분석을 실행합니다. 자세한 내용은 Variant Manager for Simulink를 참조하세요. 보고서를 생성하면 Model Advisor는 각 변형 구성에 대한 개별 보고서를 생성합니다. 이 속성은 읽기/쓰기입니다.

속성:

GetAccess
public
SetAccess
public

데이터형: logical

메서드

모두 확장

예제

모두 축소

이 예에서는 sldemo_mdlref_basic 모델과 참조 모델 sldemo_mdlref_counter에 대해 "루트 모델 가져오기 블록 사양 확인" 검사를 실행하는 방법을 보여줍니다.

예제 모델 sldemo_mdlref_basic을 엽니다. MATLAB® 명령 창에 다음을 입력합니다.

openExample("sldemo_mdlref_basic")

sldemo_mdlref_basic 모델은 3개의 Model 블록을 포함하는 상위 모델입니다. CounterA, CounterB, CounterC. 이러한 블록은 sldemo_mdlref_basic의 하위 시스템이 아닌 별도의 모델인 동일한 모델인 sldemo_mdlref_counter를 참조합니다.

sldemo_mdlref_basic의 모델 참조 계층 전체에서 Model Advisor 검사를 실행하는 데 사용할 수 있는 Advisor.Application 개체를 생성합니다.

app = Advisor.Manager.createApplication();

분석할 모델 또는 하위 시스템을 지정합니다. 이 예에서는 sldemo_mdlref_basic 모델을 Model Advisor 분석의 루트로 지정합니다.

setAnalysisRoot(app,Root = "sldemo_mdlref_basic");

Advisor.Application 개체에 대한 분석 루트로 모델을 지정하면 Model Advisor는 해당 모델과 참조된 모델을 분석합니다. 자세한 내용은 setAnalysisRoot를 참조하세요.

루트 모델 가져오기 블록 사양 확인 검사만 실행한다고 가정합니다.

기본적으로 Advisor.Application 개체는 현재 Model Advisor 구성에서 각 검사 인스턴스를 실행하도록 설정되어 있으며 모든 검사 인스턴스가 선택되어 있습니다. Model Advisor 분석에서 모든 확인 인스턴스를 제거하려면 확인 인스턴스를 지웁니다.

deselectCheckInstances(app);

확인 인스턴스 ID를 찾아 사용하여 Model Advisor가 루트 모델 가져오기 블록 사양 확인 확인만 실행하도록 지정합니다.

checkID = "mathworks.design.RootInportSpec";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);

이제 Model Advisor 분석을 위해 "루트 모델 가져오기 블록 사양 확인"이 선택되었습니다.

getCheckInstanceIDs 메소드는 "루트 모델 가져오기 블록 사양 확인" 확인이 Model Advisor 트리의 여러 폴더에 나타나기 때문에 여러 확인 인스턴스 ID를 반환합니다. 이 예에서는 instanceIDgetCheckInstanceIDs에서 반환된 첫 번째 검사 인스턴스 ID로 지정되지만 getCheckInstanceIDs에서 반환된 검사 인스턴스 ID 중 하나를 선택할 수 있습니다.

참고

또는 개별 검사를 선택하는 대신 Model Advisor 구성 파일을 로드하려면 loadConfiguration 메서드를 사용하세요.

Model Advisor 분석을 실행합니다.

run(app);

Model Advisor는 sldemo_mdlref_basicsldemo_mdlref_counter 모두에서 "루트 모델 가져오기 블록 사양 확인" 검사를 실행합니다.

Model Advisor 분석 결과를 가져옵니다.

res = getResults(app);

Model Advisor 보고서를 생성하고 봅니다.

report = generateReport(app);
web(report);

Model Advisor 보고서는 sldemo_mdlref_basicsldemo_mdlref_counter에 대한 결과 요약과 각 모델에 대한 개별 보고서에 대한 하이퍼링크를 제공합니다.

이 예에서는 slexVariantManagement 모델의 다양한 변형 선택 항목에 대해 "연결되지 않은 라인, 입력 포트 및 출력 포트 식별" 검사를 실행하는 방법을 보여줍니다.

예제 모델 slexVariantManagement를 엽니다. MATLAB 명령 창에 다음을 입력합니다.

openExample("slexVariantManagement")

slexVariantManagement 모델에는 ControllerPlant를 포함한 여러 변형 하위 시스템 블록이 포함되어 있습니다. 변형 하위 시스템 블록 내부에는 해당 구성 요소의 다양한 구현이 있습니다.

slexVariantManagement에는 모델과 연결된 변형 구성 데이터 개체 vcd에 저장된 여러 변형 구성이 있습니다. Advisor.Application 객체는 Variant Manager를 사용하여 생성된 변형 구성이 있는 모델의 활성 및 비활성 변형 블록에 대해서만 Model Advisor 분석을 실행할 수 있습니다. 자세한 내용은 Variant Manager for Simulink를 참조하세요.

Model Advisor 검사를 실행하는 데 사용할 수 있는 Advisor.Application 개체를 만듭니다.

app = Advisor.Manager.createApplication();

AnalyzeVariantstrue로 지정하면 Advisor.Application 개체가 slexVariantManagement의 각 변형 선택에 대해 Model Advisor를 실행할 수 있습니다.

app.AnalyzeVariants = true;

분석할 모델을 지정합니다. 이 예에서는 slexVariantManagement 모델을 Model Advisor 분석의 루트로 지정합니다.

setAnalysisRoot(app,Root = "slexVariantManagement");

연결되지 않은 라인, 입력 포트 및 출력 포트 식별 확인만 실행한다고 가정합니다.

기본적으로 Advisor.Application 개체는 현재 Model Advisor 구성에서 각 검사 인스턴스를 실행하도록 설정되어 있으며 모든 검사 인스턴스가 선택되어 있습니다. Model Advisor 분석에서 모든 확인 인스턴스를 제거하려면 확인 인스턴스를 지웁니다.

deselectCheckInstances(app);

검사 인스턴스 ID를 찾아 사용하여 Model Advisor가 "연결되지 않은 라인, 입력 포트 및 출력 포트 식별" 검사를 실행하도록 지정합니다.

checkID = "mathworks.design.UnconnectedLinesPorts";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);

이제 Model Advisor 분석을 위해 "연결되지 않은 라인, 입력 포트 및 출력 포트 식별" 확인이 선택되었습니다.

getCheckInstanceIDs 메소드는 "연결되지 않은 라인, 입력 포트 및 출력 포트 식별" 확인이 Model Advisor 트리의 여러 폴더에 나타나기 때문에 여러 확인 인스턴스 ID를 반환합니다. 이 예에서는 instanceIDgetCheckInstanceIDs에서 반환된 첫 번째 검사 인스턴스 ID로 지정되지만 getCheckInstanceIDs에서 반환된 검사 인스턴스 ID 중 하나를 선택할 수 있습니다.

참고

또는 개별 검사를 선택하는 대신 Model Advisor 구성 파일을 로드하려면 loadConfiguration 메서드를 사용하세요.

Model Advisor 분석을 실행합니다.

run(app);

Model Advisor는 모델과 참조 모델의 활성 및 비활성 변형 모두에 대해 검사를 실행합니다.

Model Advisor 분석 결과를 가져옵니다.

res = getResults(app);

Model Advisor 보고서를 생성하고 봅니다.

report = generateReport(app);
web(report);

Model Advisor 보고서는 slexVariantManagement에 대한 결과 요약과 각 변형에 대한 개별 보고서에 대한 하이퍼링크를 제공합니다.

제한사항

  • 참조 모델은 데이터가 부족한 경우에만 컴파일되며 다음과 같은 경우 참조 모델에 대해 컴파일 타임 검사가 실행되지 않습니다.

    • 모델 참조는 계층 구조에서 사용됩니다.

    • 시뮬레이션 모드accelerator로 설정됩니다.

    • UpdateModelReferenceTargetsIfOutOfDate로 설정됩니다.

  • Advisor.Application은 여러 시스템에서 병렬로 실행할 수 없습니다. 모델이 모델 참조나 변형을 사용하지 않는 경우 대신 ModelAdvisor.run 함수를 사용하세요. ModelAdvisor.run은 모델 및 하위 시스템에서 Model Advisor 검사를 실행할 수 있으며 여러 시스템에서 병렬로 실행할 수 있는 옵션이 있습니다.

버전 내역

R2015b에 개발됨