EScala: modular event-driven object interactions in scala

  • Authors:
  • Vaidas Gasiunas;Lucas Satabin;Mira Mezini;Angel Núñez;Jacques Noyé

  • Affiliations:
  • Technische Universität Darmstadt, Darmstadt, Germany;Technische Universität Darmstadt, Darmstadt, Germany;Technische Universität Darmstadt, Darmstadt, Germany;École des Mines de Nantes, Nantes, France;École des Mines de Nantes, Nantes, France

  • Venue:
  • Proceedings of the tenth international conference on Aspect-oriented software development
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Event-driven programming style in OO languages based on imperatively triggered events does not support separate and more declarative event definitions by composition or transformation of other events. AO language mechanisms for defining events as declarative queries over implicitly available low-level events seem good candidates to approach these problems. However, being designed for modularizing mostly globally scoped, crosscutting concerns, AO mechanisms deliberately break with the OO design and modular reasoning style and are thus inappropriate for addressing modularity concerns related to event-based interactions in OO designs. The contribution of this paper is a language design that combines imperatively triggered events with AO-like mechanisms that are specifically designed to address modularity issues in event-driven object-oriented designs. In particular, they seamlessly integrate with OO-style encapsulation, late binding, and modular reasoning. We present an efficient and type-safe implementation of the proposed design as an extension to Scala.