Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d



Documents pareils
Présentation du Groupe INFRES/S3 Systèmes, Logiciels (Software), Services Département Informatique et Réseaux

Rapport d activité. Mathieu Souchaud Juin 2007

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Projet Active Object

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Évaluation et implémentation des langages

Génie Logiciel avec Ada. 4 février 2013

CORBA haute performance

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Les processus métiers : concepts, modèles et systèmes

Modélisation des interfaces matériel/logiciel

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Intégration de systèmes

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

RTDS G3. Emmanuel Gaudin

Programmation de services en téléphonie sur IP

La technologie Java Card TM

TP1 : Initiation à Java et Eclipse

Introduction aux Machines Virtuelles avec VMKit

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Communications performantes par passage de message entre machines virtuelles co-hébergées

UE 8 Systèmes d information de gestion Le programme

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Introduction aux systèmes temps réel. Iulian Ober IRIT

4.2 Unités d enseignement du M1

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Solutions informatiques (SI) Semestre 1

Diplôme de Comptabilité et de Gestion. D é c r e t N d u 2 2 d é c e m b r e A r r ê t é d u 8 m a r s

NFP111 Systèmes et Applications Réparties

Vérification formelle de la plate-forme Java Card

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Vulgarisation Java EE Java EE, c est quoi?

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

WEA Un Gérant d'objets Persistants pour des environnements distribués

Générer du code à partir d une description de haut niveau

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Diagrammes de Package, de déploiement et de composants UML

Architecture distribuée

Vérifier la qualité de vos applications logicielle de manière continue

Introduction au Déploiement

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Description de la formation

Projet de développement

MEAD : temps réel et tolérance aux pannes pour CORBA

VOLUME I ETUDES DE CAS RELATIFS A DES PROJETS DE PASSATION ELECTRONIQUE DE MARCHES PUBLICS

Projet de Veille Technologique

ACTIVITÉ DE PROGRAMMATION

GPC Computer Science

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Contributions à l expérimentation sur les systèmes distribués de grande taille

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Conception des systèmes répartis

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Modélisation et simulation des performances de nœuds de routage optique dans les réseaux dorsaux hybrides

1.Introduction - Modèle en couches - OSI TCP/IP

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Approche Contract First

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

1 Mesure de la performance d un système temps réel : la gigue

THÈSE de DOCTORAT. Sémantique, interactions et langages de description des services web complexes

Gestion mémoire et Représentation intermédiaire

Brique BDL Gestion de Projet Logiciel

FISH GEEK. La technologie au service du poisson des producteurs des transformateurs des consommateurs

Architecture et Extensions d ArcGIS Server

Burckel Thomas. Formation. Compétences

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

TP1 : Initiation à Java et Eclipse

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Cours 1 : La compilation

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Présentation du Programme Régional de Formations Qualifiantes

SQL Parser XML Xquery : Approche de détection des injections SQL

Chapitre I : le langage UML et le processus unifié

Dossier de compétences :

X2BIRT : Mettez de l interactivité dans vos archives

Analyse de sécurité de logiciels système par typage statique

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Business Process Management

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

The brand is a story. But it's a story about you, not about the brand.

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

as Architecture des Systèmes d Information

Intergiciel - concepts de base

Méthodes d évolution de modèle produit dans les systèmes du type PLM

OpenText StreamServe Cours Customer Communication Management L essentiel

Transcription:

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA L. PAUTET et J. HUGUES 07/11/2007

Problématique Conception d une chaîne de production qui inclut: Analyse de l application répartie (sémantique, vérification ) Déploiement automatique de l application répartie Configuration automatique de l intergiciel en fonction de l application Deux axes de recherche principaux: ADL, notamment AADL (Architecture Analysis & Design Language) Analyser et déployer l application Intergiciel schizophrène PolyORB Déployer et configurer l intergiciel Exprimée dans plusieurs projets: ASSERT AdaCore Flex-Eware Page 2-07/11/2007

Objectifs Avoir une chaîne de production qui préserve les propriétés non fonctionnelles (ordonnonçabilité ) Générer automatiquement, dans plusieurs langages de programmation (Ada, C ), une partie des composants de l application répartie et de l intergiciel à partir d un modèle AADL et de ses propriétés (exigences) Assembler correctement les composants avec un intergiciel minimaliste en fonction du langage de programmation cible et garantir que le tout est vérifiable Page 3-07/11/2007

Approche (1/3) Identifier et générer les composants de l intergiciel qui seront produits automatiquement à partir des modèles AADL applicatifs Un générateur de composants applicatifs/intergiciels par langage de programmation Un générateur de composants contextuel en fonction des propriétés incluses dans le modèle Composants: Canaux de communication Empaquetage/dépaquetage des données Instances des tâches Page 4-07/11/2007

Approche (2/3) Concevoir un intergiciel minimal qui contiendra les composants communs à toutes les applications réparties Un intergiciel minimaliste par langage de programmation (mais c est le même en terme de fonctionnalité) Pallier le côté minimaliste grâce à la génération de code Composants: Archétype des tâches Tâche périodique Tâche sporadique Protocoles de communication Couche bas niveau du transport Page 5-07/11/2007

Approche (3/3) Assembler automatiquement les composants applicatifs, les composants intergiciels ainsi que les implémentations fournies par l utilisateur (partie fonctionnelle) Descriptions fonctionnelles (fournies par l utilisateur) appli. appli. appli. Composants générés automatiquement à partir de la description AADL couche d encapsulation intergiciel Intergiciel Minimal Page 6-07/11/2007

Génération de Code (1/3) Approche classique: Outils de traitement et de transformation de modèles (Méta-modélisation, Eclipse) Parcours d un arbre syntaxique AADL et génération du code à la volée Spécificités de notre cas: Projection vs. Transformation : possibilité de perte d information Dépendance du code généré vis-à-vis d une interface d intergiciel Approche adoptée: Structure du générateur semblable à celle d un compilateur: partie frontale expansion partie dorsale Construction d un arbre syntaxique pour le langage cible à partir de celui du modèle source en appliquant des règles de transformation Génération du code à partir de l arbre cible Page 7-07/11/2007

Génération de Code (2/3) AADL model Ada Tree Converter Ada (AST) Printer Ada Code AADL (AST) Expansion AADL (Instance) C Tree Converter C (AST) Printer C Code AADL Tree Converter AADL (AST) AADL Code Printer Page 8-07/11/2007

Génération de Code (3/3) Génération automatique des fonctions de manipulation d arbre, à l aide de l outils mknodes Seules les règles de projection doivent être écrites à la main Séparation entre le code généré et sa disposition dans les fichiers Pas de contrainte sur l ordre de parcours de l arbre initial Possibilité d optimisation du code généré tout en ayant un générateur de code simple et maintenable Factorisation de code Page 9-07/11/2007

Résultats (Intergiciel) Contraintes temps réel dur spécifiques aux systèmes critiques: Modèle de concurrence analysable : Profil Ravenscar Restrictions du langage de programmation pour les systèmes critiques Encore plus restrictif que le profil Ravenscar Pas d allocation dynamique ni d'orienté objet PolyORB-HI: un support d'exécution AADL Supporte les constructions AADL Threads périodiques et sporadiques, données, etc. Configure automatiquement à partir du modèle AADL Ressources calculées et allouées statiquement Pas d intervention requise de la part de l utilisateur Occupe une faible taille en mémoire Toute la valeur ajoutée est dans la phase de génération de code Contribuer à la thématique des usines à intergiciels Page 10-07/11/2007

Résultats (Modélisation) Continuation des travaux de T. Vergnaud Ocarina : bibliothèque & outils pour manipuler AADL Parseurs & afficheurs AADL Vérification sémantique Opérations spécifiques Transformation de modèle Propositions autour de la configuration et la génération de code Model Transformation AADL Model Core Library Specific Analyzers Specific Analyzers (Hardware checks ) (Hardware checks ) Code Generators Petri Nets (CPN-AMI) Sched. Analysis (Cheddar) Ada / C AADL Runtime Runtime Page 11-07/11/2007

Résultats (Contributions à Ocarina) Restructuration significative du code existant Générateurs de code Ada/PolyORB (Ada, C)/PolyORB-HI Pour plusieurs plateformes (Native, LEON, ERC32) Configuration du support d'exécution Vérification & Validation Réseaux de Petri Ordonnancement (Cheddar) Un outil en ligne de commande pour automatiser ces tâches Page 12-07/11/2007

Étude de cas MPC (1/2) 1s Send AADL Process as Partition SC_1 Sender_Thread Data_Source: out event data port AADL Thread as Ada Task object Data_Sink: in event data port 100m s Receiver_Threa 500m s Receiver d d Update Read Local Watch read update Object SC_2 SC_3 AADL Data as Ada Protected object Watcher_Threa Data_Sink: in event data port 100m s Receiver_Threa 500m s Watcher_Threa Receiver d d Update Read Local Watch read update Object LEON TSIM SpaceWire LEON TSIM SpaceWire LEON TSIM Page 13-07/11/2007

Étude de cas MPC (2/2) Tous les patrons d interaction Tâches périodiques et sporadiques Donnée partagées Répartition transparente à l applications Configuration et déploiement des nœuds Vérification effectuées sur le modèle AADL Liaison entre le matériel et les ressources logicielles Types de données Cohérence des connections (flux de données) Ordonnonçabilité (Cheddar) Code généré Tout le code est généré par Ocarina à partir des modèles AADL Code conforme à toutes les restrictions pour les systèmes critiques Exécutables Empreinte mémoire: 792KB Runtime + code utilisateur : 392kB Piles des tâches: 400kB à optimiser grâce à des analyses plus poussées Démonstration sur LEON2+SpaceWire Bus SpaceWire simulé par tsim Pro Page 14-07/11/2007

Conclusions et perspectives Objectifs atteints: Proposition d une chaîne de production pour les systèmes répartis temps-réel. Réalisation de cette chaîne de production à travers l outil de modélisation Ocarina et l intergiciel d exécution PolyORB-HI 5 publications dans des conférences de bonne renommée Expérimentation positive dans le cadre d exemples élaborés d ASSERT et de la SAE. Ce qui reste à faire: Démonstration finale des études de cas du projet ASSERT Rédaction de l annexe génération de code pour le standard AADL 2.0 Une suite de tests de performances sur des plates-formes embarquées Page 15-07/11/2007