Contenido principal

Analizar propiedades de modelo de arquitectura con la función de análisis

Con propiedades especificadas en los elementos del modelo, puede utilizar MATLAB® para realizar análisis y calcular el coste total de todos los elementos dentro del diseño. A continuación, puede crear requisitos derivados adicionales para quienes diseñan los componentes individuales del sistema. Realice análisis estáticos basados en las propiedades de los elementos para realizar estudios de tradeoff controlados por datos y verifique los requisitos del sistema.

En este tutorial, se usa un modelo de arquitectura para robots móviles con propiedades para calcular el coste total del sistema y realizar análisis estáticos. Para obtener más información sobre las propiedades y los estereotipos, consulte Ampliar el diseño de arquitectura utilizando estereotipos.

Para obtener más información sobre el flujo de trabajo de ingeniería de sistemas basada en modelos dentro de System Composer™, consulte Componer y analizar sistemas usando modelos de arquitectura.

Modelo de arquitectura de robot móvil con propiedades

Este ejemplo muestra un modelo de arquitectura para robots móviles con estereotipos aplicados a los componentes y las propiedades definidas.

Realizar análisis

Analice el coste total de todos los componentes del modelo de robot. Este procedimiento utiliza el modelo ex_RobotArch_props.slx.

  1. Vaya a Modeling > Analysis Model para abrir la herramienta Instantiate Architecture Model.

  2. Añada una función de análisis. En el cuadro Analysis function, introduzca el nombre de la función ex_RobotArch_analysis_new sin extensión y, después, haga clic en el botón add analysis function. Se crea un archivo de función de MATLAB y se guarda con el nombre ex_RobotArch_analysis_new.m.

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

    La función de análisis incluye constructos que obtienen propiedades de los elementos del modelo, dados como plantilla. Modifique esta plantilla para añadir el coste de los elementos individuales y obtener el coste total para su arquitectura principal. Esta función calcula el coste para un elemento del modelo como el total de su propio coste y el coste de todos sus componentes secundarios. Copie y pegue la siguiente función en la función de análisis.

    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. Vuelva a la herramienta Instantiate Architecture Model, seleccione todos los estereotipos y haga clic en Instantiate. Analysis Viewer se abre y muestra las propiedades de cada elemento del modelo. Los valores predeterminados para el inicio del análisis se toman de los valores de propiedades introducidos al adjuntar el estereotipo al modelo y editar sus valores.

  4. En la sección Analysis, seleccione BottomUp como método de iteración y, después, haga clic en Analyze.

    El coste de cada elemento se añade en orden ascendente para encontrar el coste del sistema. El resultado se escribe en la instancia del análisis y está visible en Analysis Viewer.

    Analysis viewer with data.

    Los costes totales se resaltan en amarillo como valores calculados. La fila superior representa el total de la arquitectura ex_RobotArch_props.

Consulte también

Temas