주요 콘텐츠

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

분석 함수를 사용하여 아키텍처 모델 속성 분석

모델 요소에 속성이 지정되면 MATLAB®을 사용하여 분석을 수행하고 설계 내의 모든 요소에 대한 총 비용을 계산할 수 있습니다. 그런 다음 시스템의 개별 컴포넌트를 설계할 때 추가적인 파생 요구 사항을 만들 수 있습니다. 데이터 기반 거래 연구를 수행하고 시스템 요구 사항을 검증하기 위해 요소 속성에 기반한 정적 분석을 수행합니다.

이 튜토리얼에서는 속성이 있는 모바일 로봇 아키텍처 모델을 사용하여 시스템의 총 비용을 계산하고 정적 분석을 수행합니다. 속성과 스테레오타입에 대한 자세한 내용은 스테레오타입을 활용한 아키텍처 설계 확장를 참조하십시오.

System Composer™의 모델 기반 시스템 엔지니어링 워크플로에 대한 자세한 내용은 아키텍처 모델을 사용하여 시스템 구성 및 분석를 참조하십시오.

속성이 있는 모바일 로봇 아키텍처 모델

이 예에서는 컴포넌트에 스테레오타입을 적용하고 속성을 정의한 모바일 로봇 아키텍처 모델을 보여줍니다.

분석 수행

로봇 모델의 모든 컴포넌트에 대한 총 비용을 분석합니다. 이 절차에서는 ex_RobotArch_props.slx 모델을 사용합니다.

  1. Modeling > Analysis Model로 이동하여 Instantiate Architecture Model 도구를 엽니다.

  2. 분석 함수를 추가합니다. Analysis function 상자에 확장자 없이 함수 이름 ex_RobotArch_analysis_new를 입력한 다음 add analysis function 버튼을 클릭합니다. MATLAB 함수 파일이 생성되어 ex_RobotArch_analysis_new.m라는 이름으로 저장됩니다.

    Instantiate architecture model screen with all stereotypes selected. Configure analysis to use iteration order bottom-up.

    분석 함수에는 템플릿으로 제공된 모델 요소로부터 속성을 가져오는 구문이 포함되어 있습니다. 이 템플릿을 수정하여 개별 요소의 비용을 추가하고 상위 아키텍처의 총 비용을 구합니다. 이 함수는 자체 비용과 모든 자식 컴포넌트의 비용을 합한 총 비용으로 하나의 모델 요소에 대한 비용을 계산합니다. 아래 함수를 복사하여 분석 함수에 붙여넣으십시오.

    function ex_RobotArch_analysis_new(instance,varargin)
        
        if instance.isComponent()
            if instance.hasValue("sysBaseStereotype.unitPrice")
                sysComponent_totalPrice = instance.getValue("sysBaseStereotype.unitPrice");
            else
                sysComponent_totalPrice = 0;
            end
            if ~isempty(instance.Components)        
                for child = instance.Components
                    if child.hasValue("sysBaseStereotype.totalPrice")
                        comp_price = child.getValue("sysBaseStereotype.totalPrice");
                        sysComponent_totalPrice = sysComponent_totalPrice + comp_price;
                    end
                end
            end
            sysPort_totalPrice = 0;
            for port = instance.Ports
                if port.hasValue("sysBaseStereotype.unitPrice")
                    unitPrice = port.getValue("sysBaseStereotype.unitPrice");
                    sysPort_totalPrice = sysPort_totalPrice + unitPrice;
                end
            end
            sysConnector_totalPrice = 0;
            for connector = instance.Connectors
                if connector.hasValue("sysBaseStereotype.unitPrice")
                    unitPrice = connector.getValue("sysBaseStereotype.unitPrice");
                    length = connector.getValue("sysConnector.length");
                    sysConnector_totalPrice = sysConnector_totalPrice + unitPrice*length;
                end
            end
            if (instance.hasValue("sysBaseStereotype.totalPrice"))
                totalPrice = sysComponent_totalPrice + ...
                             sysPort_totalPrice + sysConnector_totalPrice;
                instance.setValue("sysBaseStereotype.totalPrice",totalPrice);
            end
        end
    end
    
  3. Instantiate Architecture Model 툴로 돌아가서 모든 스테레오타입을 선택하고 Instantiate를 클릭합니다. Analysis Viewer가 열리고 각 모델 요소의 속성이 표시됩니다. 분석 시작 시의 디폴트 값은 모델에 스테레오타입을 연결하고 해당 값을 편집할 때 입력한 속성 값에서 가져옵니다.

  4. Analysis 섹션에서 반복 방법으로 BottomUp을 선택한 다음 Analyze를 클릭합니다.

    각 요소의 비용을 상향식으로 더하면 시스템 비용이 나옵니다. 결과는 분석 인스턴스에 기록되고 Analysis Viewer에서 볼 수 있습니다.

    Analysis viewer with data.

    총 비용은 계산된 값이며 노란색으로 강조 표시됩니다. 맨 위 행은 ex_RobotArch_props 아키텍처의 총계를 나타냅니다.

참고 항목

도움말 항목