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
.
Accédez à Modeling > Analysis Model pour ouvrir l’outil Instantiate Architecture Model.
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. Un fichier de fonction MATLAB est créé et enregistré sous le nom
ex_RobotArch_analysis_new.m
.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
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.
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.
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
.