Le Programme Carroll: Axes de recherche et projets Nicolas Farcet Carroll Program Manager, Thales Workshop Carroll 23 Septembre 2005
Contexte Technologique Thales 1. Productivité, protection des investissements systèmes et logiciels Standards Domaines Standards IT WS Model Driven Engineering Computer HW NC PC Aspects fonctionnels Architecture logicielle Composants et Services logiciels OSI Middleware Framework Networks LAN / WAN Internet Linux OS UNIX IT infrastructure NT COTS MMI Contexte système Stabilité moyen/long terme DB XML Contexte IT Evolution rapide 2. Insertion de nouvelles technologies (performance, coûts ) Systèmes cibles: temps-réel et embarqués, distribués Électronique pour la défense et pour l aéronautique Gestion, surveillance et supervision des centres d informations, sites sensibles et systèmes de sécurité 2
Principes de Carroll Renforcer les activités de recherche technologique sur les thèmes Model Driven Engineering et Middleware En fédérant les équipes de Thales, du CEA et de l INRIA Sur la base d orientations affichées par Thales Avec priorités données: Aux exigences RT&E Aux actions de standardisation Aux problèmes de scalabilité et de faisabilité industrielle En visant des résultats concrets, applicables en milieu industriel Principe de fonctionnement Un engagement d effort global des partenaires sur 4 ans : 10 M Un engagement de financement direct par Thales des équipes INRIA et CEA : 1,8 M Un fonctionnement en projets avec une structure de suivi et d évaluation Mars 2003 Lancement de Carroll Sep 2005 Aujourd hui Mars 2007 Fin de Carroll N 1 3
Périmètre Technologique de Carroll Test et Validation Exigences et Architecture Modèles UML (PIM dans MDA) Modèles Indépendant des Plates-formes Modèles UML (PIM dans MDA) Modèles Spécifiques aux Plates-formes Modèles UML (liens PIM-PSM dans MDA) Configuration et déploiement des conteneurs : XML Interfaces applicatives : IDL, WSDL Real Time Data Processing Near Real Time and Fault Tolerant Information Processing Complex Information Management Platform-wide Services Documents and workflow Management Transformation de modèles Génération Model Driven Engineering Capitalisation sur les Modèles Domaines Techniques Plates-formes Modèles et profils Spécifiques aux Plate-formes Plates-formes d exécution multi segments composant Middleware 4
Thème 1 : Model Driven Engineering 1.2 V&V par génération de tests dans le contexte MDE 1.4 Ingénierie dirigée par les modèles des systèmes temps réel embarqués 1.1 Transformation de modèle 1.3 Architecture et QoS des systèmes logiciels Test et Validation Exigences et Architecture UML models (PIM in MDA) Modèles Indépendant des Plates-formes UML models (PIM in MDA) Modèles Spécifiques Plates-formes UML models (Mappings PIM/PSM in MDA) Transformation de modèles Configuration et déploiement des conteneurs : XML Interfaces applicatifs : IDL Real Time Data Processing Near Real Time and Fault Tolerant Information Processing Complex Information Management Platform-wide Services Documents and workflow Management Génération 5
Quelques exemples Thème MDD
Thème 1.1 : Transformation de modèle Technique où se mesure substantiellement le ROI de l approche MDA Modeling point of views Endomorphic Transformations Exomorphic Transformations Outside UML scope Proofs, QoS Analysis, Simulation Formal Models Formal Models Technical Aspects Business Aspects Text (e.g. XML) Requirements Analysis PIM PIM PIM PIM Architectural Design PSM PSM Detailed Design Code Implementation Tests Doc Doc Doc Doc Doc Doc Validation Lifecycle 7
Thème 1.1 : Transformation de modèle Définir une technologie de transformation de modèle Faciliter la spécification d une partie des règles de transformation pour adoption par les unités du groupe THALES Capitaliser le savoir-faire de conception des transformations Intégrer la transformation de modèle dans les offres sur étagère Rendre les transformations indépendantes des outils Q/V/T 8
Projet MOTOR Thème : Model Driven Engineering Partenaires THALES: Research & Technology CEA : List / Laboratoire LSP INRIA : Projets ATLAS et Triskell (IRISA Rennes) QoS Aspects de modélisation PIM PSM Techniques Métiers PIM PIM PIM PSM Code Tests Texte (e.g. XML) Doc Doc Doc Doc Doc Doc Outillage Exigences Analyse Conception d architecture Cycle de vie Conception détaillée Implémentation Validation Processus A T L Langages et moteurs de transformation INRIA M T L QVT Un standard au coeur du MDA pour la transformation de modèle Standardisation Processus pour la transformation de modèle Techniques & Bonnes pratiques Environnement outil MDE/MDA Model Transformation Framework Model Transformation COTS Transforming Model A into Model B 9
Thème 1.2 : V&V par génération de tests dans le contexte MDE Le test reste le moyen principal pour assurer la correction : du code et de l'implantation des modèles des transformations de modèles effectuées Mais représente : un effort très important est peu outillé Test des transformations Et test par simulation Proofs, QoS Analysis, Simulation Technical Aspects Business Aspects Text (e.g. XML) Modeling point of views PIM Requirements Patron de test Formal Models Analysis PIM PIM PIM PSM Doc Doc Doc Doc Doc Doc Architectural Design Formal Models PSM Génération des tests Detailed Design Code Implementation Test PIM-PSM et PSM-Code Tests Validation Lifecycle 10
Projet MUTATION Thème : Model Driven Engineering Partenaires THALES Research & Technology, Division Aéronautique CEA : List / Laboratoire LSP INRIA : Projet TRISKELL (IRISA Rennes) Objectifs Évaluer la faisabilité des techniques de génération de scénarios de tests à partir de modèles UML Évaluer le ROI de ces techniques dans les processus de développement Réalisation de gains importants de productivité dans les étapes de test, au travers de l automatisation des procédures de définition, d exécution et d interprétation des tests unitaires, d intégration, et fonctionnels Objectifs industriels Réduire les coûts d au moins 30% sur l ensemble du processus de développement Les outils et les techniques proposées doivent être compatibles avec un processus industriel (taille des applications, taille et distribution des équipes...) Ingénierie des exigences Base d exigences cohérentes,non ambiguës, vérifiables formalisation vs. texte simple Vérifier les exigences Vérifier un modèle Satisfaction des exigences amont; conformité aux modèles amont Critères de qualité propres (efficacité, maintenabilité, souplesse, testabilité, réutilisabilité, etc.) Méthodes / techniques : - Contrôles syntaxiques (bonne formation, complétude), respect des règles de modélisation - Analyse / preuve de propriétés, model-checking - Calcul de métriques qualité - Inspection - Simulation - Model n-1 Model n Model n + 1 Code Code Intégration Code Unit tests Code Validation tests Integration tests MUTATION Functional tests Vérifier le code Si génération partielle Conformité au modèle de conception Satisfaction des exigences de départ Critères de qualité propres (efficacité, maintenabilité, souplesse, testabilité, réutilisabilité, etc.) Si génération totale Vérification du générateur Vérification des exigences non fonctionnelles 11
Thème 1.4 : Ingénierie dirigée par les modèles des systèmes temps réel embarqués Maîtrise du développement temps réel Intégrer les différentes approches TR dans ce cadre Dont les travaux existants sur les modèles d exécution formels et les approches synchrones Augmenter la résistance aux évolutions technologiques et la productivité par séparation des aspects TR/E et fonctionnels Contribuer à une notion de composant RTE basé sur UML2 Mieux maîtriser le temps réel et ses conséquences, via des modèles d évaluation Validation en phase amont Prédiction de performances, puis à terme de préconisation d organisation temps réel Prendre en compte l existant (ex: la ligne de produit existante) Étendre les outils de développements TR au MDE Faire évoluer les modèles d exécution 12
Objectif global Projet PROTES Thème : Model Driven Engineering Partenaires THALES Research & Technology, Division Aéronautique, Division Terre et Interarmées CEA : List / Laboratoire LSP INRIA : Projets AOSTE (Sophia-Antipolis), DaRT (Futurs Lille), Espresso (IRISA Rennes) Adapter le standard UML à la Conception de systèmes embarqués alliant logiciel et matériel Résultats Adoption par l OMG d une RFP pour le profil UML MARTE, largement définie dans PROTES (RFP : Request For Proposals, MARTE : Modeling and Analysis of Real-Time Embedded systems) Perspectives Le partenariat Carroll répond maintenant au RFP «UML MARTE» en collaboration avec des partenaires académiques et industriels présents à l OMG Aligner cette réponse avec d autres profils, existants ou en construction à l OMG : SysML, SPT, QoS, UML-for- AADL, UML-for-SoC, Application side Communication & Control (Synchronous) state diagrams «Meet-in-the-middle» Infrastructure side HW/SW platform model Structure/deployment diagrams Formal models Model-Based Design Allocations (operations to resources) Data computation Activity (block) diagrams System-Level Design Platform-Based Design 13
Objectif global Plate-forme MDD Thème : Model Driven Engineering Fournir une plate-forme open-source pour l ingénierie des modèles Principes Plate-forme fondée sur des composants existants Plate-forme consolidée pour des besoins industriels Stimulant des travaux de recherche comme (Pivot, modèles exécutables, TR/E ) Projets terminés MOTOR : Fourniture d un support méthodologique à la transformation de modèle MDD Setup : Définition de l architecture d une plate-forme MDD générique Projets en cours Eclipse MDDi : Favoriser l intégration des outils dédiés au MDD Modelware : Accompagner l industrie du logiciel dans la migration vers le MDD Partenaires THALES: Research & Technology CEA : List / Laboratoire LSP INRIA : Projets DaRT(Futurs Lille), ATLAS, Espresso et Triskell (IRISA Rennes), Aoste (Sophia- Antipolis) Extrait de l l architecture de la plate-forme MDD Domaines applicatifs du TR/E Aéronautique Automobile Télécoms IDM pour le TR/E Modélisation UML-TR/E Profil MARTE V&V IDM générique g Méta-langage Langage de exécutable transformation QVT Modélisation de l archi. des SoS Intégration d outils et de méta-modèles IDM pour les SoS Générateur d éditeurs de DSL Déploiement 14
Thème 2 : Middleware 2.4 Network-Centric MWare 2.2 Des PSM vers les plates-formes 2.3 Framework de composants pour le TR & E 2.1 Ingénierie des conteneurs Test et Validation Exigences et Architecture UML models (PIM in MDA) Modèles Indépendant des Plates-formes UML models (PIM in MDA) Modèles Spécifiques Plates-formes UML models (Mappings PIM/PSM in MDA) Transformation de modèles Configuration et déploiement des conteneurs : XML Interfaces applicatifs : IDL Real Time Data Processing Near Real Time and Fault Tolerant Information Processing Complex Information Management Platform-wide Services Documents and workflow Management Génération 15
Quelques exemples Thème Middleware
Thème 2.3 : Framework à composants pour le TR/E Performance, Empreinte mémoire, Réactivité Architectures traditionnelles de systèmes RT Thème 2.3 Systèmes TR et E Nombreux dans THALES (radio logicielle, modems, équipements de guerre électronique...) Architectures traditionnelles Technologies de composant répandues Flexibilité, Réutilisabilité Middleware propriétaires Mélange code technique et métier (portage difficile) 17
Thème 2.3 : Framework à composants pour le TR/E Modèles d'interaction adaptés composant Conteneurs adaptés conteneur Assemblage, configuration déploiement, supervision adaptés En faire une plate-forme Services adaptés TR/E cible pour la démarche MDD Ex. de services que l on souhaite rendre transparents: Surface d'exécution Sélection dynamique de protocoles de communication Ordonnancement local et distribué Notification TR Priorité réseau 18
Projet ICE Thème : Middleware Partenaires THALES SC2 Dvision Terre et Inter armées CEA List / Laboratoire LSP Intégration dans un conteneur temps-réel el... Objectifs Support des interactions temps réel avec approche à composants standard Plus d expressivité dans les architectures à composants et temps réel Intégration Etude de Mise cas dans en : pile oeuvre un de conteneur protocole du concept radio temps-réel UMTS el Réutilisation de composants décomposition temps réel en composants / connecteurs indépendance réelle à la plateforme T/R cible capture de connecteurs de spécifiques domaine Résultats réutilisation du golden source - composants Introduction du concept dans de connecteur une plateforme dans une à approche composants à composants standard standard (OMG) RLC SAP RLC SAP pour le temps-réel RLC pour les systèmes Occupation embarqués Conn Message Entité DL TM Identification d un jeu de connecteurs typiques pour des les buffers systèmes de communications réalisés en logiciel avec buffers réassemble Définition de bonnes pratiques de conception, tirées de l étude d un cas concret IST indépendance réelle à la plateforme T/R cible réutilisation du golden source - composants Interface fournie Interface requise Service de conteneur... Vue à l exécution... Interface de service Interface de rappel composant RRC Instances de composants RLC Paire crée de ports étendus conjugués Point d accès Info sur MAC-config SAP PDUs Mise à canal en logique oeuvre du concept occupation à soumettre Composant des de connecteur Connecteur buffers MAC Gestion dans une plateforme à composants standard (OMG) MAC home pour canaux pour les systèmes embarqués (sélection TFC) de transport dédiés creates Composant CRLC-config SAP PHY-config SAP Connecteurs Composants home pour les entités Prise de Paire de ports statistiques étendus conjugués Interface fournie Composant Interface requise PHY Vue à l exécution Fragment Connection Composant Fragment locale Service de conteneur Connection locale segm Entité UL TM CRLC-config SAP PHY-config SAP Connecteurs Composants RLC MAC Conn Message avec buffers home pour canaux de transport dédiés creates PHY Prise de statistiques ITEA Etude de Composant cas : pile de protocole radio UMTS décomposition en composants / connecteurs capture de connecteurs spécifiques domaine RLC SAP Occupation des buffers Ports basiques composant conjugués Connecteur home pour RRC une séparation les entités segm RLC crée Interface Multiplexage de service Entité UL TM Connecteur (mémoire) Composant Procédure Point d accès Point d accès aléatoire MAC-config SAP à canal logique Peut-être une séparation Communication (mémoire) entre fragments Fragment : spécifique Composant au connecteur Communication entre fragments : spécifique au connecteur Peut-être Connection locale Gestion de RLC segm Ports basiques conjugués Interface d accès Fragment de rappel... Interface radio... canal de transport... Connection Instances locale de composants segm Composant Info sur occupation des buffers Gestion de RLC Gestion MAC (sélection TFC) RLC SAP... Interface radio... segm PDUs à soumettre Connecteur Multiplexage Point d accès canal de transport Entité DL TM réassemble segm Procédure d accès aléatoire 19
En résumé
CARROLL DANS LE PROCESSUS DE RECHERCHE & D INNOVATION GENERATION D IDEES NOUVEAU CONCEPT DEMONSTRATEURS TECHNOLOGIQUES DEVELOPPEMENT Mutation 1 Mutation 2 MDDi MDD Setup PROTES Gate Motor 1 Gate 2 Gate 3 ICE 21
Projets et thèmes CARROLL MUTATION Test et Validation Modélisation UML pour l Automatisation de la production des Tests Adapter UML à la Conception de systèmes embarqués alliant logiciel et matériel PROTES Accompagner l industrie l du logiciel dans la migration vers le MDD UML models (PIM in MDA) Exigences et Architecture Modèles Indépendant des Plates-formes UML models (PIM in MDA) Modèles Spécifiques Plates-formes UML models (Mappings PIM/PSM in MDA) Configuration et déploiement des conteneurs : XML Interfaces applicatifs : IDL ICE Real Time Data Prendre Processing en compte les contraintes RTE dans les Middleware à composants MDDi Near Real Time and Fault Tolerant Information Processing Favoriser l int l intégration des outils dans une plate-forme MDD Eclipse ITEA IST Complex Information Management Platform-wide Services Documents and workflow Management Fourniture d un d support méthodologique à la transformation de modèle MOTOR Transformation de modèles Setup MDD Génération Définition de l architecture d une d plate-forme MDD générique Model Driven Engineering Capitalisation sur les Modèles Domaines Techniques Plates-formes Modèles et profils Spécifiques aux Plate-formes Plates-formes d exécution multi segments composant Middleware 22
Merci pour votre attention www.carroll-research.org