EScala: modular event-driven object interactions in scala

EScala: modular event-driven object interactions in scala
复制标题

EScala:scala 中模块化事件驱动的对象交互

DOI:
--
复制
发表时间:
2011
期刊:
Aspect-Oriented Software Development
影响因子:
--
通讯作者:
Jacques Noyé
Jacques Noyé
中科院分区:
--
文献类型:
--
作者:
Vaidas Gasiunas;Lucas Satabin;M. Mezini;Angel Núñez;Jacques Noyé

文献摘要

被引文献

相似文献

基于强制触发事件的OO语言中的事件驱动编程风格不支持通过组合或转换其他事件来定义单独的和更具声明性的事件。AO语言的机制,用于定义事件的声明性查询隐式可用的低级别事件似乎很好的候选人来解决这些问题。然而,被设计为模块化大多是全球范围内,横切关注,AO机制故意打破面向对象的设计和模块化推理风格,因此不适合解决模块化的关注,基于事件的交互在面向对象的设计。 本文的贡献是一种语言设计,结合了强制触发事件与AO的机制,专门设计用于解决模块化问题,事件驱动的面向对象的设计。特别是,它们与OO风格的封装、后期绑定和模块化推理无缝集成。我们提出了一个有效的和类型安全的实现所提出的设计作为Scala的扩展。
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.