Un modèle de programmation intégrant classes, évènements et aspects

par Angel Rodrigo Núñez López

Thèse de doctorat en Informatique

Sous la direction de Jean-Claude Royer.


  • Résumé

    Object-Oriented Programming (OOP) has become the de facto programming paradigm. Event-Based Programming (EBP) and Aspect-Oriented Programming (AOP) complement OOP, covering some of its deficiencies when building complex software. Today’s applications combine the three paradigms. However, OOP, EBP and AOP have not yet been properly integrated. Their underlying concepts are in general provided as distinct language constructs, whereas they are not completely orthogonal. This lack of integration and orthogonality complicates the development of software as it reduces its understandability, its composability and increases the required glue code. This thesis proposes an integration of OOP, EBP and AOP leading to a simple and regular programming model. This model integrates the notions of class and aspect, the notions of event and join point, and the notions of piece of advice, method and event handler. It reduces the number of language constructs while keeping expressiveness and offering additional programming options. We have designed and implemented two programming languages based on this model: EJava and ECaesarJ. EJava is an extension of Java implementing the model. We have validated the expressiveness of this language by implementing a well-known graphical editor, JHotDraw, reducing its glue code and improving its design. ECaesarJ is an extension of CaesarJ that combines our model with mixins and language support for state machines. This combination was shown to greatly facilitate the implementation of a smart home application, an industrial-strength case study that aims to coordinate different devices in a house and automatize their behaviors

  • Titre traduit

    A programming model integrating classes, events and aspects


  • Résumé

    Le paradigme de la programmation par objets (PPO) est devenu le paradigme de programmation le plus utilisé. La programmation événementielle (PE) et la programmation par aspects (PPA) complètent la PPO en comblant certaines de ses lacunes lors de la construction de logiciels complexes. Les applications actuelles combinent ainsi les trois paradigmes. Toutefois, la POO, la PE et la POA ne sont pas encore bien intégrées. Leurs concepts sous-jacents sont en général fournis sous la forme de constructions syntaxiques spécifiques malgré leurs points communs. Ce manque d’intégration et d’orthogonalité complique les logiciels car il réduit leur compréhensibilité et leur composabilité, et augmente le code d’infrastructure. Cette thèse propose une intégration de la PPO, de la PE et de la PPA conduisant à un modèle de programmation simple et régulier. Ce modèle intègre les notions de classe et d’aspect, les notions d’événement et de point de jonction, et les notions d’action, de méthode et de gestionnaire d’événements. Il réduit le nombre de constructions tout en gardant l’expressivité initiale et en offrant même des options de programmation supplémentaires. Nous avons conçu et mis en oeuvre deux langages de programmation basés sur ce modèle : EJava et ECaesarJ. EJava est une extension de Java implémentant le modèle. Nous avons validé l’expressivité de ce langage par la mise en oeuvre d’un éditeur graphique bien connu, JHotDraw, en réduisant le code d’infrastructure nécessaire et en améliorant sa conception. ECaesarJ est une extension de CaesarJ qui combine notre modèle avec de la composition de mixins et un support linguistique des machines à états. Cette combinaison a grandement facilité la mise en oeuvre d’une application de maison intelligente, une étude de cas d’origine industrielle dans le domaine de la domotique

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (202 f.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p. 195-202.

Où se trouve cette thèse ?

  • Bibliothèque : Université de Nantes. Service commun de la documentation. BU Sciences.
  • Disponible pour le PEB
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.