330 likes | 642 Views
Utilisation d'UML dans le processus de développement de systèmes embarqués en automobile. Joëlle AUBRY (PSA Peugeot Citroën) otondo@mpsa.com. Plan de la présentation. Contexte automobile Définition d ’un atelier de conception de systèmes électroniques Exemple d’utilisation d ’UML
E N D
Utilisation d'UML dans le processus de développement de systèmes embarqués en automobile Joëlle AUBRY (PSA Peugeot Citroën) otondo@mpsa.com
Plan de la présentation Contexte automobile Définition d ’un atelier de conception de systèmes électroniques Exemple d’utilisation d ’UML Perspectives
Plan de la présentation Contexte automobile Définition d ’un atelier de conception de systèmes électroniques Exemple d’utilisation d ’UML Perspectives
Un marché en développement • Electricité et Electronique automobile: • 1993: 12% PRF* • 2005: 25% PRF * PRF: Prix de revient en fabrication
Mobilité Sécurité Confort Traction Passive Commandes Contrôle moteur Transmission Système d'airbags Prétensionneurs Equipements Véhicule Tenue de route Active Communication Instruments Audio, Téléphone Aide à la navigation Suspension Contrôle de stabilité Freinage Anticollision Direction Intrusions Environnement Direction assistée Condamnations Climatisation Bruit Des fonctions diversifiées
Matériels Capteurs Hydraulique CMOT BVA Electrique BSI Passerelle ABS/CDS SUSP Capteurs Des systèmes complexes Systèmes Multi-métiers et Multi-technologies Système informatique Système physique Capteurs Mécanique Logiciels Actionneurs Réseaux Systèmes intégrés - Partage d'informations - Interactions - Concurrence...
Générique Autoradio Airbag ABS ECM BVA SUSP Combinés BSI Spécifique Produit Equipementier Constructeur Processus Véhicules Variantes Systemes Variante 1 Systèmes Véhicules Variante 2 Le contexte industriel • Processus constructeur / équipementier • Produit générique / Spécifique • Secteur fortement concurrentiel • => réduction du cycle de développement La diversité
Travaux d’avance de phase(UML, Formel, XML,…), pour définir un atelier de conception adapté Constat • Une électronique embarquée en forte croissance • Contexte multi-partenaires, multi-métiers • Complexité et diversité des fonctions • Besoins de réutilisation • Un cycle de développement de plus en plus court • Des outils et méthodes actuels ne répondant pas correctement à ces besoins
Plan de la présentation Contexte automobile Définition d’un atelier de conception de systèmes électroniques Exemple d’utilisation d ’UML Perspectives
Démarche adoptée Définition d ’un atelier de conception de systèmes électroniques Travaux internes d’innovation Projet européen WOODDES Thèse Objet Temps Réel PSA / CEA Expérimentations sur cas d'application
Objectifs PSA Fournir un atelier de génie système • assurant la continuité entre les activités du cycle de conception de la spécification jusqu’à la génération de code • renforçant la sûreté des systèmes • assurant la traçabilité des exigences • conforme aux standards du marché
Utilisation de l’atelier dans le cycle de développement PSA Formalisme commun: UML pour temps réel I & V Conception Coopération entre outils Autres métiers Langages formels, techniques validation, traçabilité de exigences Réalisation Métier électronique Renforcer la fluidité et la robustesse du processus de développement
Pourquoi UML Temps Réel? Un ensemble de notations cohérentes pour meilleure couverture du cycle en V Les techniques objets pour faciliter la réutilisation et l’évolutivité des spécifications Travaux de normalisation en cours à l ’OMG pour une extension temps réel à UML Des approches UML pour le temps réel outillées
UML: modéliser, valider, générer du code Matlab/ Simulink Outil UML Validation par back- animation sur cible Validation par animation sur hôte Génération automatique de code cible Génération auto. de code de prototypage Etagère Validation exhaustive de modèles Spécifications validées Composants Equipementier
Modélisation avec UML Temps Réel • Prise en compte des contraintes Temps Réel • Quantitatif : Échéance, Périodicité, … • Qualitatif : Séquencement, Priorité,… • Indépendance spécifications / techniques de réalisation => composants métiers • Définition et gestion de composants • Couverture du cycle + aspects comportement, structurel, communication
Génération automatique de code • Passage direct des spécifications au code, sans conception temps réel • Génération de code de prototypage • Code pour plate-forme de prototypage pour valider le comportement et les fonctionnalités • Génération de code de production • Code pouvant être embarqué sur un calculateur série (respect des contraintes de taille et de performances)
Validation • Validation des modèles • Analyse statique des modèles pour vérifier la cohérence des modèles • Analyse dynamique par simulation (interactive, exhaustive) pour vérifier le comportement • Gestion et intégration de modèles de composants validés • Aide à la validation de systèmes • Génération automatique de tests • Back animation sur prototypes générés automatiquement • Gestion et intégration de composants validés
Travaux réalisés • Evaluation des outils UML Temps Réel • Rhapsody d’I-Logix • ObjectGeode et Tau/UML Suite de Telelogic • Rose-RT de Rational • Artisan d ’Artisan Software • sur les points modélisation, validation, génération automatique de code de prototypage • Mise en œuvre des outils retenus sur cas d'application • Thèse Objet Temps Réel PSA / CEA
Résultats des évaluations et expérimentations (1/2) Faiblesses majeures des outils UML TR • Modélisation • Peu de possibilités de description de contraintes TR • Approche propriétaire, en absence de standard TR • Génération automatique de code • Nécessité de saisir du code dans le langage d'implémentation dans les modèles • Pas de prise en compte des contraintes TR dans le code: nécessité d'effectuer une conception temps réel • Validation(sauf ObjectGeode) • Pb sémantique: ambigüe et dépendant du modèle d’exécution • Offre des outils très limitée
Résultats des évaluations et expérimentations (2/2) Deux outils ont été retenus • Rhapsody d’I-Logix • Modélisation en conformité avec UML 1.3 • Génération automatique de code de prototypage avec forte intégration de l'environnement de développement cible • Capacité de simulation sur hôte + back animation • ObjectGeode de Telelogic • Forte capacité de validation: simulation exhaustive, génération automatique de tests • Norme SDL 2000 intégrant des concepts objets + Z109 permettant le transfert UML/SDL
Thèse Objet Temps Réel PSA/CEA Modélisation UML exécutable pour systèmes embarqués • Etude des approches UML TR supportées par les outils: • Rhapsody d’I-Logix: RT-UML • ObjectGeode et Tau/UML Suite de Telelogic: UML-SDL • Rose-RT de Rational: UML-RT • Artisan d ’Artisan Software: Artisan • sur les aspects concurrence, communication, comportement, contraintes TR • Définition d ’un profil ACCORD/UML et d ’une méthodologie pour la modélisation et le prototypage d’applications TR embarquées dans l’automobile
Travaux en cours • Génération automatique de code de production • Mesure des performances (mémoire, temps) • Qualité du code • En parallèle, évaluation de générateurs de code adressant le code de production (Ascet d ’Etas, Scade de Telelogic,…) • A l’écoute des travaux à l’OMG autour d’UML TR • Définition d ’une méthodologie • Exploitation des résultats de la thèse Objet Temps Réel • Intégration progressive des résultats du projet WOODDES
Projet européen WOODDES (1/2) • Contexte • Développement des systèmes TR dans les domaines de l’automobile et des télécommunications • Missions • Définition de notationsUML pour le TR permettant la validation, la vérification et la génération de code • Définition d’une méthodologie et d’un processus de développement • Techniques de vérification et validation • Plate-forme d’outils supportant les notations UML, la méthodologie, la génération de code et les techniques de vérification et validation
Projet européen WOODDES (2/2) • Partenaires: • End-users Académiques Editeurs • Intracom CEA/Leti I-Logix • Mecel OFFIS Telelogic • PSA (prime) Université d ’Uppsala • Démarrage: Janvier 2000 • Fin: Décembre 2002
Plan de la présentation Contexte automobile Définition d’un atelier de conception de systèmes électroniques Exemple d’utilisation d ’UML Perspectives
Exemple: Plate-forme de prototypage pour contrôle moteur (1/2) • Contexte • Mise au point de lois de commande pour contrôle moteur sur plate-forme de prototypage à connecter au véhicule • Besoins • Structure d’accueil logicielle réutilisable permettant de prototyper ces lois de commande • Atelier de conception associé garantissant: • Réduction de l’effort de codage (utilisateur motoriste et non informaticien) • Mise au point sur la plate-forme de prototypage • Lien avec les outils de l ’automatique
Exemple: Plate-forme de prototypage pour contrôle moteur (2/2) Réalisation Composants logiciels métier moteur: soupape, papillon, injecteur,... Génération automatique d ’une partie du code prototype (ObjectGeode, Rhapsody) Validation du modèle correspondant (ObjectGeode) Résultats Réduction du temps de développement pour le logiciel d’un nouveau prototype de contrôle moteur (1 an, 3 mois, 6 s) Pas de lien avec l ’automatique -> nécessité de coder les lois de commande en C++
Diag. séquence . Lois Commande A Etat- Transition Diag. Classe B Diag. séquence Diag. Classe Réalisation pour la plate-forme de prototypage contrôle moteur Comparaison spécifié/animé Code C++ pilotage généré automatiquement Code C++ applicatif manuel Génération de code cible Back animation Validation par animation sur hôte Rhapsody ObjectGeode Code cible multi-taches sur VxWorks (Gestion capteurs, pilotage calcul couple, pilotage actionneurs, instrumentation,…)
Travaux en cours: Etude de faisabilité de lien avec l’automatique (1/2) • Solution évaluée • Génération automatique du code par RealTime Workshop (MathWorks) à partir des modèles Matlab/Simulink des lois de commande • Intégration automatique de ce code dans la structure d’accueil • Impact sur l'existant • Définition d'une nouvelle structure de modèles Matlab: • Découpage en sous-système "intégrable" dans la structure d'accueil objet • Evolution de la structure d'accueil logiciel: • Définition de points d'ancrage pour les sous-systèmes Matlab
. Lois Commande A Etat- Transition Diag. Classe B Travaux en cours: Etude de faisabilité de lien avec l’automatique (2/2) Modèles continus Matlab/Simulink (Mathworks) Modèles UML Points d'ancrage Lois de commande générées par RealTime Workshop (code C) Structure d ’accueil logiciel (code C++) Compilation & Link
Plan de la présentation Contexte automobile Définition d’un atelier de conception de systèmes électroniques Exemple d’utilisation d ’UML Perspectives
Perpectives autour d ’UML à PSA Démarche composants Modélisation et Validation d ’architecture électronique embarquée Contraintes spécifiques des systèmes critiques Intégration des résultats du projet WOODDES