Contenu principal

Analyser les propriétés des modèles d’architecture au moyen de la fonction d’analyse

Les propriétés spécifiées pour les éléments du modèle permettent d’utiliser MATLAB® afin d’effectuer une analyse et de calculer le coût total de tous les éléments du design. Vous pouvez ensuite créer des exigences dérivées supplémentaires pour les designers des différents composants du système. Effectuez des analyses statiques sur la base des propriétés des éléments afin d’exécuter des études de compromis basées sur les données et de vérifier la configuration requise.

Dans ce tutoriel, vous utilisez un modèle d’architecture de robot mobile avec des propriétés pour calculer le coût total du système et effectuer une analyse statique. Pour plus d’informations sur les propriétés et les stéréotypes, consultez Étendre le design architectural au moyen de stéréotypes.

Pour plus d’informations sur le workflow Model-Based Systems Engineering (MBSE) dans le cadre de System Composer™, consultez Composer et analyser des systèmes au moyen de modèles d’architecture.

Modèle d’architecture de robot mobile avec des propriétés

Cet exemple présente un modèle d’architecture de robot mobile avec des stéréotypes appliqués aux composants et propriétés définies.

Procéder à une analyse

Analysez le coût total de l’ensemble des composants du modèle de robot. Cette procédure utilise le modèle ex_RobotArch_props.slx.

  1. Accédez à Modeling > Analysis Model pour ouvrir l’outil Instantiate Architecture Model.

  2. Ajoutez une fonction d’analyse. Dans la zone Analysis function, saisissez le nom de la fonction ex_RobotArch_analysis_new sans extension, puis cliquez sur le bouton add analysis function. Un fichier de fonction MATLAB est créé et enregistré sous le nom ex_RobotArch_analysis_new.m.

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

    La fonction d’analyse comprend des constructions qui héritent de propriétés à partir d’éléments du modèle, proposés en tant que modèle de référence. Modifiez ce modèle afin d’ajouter le coût des éléments individuels et d’obtenir le coût total de l’architecture mère. Cette fonction calcule le coût d’un élément de modèle en additionnant son coût propre à celui de tous ses composants enfants. Copiez et collez la fonction ci-dessous dans votre fonction d’analyse.

    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. Revenez à l’outil Instantiate Architecture Model, sélectionnez tous les stéréotypes et cliquez sur Instantiate. L’Analysis Viewer s’ouvre et présente les propriétés de chaque élément de modèle. Les valeurs par défaut de début d’analyse sont issues des valeurs des propriétés que vous avez saisies lorsque vous avez associé le stéréotype au modèle et que vous avez modifié leurs valeurs.

  4. Dans la section Analysis, sélectionnez BottomUp en tant que méthode d’itération, puis cliquez sur Analyze.

    Le coût de chaque élément est additionné de bas en haut afin d’obtenir le coût du système. Le résultat est écrit dans l’instance d’analyse et est visible dans l’Analysis Viewer.

    Analysis viewer with data.

    Les coûts totaux sont mis en surbrillance jaune en tant que valeurs calculées. La ligne du haut représente le total général de l’architecture ex_RobotArch_props.

Voir aussi

Rubriques