[home]

Contribution à la programmation générative.
Application dans le générateur SmartTools: technologies XML, programmation par aspects et composants.

[english]

photo jury


Thèse soutenue le 10 décembre 2002, à l'INRIA Sophia-Antipolis
devant le jury composé de

Président Pr. Michel Riveill Université de Nice Sophia-Antipolis
Rapporteurs Pr. Jean Bézivin Université de Nantes
Pr. Jean-Marc Jézéquel Université de Rennes, IRISA
Examinateur Dr. Daniel Dardailler W3C
Directeurs Dr. Didier Parigot INRIA Sophia-Antipolis
Dr. Isabelle Attali INRIA Sophia-Antipolis


Soutenance (ppt 230 ko) (pdf 484 ko)
Manuscrit (pdf 1.26 Mo)


Résumé
Avec l'émergence d'Internet et la prolifération de nouvelles technologies, la conception et le développement d'applications complexes doivent impérativement prendre en compte les standards et les aspects de répartition, déploiement et réutilisation de code. C'est la source d'une nouvelle problématique liée à la programmation. Un changement radical des méthodologies est nécessaire pour aisément prendre en compte ces différentes facettes.
Cette thèse jette les bases d'une nouvelle manière de programmer où ces facettes ou intentions sont automatiquement intégrées aux spécifications ou modèles abstraits de l'application lors de phases de génération de code source. Cette nouvelle programmation est dit générative. Cette idée a été appliquée, à différents niveaux, lors de la réalisation d'une application, SmartTools, aussi bien pour la représentation de données ou d'environnements interactifs que pour les traitements sémantiques ou l'architecture. Ainsi le code final obtenu après génération s'appuie sur les technologies XML pour la représentation des données, les technologies objets et beans pour les vues et l'interface utilisateur, la programmation par aspect et le patron de conception visiteur pour les traitements sémantiques et la programmation par composants pour une architecture ouverte et une application répartie et déployable.
Les principaux gains d'une telle programmation sont une meilleure qualité du logiciel due à la séparation de la logique métier et des spécificités technologiques, une simplification du code métier à écrire, l'ajout rapide de nouvelles facettes et un portage vers d'autres plates-formes ou technologies facilité.

Mots-clés
Programmation générative, programmation par aspects, composant, technologies XML, MDA (Model-Driven Architecture) de l'OMG, patron de conception, langages métiers, atelier logiciel.


Title
Contribution to generative programming.
Application into the SmartTools generator: XML technologies, aspect-oriented programming and components.

Abstract With the emergence of the Internet and proliferation of new technologies, the design and programming of complex applications need to take into account standards and notions of code distribution, deployment and reuse. There is a need to change the programming methodologies to take into account these different facets.
This thesis lays the foundations for a new way of programming based on generative programming that automatically integrates specific technologies and user specifications (abstract models). This idea was successfully used, at different levels - data representation, interactive environments, semantic treatments and the architecture, in the design and realisation of SmartTools, a software framework for domain-specific languages. In this way, the generated source code makes use of XML technologies for the data representation, object and bean technologies for the views and GUI, aspect-oriented programming and visitor design pattern for semantic treatments and components to obtain an open architecture and a distributed and deployable application. This idea is very close to the MDA (Model-Driven Architecture) proposal of the OMG consortium that advocates a platform-independent model that can be transformed into one or more platform-specific models.
The main results of this thesis is better software quality due to business logic and technology separation, more straightforward code, a rapid addition of new facets and a means that facilitates the portability of applications towards new technologies or platforms.

Keywords Generative programming, aspect-oriented programming, component, XML technologies, MDA (Model-Driven Architecture) of the OMG, design pattern, domain-specific language, software framework.

PhD Defence (ppt 400 ko) (pdf)

Bibliographie
  1. Un modèle de composants pour l'atelier de développement SmartTools (pdf 107 ko)
    Journées "Systèmes à composants adaptables et extensibles", Grenoble, France, Octobre 2002

  2. L'apport des technologies XML et Objets pour un générateur d'environnements : SmartTools (pdf 310 ko)
    Revue l'Objet numéro spécial XML et les Objets, 29 pages, à paraître, 2003.

  3. Aspect and XML-oriented Semantic Framework Generator SmartTools (pdf 500 ko)
    ETAPS'2002, LDTA workshop, Grenoble, France, April 2002.
    Electronic Notes in Theoretical Computer Science (ENTCS)

  4. Programmation par visiteurs et par aspects dynamiques (pdf 84 ko)
    version provisoire 13 pages, Août 2001.


------

prenom.nom at
	insalien.org
http://www-sop.inria.fr/oasis/personnel/Carine.Courbis/these/index.html
Last modified: Tue Dec 31 15:00:41 MET 2002