Gérer les variations dans les systèmes avec Simulink

Concevoir, configurer et analyser les systèmes variants avec
le Model-Based Design

Les ingénieurs contrôle et système utilisent MATLAB® et Simulink® pour développer des modèles pouvant être configurés pour diverses tâches et besoins. Ils adaptent leurs modèles aux exigences spécifiques du design en activant un jeu prédéfini de variabilités, qui font partie intégrante de la conception d'un modèle. Les fonctionnalités des variants de Simulink vous permettent de créer des modèles flexibles avec des variabilités intégrées afin de gérer, configurer et réutiliser vos designs plus facilement.

Grâce à Simulink, vous pouvez :

  • Concevoir un modèle unique pour plusieurs systèmes
  • Configurer un modèle pour qu'il corresponde à différents jeux d'exigences en activant les variabilités intégrées
  • Contrôler l'activation des variants dans la simulation du modèle et la génération du code
  • Visualiser et analyser la configuration des variants
  • Utiliser les variants dans toutes les phases du Model-Based Design : la simulation, le test et la génération de code
  • Concevoir des composants logiciels conformes à la norme AUTOSAR avec des implémentations de variants

« En phase de design, il serait bien trop complexe de concevoir un modèle à l'échelle de l'ensemble de notre système dans toutes les variations possibles. Avec Simulink, nous avons développé des prototypes virtuels qui nous permettent de prédire les performances du système dans différentes conditions maritimes, de simuler les cas de panne et d'analyser les charges. Nous pouvons ainsi choisir le meilleur design et spécifier précisément les exigences en matière de composants à nos fournisseurs. »

Jonathan Fiévez, Carnegie Wave Energy

La conception de systèmes variants avec Simulink

Panel Navigation

 

En vedette : l’approche Model-Based Design et les processus collaboratifs

Créer des modèles avec des variations

Intégrez la variabilité à n'importe quel aspect de votre modèle. Implémentez des variabilités dans tous les domaines, notamment la logique de contrôle, les machines à état, les diagrammes de flux et les environnements physiques. Concevez des variants dans des topologies hiérarchiques ou inline pour encapsuler des variations dans une hiérarchie distincte ou pour visualiser toutes les variations à un même niveau.

Pour les designs qui nécessitent des interfaces d’E/S variables entre les composants, vous pouvez utiliser des variants pour créer des sous-systèmes à interfaces flexibles qui conservent également une architecture de système commune.

Pour réaliser des comportements de système dépendant du contexte, combinez des variants avec des fonctions exécutées de manière conditionnelle ou événementielle comme les fonctions d'initialisation, de réinitialisation et de terminaison, ou avec des sous-systèmes déclenchés.


Définir des régions de variabilité

Étendez le contrôle de la variabilité à n'importe quelle région de votre modèle en propageant automatiquement les conditions de variants depuis les blocs de variants vers d'autres blocs en amont et en aval. Les conditions de variants peuvent être propagées via des lignes de signaux, des bus et des appels de fonction afin d'atteindre les blocs dans un modèle affecté par la sélection de variants. Contrôlez les blocs de votre modèle qui seront soumis à la variation en limitant la propagation des conditions à des régions prédéfinies dans votre modèle.


Configurer les variations de modèles

Définissez, contrôlez et visualisez vos configurations de variants avec le Variant Manager. Configurez les variants à contrôler avec des expressions basées sur les noms ou avec une logique conditionnelle. Créez des configurations de variants prédéfinies que vous pouvez facilement activer et basculer entre elles pour contrôler simultanément plusieurs variabilités. Définissez des contraintes pour les configurations afin d'éviter les combinaisons de variants non valides. Une fois que vous avez défini vos configurations de variants, vous pouvez les stocker, les distribuer et les réutiliser avec des objets de données de configuration de variants.


Visualiser et analyser des configurations de variants

Tracez visuellement les conditions de variants directement dans le canevas Simulink, puis comparez plusieurs configurations de variants dans un tableau. Validez facilement les configurations de variants au moment de l'édition pour identifier les problèmes sans avoir à simuler ou mettre à jour votre modèle. Analysez les configurations de variants pour identifier les variants qui seront toujours actifs ou ne le seront jamais, ce qui vous permettra de localiser et diagnostiquer les éventuelles défaillances ou incohérences dans vos configurations.


Contrôler l'activation des variants

Concevez des variants pouvant être activés avant la simulation ou au moment de la compilation du code. Pendant la génération du code, choisissez les variabilités qui seront incluses dans le code généré et activez-les au moment de la pré-compilation selon les exigences et la plateforme cible. Avant de déployer un modèle, vérifiez les incompatibilités, par exemple les incohérences de type de données et de dimension, en analysant tous les choix de variants avant la simulation ou la génération de code.


Déployer les modèles de variants

Générez automatiquement un modèle réduit à partir d'un jeu de configurations de variants ou sur la base des valeurs de contrôle des variants spécifiées. Lorsque vous distribuez et partagez des modèles, utilisez la réduction de modèles pour protéger la propriété intellectuelle en supprimant les variants non utilisés. Analysez le modèle réduit dans un rapport détaillé pour vérifier qu'il n'a pas de dépendances non satisfaites et pour valider sa structure.


Intégrer le design de système variant dans le cycle de développement

Gérez facilement les variations dans vos modèles tout au long de leur cycle de développement, de la spécification des exigences jusqu'au déploiement. Utilisez des variants pour faire passer un modèle d'un contexte à un autre (design, test et implémentation) en activant différents variants. Par exemple, adaptez un modèle afin de lire les données d'un fichier pendant la simulation ou de recevoir les signaux d'un capteur lorsque vous déployez ce modèle sur du hardware. Incluez des variabilités dans le code généré pour réutiliser et configurer ce code à différents stades du développement, par exemple, le test de différentes implémentations ou le partage d'un code multifonctionnel avec des tiers.


Modéliser et implémenter des variants AUTOSAR

Utilisez Simulink pour concevoir des composants logiciels AUTOSAR qui peuvent être distribués sur plusieurs ECU et intégrés avec des modules logiciels provenant de différentes sources et différents fournisseurs d’OEM. Tirez parti des fonctionnalités de variants de Simulink pour implémenter des architectures AUTOSAR évolutives utilisées dans le logiciel pour plusieurs gammes de véhicules.

Modélisez des composants logiciels AUTOSAR avec des points de variation pour activer des interfaces ou des implémentations AUTOSAR sur la base de conditions de contrôle prédéfinies. Importez et exportez des fichiers ARXML avec des variants AUTOSAR pour intégrer Simulink à l'ensemble du processus AUTOSAR. Après avoir modélisé et testé vos designs AUTOSAR dans Simulink, générez du code efficace à partir de votre modèle avec des directives préprocesseur conditionnelles qui implémentent les points de variation.