Approche par composant : Un cadre pour l’ingénierie de la commande GDR MACS – 16-17 novembre 2006 Jean-Louis LALLICAN <lallican@iuplo.univ-ubs.fr> LESTER/UBS - Equipe Systèmes Reconfigurables Dirigé par : Pascal Berruet André Rossi Jean-Luc Philippe
PLAN Contexte Objectifs Présentation de l’approche Introduction à l’ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
PLAN Contexte Objectifs Présentation de l’approche Introduction à l’ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
Systèmes transitiques Commandes réparties CONTEXTE Systèmes transitiques Commandes réparties
PLAN Objectifs Contexte Présentation de l’approche Introduction à l’ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
OBJECTIFS Modélisation d’un système transitique en utilisant une approche par composant Génération de la commande à partir du modèle du système Vérification du bon fonctionnement du système commandé par simulation conjointe PO/PC Aide à la conception du système commandé
PLAN Présentation de l’approche Contexte Objectifs Introduction à l’ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
Approche Librairie de composants Modélisation du système : Utilisation d’une approche par composant Génération du modèle de la partie opérative Génération du code de commande Simulation conjointe de la partie opérative et de la partie commande non Verification oui Chargement sur les API présents dans le système de commande
Approche Librairie de composants Modélisation du système : Utilisation d’une approche par composant Génération du modèle de la partie opérative Génération du code de commande Simulation conjointe de la partie opérative et de la partie commande non Verification oui Chargement sur les API présents dans le système de commande
PLAN Contexte Objectifs Présentation de l’approche Introduction à l’ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
Notions de base [Bézivin, 2005] Légende : route habitation … La légende Meta modèle Conforme à Modèle Le plan de la ville de Lorient Représenté par Système La ville de Lorient 11
Définition d ’une transformation de modèle Niveau M3 MOF Meta modèle 1 Définition des transformations Meta modèle 2 Niveau M2 Niveau M1 Modèle 1 Application des transformations Modèle 2 12
PLAN Approche par composant Contexte Objectifs Présentation de l'approche Introduction à l'ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
Exemple de système Fonctionnement : post a C1 Jack Va A Ca - + C E S Fonctionnement : On souhaite éjecter les colis présents en A Convoyeur motorisé en fonctionnement permanent 14
Definitions Construction d’un système => assemblage de composants élémentaires Composant : - élément modélisant une partie d’un système - inclut différentes vues pour décrire le système - constitué d’un ensemble d ’opérations Vue : correspond à un modèle d’un aspect du composant Composant contient : - vue opérative - vue commande - vue contrainte - vue graphique - vue surveillance - vue supervision
Fonctions / Opérations / Composants Définition : Une opération est une fonction implémentée par une ressource [Toguyéni, 1993] Classification : 2 types de fonctions générique contextuelle 3 types d’opérations basique contextuelle effective 5 types de composants basique support base enrichie contextuel effectif système 16
Types d’Opérations Opération basique : fonction générique réalisée par un composant. Ex : Sortir Vérin, Détecter pour un capteur Opération contextuelle : fonction contextuelle réalisée par un composant de base enrichi. Ex : Détecter position Vérin sorti par un capteur fdc Opération contextuelle effective : fonction contextuelle réalisée sur un produit par un composant contextuel effectif ou un composant système. Ex : Transfert d ’une zone à une autre par un vérin ou un convoyeur 17
Méta-Modèle « Opération » 18
Méta-Modèle « Typologie des Opérations » 19
Types de Composants Composant base : Constitué d’opérations basiques Ex : Vérin, Butée, Capteur, ... Composant support : Constitué d’opérations basiques Défini une zone d’évolution pour les produits Ex : Convoyeur, Courbe... Composant base enrichi : Constitué d’opérations contextuelles. Ex : Vérin associé à un capteur ddc et un capteur fdc Composant contextuel effectif ou système : Constitué d’opérations contextuelles effectives Ex : Convoyeur + Capteur(s) + ... 20
Méta-Modèle « Typologie des Composants » 21
Modélisation du système exemple post a C1 Jack Va A Ca - + C E S 22
Modélisation du système exemple Obtenus par construction Issus de la bibliothèque et paramètrés 23
Vues vue opérative : contient un ensemble de paramètres physiques liés au composant vue commande : contient un modèle de commande du composant vue contrainte : correspond à une description des conditions de début et de fin d ’activations des opérations contextuelles effectives (de types d ’actions) vue graphique : contient un modèle topologique du composant vue surveillance : la surveillance est chargée de détecter un dysfonctionnement du système. vue supervision: La supervision a pour rôle de prendre les décisions nécessaires pour le retour à un fonctionnement normal (reconfiguration) 24
Méta-Modèle « Vue Commande » 25
Modélisation du système exemple (Vue graphique) 26
Modélisation du système exemple (vue contrainte) Fonctionnement : On souhaite éjecter les colis présents en A Convoyeur motorisé en fonctionnement permanent 27
Méta-Modèle « Système » Modélisation du système exemple post a C1 Jack Va A Ca - + C E S 28
« Architecture du système de commande » Méta-Modèle « Architecture du système de commande » Réseau Extérieur Automate ASI Capteurs/ Actionneurs
Modélisation du système exemple 30
PLAN Génération de la commande Contexte Objectifs Présentation de l’approche Introduction à l’ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
Generation de la commande Commande Hiérarchique : Ca+ Ca- Va C1a Ba Vérin Conv Ejecteur Système Commande hiérarchique n3 post a C1 Jack Va A Ca - + C E S Commande hiérarchique n2 Commande hiérarchique n1 Commande de base Principe : Instanciation des modèles contenus en bibliothèque lors du choix des composants Ajout des commandes hiérarchiques
Flot d’obtention du code de contrôle/commande Modèle Composant partiel Bibliothèque de templates de commande Algorithme de génération des vues commandes Modèle Composant complet Extraction et juxtaposition des vues commandes Modèle de commande Partitionnement Code de commande
Etapes de l’algorithme de génération des vues commandes des composant agrégés Phase 1 composants de base enrichi Génération des vues commandes des Phase 2 composants contextuels effectifs Génération de la vue commande du Phase 3 Composant système
Démarche de génération de la vue commande d’un composant BE Composant de base enrichi Variables Globales Vue graphique Modèle topologique Opérations contextuelles Composant basique Composant basique Opération(s) basique(s) Opération(s) basique(s) VG(s) VCom VG(s) VCom Pour chaque Op Contextuelle : Choix du Template de commande Algorithme de génération du modèle de commande d’un CBE Template de commande non renseigné Renseignements des Templates Modèle de commande d’un CBE
Démarche de génération de la vue commande d’un composant BE : Application au système exemple CBE 1 Ca- Ca+ Va 36
Démarche de génération de la vue commande d’un composant CE Composant Contextuel Effectif Vue graphique Composant de base enrichi Variables Globales Composant basique Vue contrainte Ops contextuelles Composant basique Vue graphique Opération(s) basique(s) Vue commande VG(s) VCom Opérations contextuelles effectives Variables Globales Pour chaque Op Cont Effective : Choix du Template de commande Algorithme de génération du modèle de commande d’un CCE Template de commande non renseigné Renseignements des Templates Modèle de commande d’un CCE 37
Démarche de génération de la vue commande d’un composant CE : Application au système exemple CCE 1 C1 CBE 1 38
Démarche de génération de la vue commande d’un composant système Composant Contextuel Effectif Vue contrainte Variables Globales Vue commande Vue contrainte Ops contextuelles éffectives Vue graphique Composant de base enrichi Composant basique Variables Globales Vue graphique Simplification des vues contraintes desCCE(s) et du composant système Pour chaque contrainte de commande : Choix du Template de commande Contraintes de commande Template de commande non renseigné Algorithme de génération du modèle de commande d’un CS Renseignements des Templates Modèle de commande d’un CS 39
Démarche de génération de la vue commande CS : Application au système exemple Composant système CCE 1 40
PLAN Cadre logiciel et Application Contexte Objectifs Présentation de l’approche Introduction à l’ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
Modélisation du système: Cadre logiciel Modélisation du système: Utilisation d ’une approche par composant Génération de la commande Génération fichier P O XML XML Génération de code Affinage de la P O XML Code TIC Straton Simulation Partie Commande Simulation Partie Opérative
Cadre logiciel 43 Fichier d’entrée Répertoire de sortie Exécution 1 Fichier d’entrée 2 Répertoire de sortie 4 Exécution 3 Vérification 43
Application post a C1 Jack Va A Ca - + C E S 44
Application 45
PLAN Conclusion et perspectives Contexte Objectifs Présentation de l’approche Introduction à l’ingénierie dirigée par les modèles Approche par composant Génération de la commande Cadre logiciel et Application Conclusion et perspectives
CONCLUSION Ce cadre permet : Saisie du modèle Composant d’un système transitique Générer le code de commande Vérifier le bon fonctionnement du système commandé Perspectives : Vérification de la cohérence des contraintes de commande Système de commande répartie : partitionnement du modèle de commande Développement des vues surveillance et supervision Développement d’un outil de saisie du modèle Application à d’autres systèmes de production