Event-driven programming with EScala

Lucas Satabin, M. Mezini
{"title":"Event-driven programming with EScala","authors":"Lucas Satabin, M. Mezini","doi":"10.1145/1960314.1960336","DOIUrl":null,"url":null,"abstract":"EScala is an extension of Scala with support for declarative event-driven programming. It provides mechanisms for declarative definition of events and employs aspect-oriented techniques for exposing implicitly existing events, which reduces the need for explicit triggering of events. EScala provides a conservative integration of declarative events into an object-oriented language. Events are declared as attributes of objects and are subject to inheritance and subtype polymorphism. The language fully preserves encapsulation of objects and modular compilation of classes. Designs based on declarative events are as efficient as conventional event-driven designs.\n Attendees of the demonstration will see a live example that illustrates the expressiveness gained by the features of EScala. We will show how events can be defined in a declarative way and how to use such events for defining interactions among objects. We will demonstrate how declarative events can be used to replace observers and so result in more concise and modular design. Finally, we will show how to use the events library with a standard Scala compiler.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Aspect-Oriented Software Development","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1960314.1960336","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

EScala is an extension of Scala with support for declarative event-driven programming. It provides mechanisms for declarative definition of events and employs aspect-oriented techniques for exposing implicitly existing events, which reduces the need for explicit triggering of events. EScala provides a conservative integration of declarative events into an object-oriented language. Events are declared as attributes of objects and are subject to inheritance and subtype polymorphism. The language fully preserves encapsulation of objects and modular compilation of classes. Designs based on declarative events are as efficient as conventional event-driven designs. Attendees of the demonstration will see a live example that illustrates the expressiveness gained by the features of EScala. We will show how events can be defined in a declarative way and how to use such events for defining interactions among objects. We will demonstrate how declarative events can be used to replace observers and so result in more concise and modular design. Finally, we will show how to use the events library with a standard Scala compiler.
使用EScala进行事件驱动编程
EScala是Scala的扩展,支持声明式事件驱动编程。它为事件的声明性定义提供了机制,并采用面向方面的技术来隐式地公开现有事件,从而减少了显式触发事件的需要。EScala将声明性事件保守地集成到面向对象的语言中。事件被声明为对象的属性,并受继承和子类型多态性的约束。该语言完全保留了对象的封装和类的模块化编译。基于声明性事件的设计与传统的事件驱动设计一样高效。参加演示的人将看到一个演示EScala功能所获得的表现力的实例。我们将展示如何以声明的方式定义事件,以及如何使用这些事件来定义对象之间的交互。我们将演示如何使用声明性事件来替换观察者,从而实现更简洁和模块化的设计。最后,我们将展示如何将事件库与标准Scala编译器一起使用。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信