27 novembre 2003 Habilitation à Diriger des Recherches présentée par Didier Parigot Contribution à la Programmation Générative.

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
Applications N-Tiers Rappels: architecture et méthodologie
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Fabrice Lauri, François Charpillet, Daniel Szer
Cilia, un framework de médiation ouvert, léger, multi-personnalités
1 Infrastructures logicielles pour Interfaces Homme- Machine plastiques Anne Roudaut Sous la responsabilité de Joëlle Coutaz et Lionel Balme CLIPS, IIHM.
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Affichage interactif, bidimensionnel et incrémental de formules mathématiques Hanane Naciri et Laurence Rideau INRIA Sophia Antipolis CARI'2000.
Projet FIACRE 1 ACI Sécurité InformatiqueToulouse, novembre 2004 FIACRE Fiabilité des Assemblages de Composants Répartis Modèles et outils pour lanalyse.
Eclipse Plug-ins Factory
Thème 3 : plate-forme de modélisation et de gestion de référentiels XML étapes modélisation des structures (UML) gestion du référentiel de modélisation.
Classe : …………… Nom : …………………………………… Date : ………………..
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Projet n°4 : Objecteering
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
JXDVDTEK – Une DVDthèque en Java et XML
UML - Présentation.
Approche par composant : Un cadre pour l’ingénierie de la commande
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
TP 3-4 BD21.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
UML (Unified Modeling Langage)
L’apprentissage Coopératif et la Conception de Collecticiels
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Maîtrise des données et des métadonnées de l’ODS
Alain Le Guennec Jean-Marc Jézéquel Action Triskell
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
le profil UML en temps réel MARTE
MDA en action Ingénierie logicielle guidée par les modèles
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 2 : Les applications fonctionnelles.
Rappel au Code de sécurité des travaux 1 Code de sécurité des travaux Rappel du personnel initié Chapitre Lignes de Transport (Aériennes)
Contribution à la Programmation Générative
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
1 Conduite du changement LA CONDUITE DU CHANGEMENT.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
SYSTEMES D’INFORMATION
SCIENCES DE L ’INGENIEUR
1 Carine Courbis Candidate au poste n°226S de Maître de Conférence en 27ème section à lUniversité de Nice Sophia-Antipolis.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Ecaterina Giacomini Pacurar
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Portée, arrimages et intervenants Évolution des méthodes
de Maître de Conférence en 27ème section
Projet de Master première année 2007 / 2008
Processus d'un projet F.Pfister
Sensibilisation a la modelisation
Patrons de conceptions de créations
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
Transformation de modèles Kick Off Motor Jean Marc Jézéquel & Didier Vojtisek La vision Triskell : Umlaut NG.
CALENDRIER-PLAYBOY 2020.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Outil de gestion des cartes grises
Les Chiffres Prêts?
Supports de formation au SQ Unifié
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Approches Formelles en Systèmes d'information
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
UML : un peu d’histoire H. Lounis.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Transcription de la présentation:

27 novembre 2003 Habilitation à Diriger des Recherches présentée par Didier Parigot Contribution à la Programmation Générative Rupture dans le développement logiciel provoquée par des bouleversements importants Fabrique Logicielle Mon thème de recherche : les langages de programmation La Programmation Générative caractérise humblement mes multiples travaux Les applications doivent être ouvertes et adaptables

27 novembre Habilitation à Diriger des Recherches Le plan Idée intuitive de la notion de Fabrique Logicielle Passé : FNC-2 4Résumé rapide de mes travaux sur les grammaires attribuées Présent et futur : SmartTools 4Les facteurs de ces bouleversements 4lapproche de fabrique logicielle 4Les quatre modèles dans SmartTools Conclusion 4Pendant les questions : une démonstration ?

27 novembre Habilitation à Diriger des Recherches Ouvertes et adaptables Fabrique logicielle Modèles ou langages métiers générateurs programmes compilateurs Système langages applications exécution Code métier La glue Plate-forme Famille dapplication Contrôler les parties sensibles à lévolution Applications ouvertes et adaptables Applications évolutives Capturer un savoir-faire Production en « série »

27 novembre Habilitation à Diriger des Recherches Le plan Idée intuitive de la notion de Fabrique Logicielle Passé : FNC-2 4Résumé rapide de mes travaux sur les grammaires attribuées Présent et futur : SmartTools 4Les facteurs de ces bouleversements 4lapproche de fabrique logicielle 4Les quatre modèles dans SmartTools Conclusion 4Pendant les questions : une démonstration ?

27 novembre Habilitation à Diriger des Recherches Grammaires Attribuées : Années 70 Méthode pour décrire la sémantique des langages 4Déclarative 4Le quoi, pas le comment : ensemble déquations entre attributs 4Syntaxe (abstraite) ou Modèle 4Exécutable (séquentielle, parallèle, incrémentale) 4Evaluateur d attributs 4Applications 4Sémantique des langages de programmation Nombreux travaux de recherche (1000 références) 4Théorie des GAs : classe de Grammaire Attribuée 4Pouvoir dexpression, applications Plus beaucoup de recherches depuis 1995 ?

27 novembre Habilitation à Diriger des Recherches Les raisons de léchec des GAs Méthode de programmation par séparations de préoccupation, par attributs 4Impérative, fonctionnelle, logique, par attributs Difficultés dans la construction dévaluateurs dattributs 4Classe de grammaire attribuée Langage pour les grammaires attribuées 4Un sous-langage ou un langage à part entière ? 4Transformation de programme Sémantique statique 4Méthode souvent comparée à une méthode de « parsing »

27 novembre Habilitation à Diriger des Recherches Le plan Idée intuitive de la notion de Fabrique Logicielle Passé : FNC-2 4Résumé rapide de mes travaux sur les grammaires attribuées Présent et futur : SmartTools 4Les facteurs de ces bouleversements 4lapproche de fabrique logicielle 4Les quatre modèles dans SmartTools Conclusion 4Pendant les questions : une démonstration ?

27 novembre Habilitation à Diriger des Recherches FNC-2 et SmartTools Deux fabriques logicielles Programmation générative Syntaxe Abstraite = XML Formalisme du W3C (XML) ou lOMG (UML), Langages dédiés (DSL), Patrons de conception, Programmation générative, Programmation par aspects (AOP), Programmation par composants, Model-Driven Architecture (MDA), Domain-Driven Development (3D), Software Factories

27 novembre Habilitation à Diriger des Recherches Les facteurs de bouleversements (1) Émergence de lInternet 4Les technologies XML 4Web sémantique, Application sur le Web Échange de données entre applications Applications distribuées, applications embarquées 4Architecture, mobilité, communication (P2P) Quel type de système informatique ? Nouvelles technologies 4Composants, protocole, matériels Quelle est LA technologie de demain ?

27 novembre Habilitation à Diriger des Recherches Les facteurs de bouleversements (2) Démocratisation de linformatique 4Ubiquitaire : présente partout Quel utilisateur va-ton découvrir ? (par hasard) Rapidité du développement 4Retour dinvestissement Quelle application pour demain ? (quelque mois) Réutilisation : composant 4monde ouvert Logiciel libre ? Formalismes Standards : W3C et OMG

27 novembre Habilitation à Diriger des Recherches Le plan Idée intuitive de la notion de Fabrique Logicielle Passé : FNC-2 4Résumé rapide de mes travaux sur les grammaires attribuées Présent et futur : SmartTools 4Les facteurs de ces bouleversements 4lapproche de fabrique logicielle 4Les quatre modèles dans SmartTools Conclusion 4Pendant les questions : une démonstration ?

27 novembre Habilitation à Diriger des Recherches Pour répondre à ce bouleversement Les langages de programmation Patrons de conception Par séparation de préoccupations La programmation par aspects La programmation par composants La programmation par modèles par transformation Fertilisation croisée entre divers domaines de recherche Les applications doivent être ouvertes et adaptables

27 novembre Habilitation à Diriger des Recherches Programmation par aspects Application (classes) Tisseur Préoccupations (aspects ) Séparation des préoccupations Modèle daccroche Modèle: Abstraction de lapplication pour la préoccupation

27 novembre Habilitation à Diriger des Recherches Programmation par composants conteneur générateur code métier modèle de composant Séparation du code fonctionnel et code non fonctionnel Technologie code métier conteneur composant extensible Modèle : Abstraction du code métier pour le conteneur

27 novembre Habilitation à Diriger des Recherches Programmation par modèle de données Modèle de données 2Transformation Technologie1 Générateur Code métier Modèle de données 1 Indépendance du Modèle de données Technologie2 Technologie3 Modèle : Abstraction du code métier pour les données

27 novembre Habilitation à Diriger des Recherches Evolution des langages de programmation Par séparation de préoccupations Le corps des méthodes, fonctions, etc... La programmation par composants les appels, les interfaces La programmation par modèles la structure de données Les langages de programmation Les applications doivent être ouvertes et adaptables Modèles ou langages métiers Générateurs Nouveaux langages de programmation Modèle: une abstraction pour une préoccupation

27 novembre Habilitation à Diriger des Recherches Le plan Idée intuitive de la notion de Fabrique Logicielle Passé : FNC-2 4Résumé rapide de mes travaux sur les grammaires attribuées Présent et futur : SmartTools 4Les facteurs de ces bouleversements 4lapproche de fabrique logicielle 4Les quatre modèles dans SmartTools Conclusion 4Pendant les questions : une démonstration ?

27 novembre Habilitation à Diriger des Recherches Fabrique logicielle : SmartTools Générateurs PIMPSM Modèle de données Modèle sémantique Modèle de composants Modèle de vue La glue Code métier Plate-forme Modèle pivot Modèle projetable Composant extensible approche MDA Composant MDA Partie écrite par le programmeur Les parties sensibles à lévolution Modèles Indépendants (PIM)Modèles Spécifiques (PSM) Approche MDA Autres préoccupations Autres modèles

27 novembre Habilitation à Diriger des Recherches Le modèle de données (1) Objectifs Modèle indépendant : PIM 4Dun langage de programmation (dune plate-forme) : format neutre 4des générateurs qui instrument le modèle : PSMs Utilisation des efforts de standardisation du W3C 4souvrir vers des champs dapplication plus vastes !!

27 novembre Habilitation à Diriger des Recherches UML MOF Modèle de données (2) Modèle de données Méta-langage : Absynt Traducteurs DTD Schema XML Générateurs Classes en Java (DOM) Instance de XML Java XML Conforme à Se serialise en Se représente en PSM Cosy Centaur Modèle 1 de données Modèle 2 de données Dans FNC-2 : ASX, notre méta-langage Niveau Méta

27 novembre Habilitation à Diriger des Recherches Le modèle de données : modèle pivot (3) Impact des technologies XML Modélisation UML (programmation OO) 4MOF, méta-langage (les 4 niveaux) 4Modélisation des modèles métiers Base de données XML (XQuery) Web sémantique : Ontologies (RDF) Donnée (interrogation) = Programme (exécution) ? Transformation de modèle (MDA) Sémantique associée ?

27 novembre Habilitation à Diriger des Recherches Le modèle sémantique Contexte Sémantique dun modèle = ensemble des traitements 4Statique comme dynamique Divers domaines hors du cadre classique des langages 4Sémantique plus souple Objectifs Notre approche 4Simple (proche de limplantation) et pragmatique 4Projetable par transformation du modèle de base 4Séparation entre le modèle et les actions sémantiques

27 novembre Habilitation à Diriger des Recherches Le modèle sémantique : Solution Patron de conception « visiteur » 4Séparation entre la structure et les traitements pour de meilleures réutilisation et indépendance vis-à-vis du modèle 4Flot de contrôle lié au traitement 4Parcours de la structure de données Programmation par aspect sur ce type de programmation 4programmation générative 4Structure + flot de contrôle + actions = programme Utile pour la projection de la sémantique induite par une transformation du modèle de base

27 novembre Habilitation à Diriger des Recherches Projection de la sémantique Modèle 2 Transformation Technologie2 Modèle 1 Technologie1 traitement Projection daspects Projection dynamique ? Par exemple pour les composants

27 novembre Habilitation à Diriger des Recherches Architecture : Modèle de composants Contexte Composants Langages 4Ma propre expérience (FNC-2, Cosy, SmartTools) Composants Systèmes (Applications distribuées) 4Nombreuses technologies et Travaux de recherche Objectifs Séparation des préoccupations Apport dun certain savoir-faire Problèmes et Questions Définition de la notion de composant ? 4(boite noire ou grise) Topologie ? Gestion ? Déploiement ? Indépendance vis-à-vis dune technologie

27 novembre Habilitation à Diriger des Recherches Modèle de composant : notre approche Architecture de SmartTools Méta-outil La méthode Définir un modèle de composant Abstrait 4indépendant dune technologie particulière Définition des transformations vers dautres modèles de composants : approche MDA Le modèle de composant Fortement basé sur un modèle neutre (PIM) P2P, Topologie dynamique Composant Extensible (services)

27 novembre Habilitation à Diriger des Recherches Connexion Générateur Modèle de composant Gestionnaire de composant Création Programmation par composants Modèle de données Modèle de vues Modèle dinterface Modèle sémantique Document Vue graphique Interface graphique Collaboration entre les divers modèles Capture dun savoir-faire Nouvelle notion de Type (interface)

27 novembre Habilitation à Diriger des Recherches Modèle de composants : transformation EJB Interfaces Home et Remote Eclipse API Eclipse ? Modèle de composants abstrait Fichier IDL + Classe Server CORBA CCM SmartTools Classe conteneur + Classe extension Façade Générateurs Fichier WSLD + Classe SOAP Web Services MDA PIM PSM Différentes interprétations de la notion de composant

27 novembre Habilitation à Diriger des Recherches GUI : Le Modèle de vue Objectifs Mettre la forme logique au centre du débat Définir dabord le modèle de données Merci à XML !! Vue graphique hautement configurable 4IHM extensible, multi-support IDE ne doit pas être au centre de lapplication Petits langages métiers (en XML) 4tous nos modèles sont définis en XML

27 novembre Habilitation à Diriger des Recherches Modèle de vues : langage Cosynt Modèle de donnéesModèle de syntaxe concrète Composant logiqueComposant vue Modèle de vueModèle de style XSLT JTOM QVT Transformation de modèle : approche MDA MDA Transformations PIM à Transformations PSM Composant MDA Entrée Sortie parseurTransformation XSLTFeuille de style Fusion de transformation Transformations symétriques Incrémentale Double approche MDA Double approche MDA

27 novembre Habilitation à Diriger des Recherches Le plan Idée intuitive de la notion de Fabrique Logicielle Passé : FNC-2 4Résumé rapide de mes travaux sur les grammaires attribuées Présent et futur : SmartTools 4Les facteurs de ces bouleversements 4lapproche de fabrique logicielle 4Les quatre modèles dans SmartTools Conclusion : SmartTools ? 4Pendant les questions : une démonstration ?

27 novembre Habilitation à Diriger des Recherches SmartTools : cest QUOI ? Une application fabriquée par une fabrique logicielle 4modèle de données, sémantique, composants et autres services Tester notre approche Une application qui permet de construire une fabrique 4définir des modèles métiers Proposer et étendre lapproche Une fabrique qui permet de concevoir une application rapidement (une famille). 4Tous nos langages sont définis en XML Construire des applications (champ dapplication)

27 novembre Habilitation à Diriger des Recherches Un monstre ? Application auto-générée Composant de base Gestionnaire de composant Interface Utilisateur Noyau Générateurs Générateur de composant Générateur de modèle Générateur de sémantique Générateur de vue 0% En phase de production Générateurs Générateur de composant Générateur de modèle Générateur de sémantique Générateur de vue 100% En mode ligne de commande Applications Composant logique X Composant vue X Composant logique Y Composant vue Y En mode non interactif ou en immersion Composant de base Gestionnaire de composant Interface Utilisateur 100%50% Cosynt Xprofile Coq (XML) XML générique N % dutilisation de la fabrique DTD XML schema XSLT Java MathML SVG HTML ant CSS Absynt cdml lml WSDLIDL bibtex RA INRIA B Syntax (relax) EDF (UML) Champ dapplication ? Champ dapplication ?

27 novembre Habilitation à Diriger des Recherches Conclusion : Macro-Programmation ? Les langages de programmation classique ne sont pas LA solution ? Modèle indépendant / inter-discipline ? Processus de développement / Incrémental ? Modèle de conception / Modèle de production ? Modèle universel / Modèle métier ? Applications ouvertes et adaptables ? Modèle pour chaque préoccupation ? AOP / directement sur le modèle ? Transformation Dynamique / projection des traitements ? Programmation générative / Méta-programmation ? Etc… Plus de questions que de réponses de réponses Mais un prototype de recherche existe déjà : SmartTools

27 novembre Habilitation à Diriger des Recherches Conclusion : Macro-programmation De la Micro-programmation à la Macro-programmation 4préoccupations, composants, modèles Nouveau style de programmation 4Hyper dynamique Support logiciel pour dautres domaines comme : 4Web Sémantique 4Base de Données 4GRID computing Le nombre dutilisateurs de la Macro-programmation va croître beaucoup plus vite que pour la micro Abstraction : modèles plus propice aux méthodes formelles ?

27 novembre Habilitation à Diriger des Recherches Un travail d'équipe : un grand MERCI à !!! Martin Jourdan : Grammaires Attribuées Catherine Julié, Bruno Marmol, Carole Lebellec, Aziz Souza, Gilles Roussel, Etienne Duris et Loic Correnson SmartTools Alexandre Fau, Pascal Degenne et Carine Courbis Stagiaires et Ingénieurs J. Bonnet, C. Ayrault, O. Durin, E. Planes, C. Zylberman, D. Devillar, J.P Jouve, R. Gomez, P. Bazet, B. Amilien, P. Rouzier, H. Benvel, G. Le Batard, S. Leibovitsch, R. Forax, A. Bergel, T. Abbondanza, J.L Baudoin, D. Nade, J.G Variamparembil, O. Chabrol, P. Farrugia, L. Cognard, P. Canalda, A. Rizk, T. Gaal, F. Chalaux, J. Fillon, C. Pasquier, C. Helm

27 novembre Habilitation à Diriger des Recherches FIN QUESTIONS ? Une Fabrique Logicielle www-sop.inria.fr/oasis/SmartTools Présentation (PIM) Démonstration (PSM)

27 novembre Habilitation à Diriger des Recherches Un exemple dauto-utilisation : GUI

27 novembre Habilitation à Diriger des Recherches Aperçu de SmartTools