Declarative Events for Object-Oriented Programming - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2010

Declarative Events for Object-Oriented Programming

Résumé

In object-oriented designs inversion of control is achieved by an event-driven programming style based on imperatively triggered events. An alternative approach can be found in aspect-oriented programming, which defines events as declarative queries over implicitly available events. This helps to localize definition of events and avoid preplanning, but lacks a clean integration with object-oriented features and principles. The contribution of this work is a concept of object-oriented events that combines imperative, declarative and implicit events and provides their seamless integration with object-oriented features, preserving encapsulation and modular reasoning. We present an efficient and type-safe implementation of the concept as an extension to the Scala language.
Dans une conception par objets, l'inversion de contrôle s'appuie sur un style de programmation événementiel utilisant des événements lancés de manière impérative. La programmation par aspects suggère une autre voie qui consiste à définir des événements sous la forme de requêtes déclaratives portant sur des événements prédéfinis. Il est ainsi possible de localiser la définition des événements sans planifier à l'avance l'existence de ces événements. Cette voie pose toutefois un problème d'intégration aux caractéristiques et aux principes de la programmation par objets. La contribution de ce travail est l'introduction d'un concept d'événement qui combine différents types d'événements, impératifs, déclaratifs et implicites tout en étant parfaitement intégré avec les principes des objets, préservant notamment l'encapsulation et le raisonnement modulaire propre aux objets. Nous présentons ici une implémentation typée et efficace de ce concept sous la forme d'un extension du langage de programmation Scala.
Fichier principal
Vignette du fichier
RR-7313.pdf (848.09 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

inria-00494645 , version 1 (23-06-2010)

Identifiants

  • HAL Id : inria-00494645 , version 1

Citer

Vaidas Gasiūnas, Lucas Satabin, Mira Mezini, Angel Núñez, Jacques Noyé. Declarative Events for Object-Oriented Programming. [Research Report] RR-7313, INRIA. 2010, pp.38. ⟨inria-00494645⟩
214 Consultations
168 Téléchargements

Partager

Gmail Facebook X LinkedIn More