Implementing fault-tolerant services using the state machine approach: a tutorial
ACM Computing Surveys (CSUR)
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Engineering Event-Based Systems with Scopes
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
STEAM: Event-Based Middleware for Wireless Ad Hoc Network
ICDCSW '02 Proceedings of the 22nd International Conference on Distributed Computing Systems
Filtering and Scalability in the ECO Distributed Event Model
PDSE '00 Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems
Composition, reuse and interaction analysis of stateful aspects
Proceedings of the 3rd international conference on Aspect-oriented software development
Modern concurrency abstractions for C#
ACM Transactions on Programming Languages and Systems (TOPLAS)
Location-based Publish/Subscribe
NCA '05 Proceedings of the Fourth IEEE International Symposium on Network Computing and Applications
Explicitly distributed AOP using AWED
Proceedings of the 5th international conference on Aspect-oriented software development
Type-based publish/subscribe: Concepts and experiences
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specialization of CML message-passing primitives
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Streamflex: high-throughput stream programming in java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Ptolemy: A Language with Quantified, Typed Events
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Join patterns for visual basic
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Improving the development of context-dependent Java applications with ContextJ
International Workshop on Context-Oriented Programming
A comparison of context-oriented programming languages
International Workshop on Context-Oriented Programming
Context-oriented programming with EventJava
International Workshop on Context-Oriented Programming
EventJava: An Extension of Java for Event Correlation
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
SCHOOL: a Small Chorded Object-Oriented Language
Electronic Notes in Theoretical Computer Science (ENTCS)
High-level programming of embedded hard real-time devices
Proceedings of the 5th European conference on Computer systems
Context-aware publish subscribe in mobile ad hoc networks
COORDINATION'07 Proceedings of the 9th international conference on Coordination models and languages
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
Implementing joins using extensible pattern matching
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
Actors with multi-headed message receive patterns
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
Ambient-Oriented programming in ambienttalk
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
A universal calculus for stream processing languages
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
COORDINATION'10 Proceedings of the 12th international conference on Coordination Models and Languages
Program analysis for event-based distributed systems
Proceedings of the 5th ACM international conference on Distributed event-based system
Proceedings of the 3rd International Workshop on Context-Oriented Programming
Compositional verification of events and aspects
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion
Supporting methods and events by an integrated abstraction
Proceedings of the 9th ECOOP Workshop on Reflection, AOP, and Meta-Data for Software Evolution
Messages with implicit destinations as mobile agents
Proceedings of the 2nd edition on Programming systems, languages and applications based on actors, agents, and decentralized control abstractions
Abstracting context in event-based software
Transactions on Aspect-Oriented Software Development IX
Aggregation for implicit invocations
Proceedings of the 12th annual international conference on Aspect-oriented software development
Hi-index | 0.00 |
Event-based programming is an appealing paradigm for developing pervasive systems since events enable the decoupling of interacting components. Unfortunately, many event-based languages and systems have hardwired notions of physical or logical time and space. This limits their adaptability and target deployment environments, as pervasive systems rely on inherent interaction and interchanging of different protocols and infrastructures. This paper introduces domain-specific aspects for capturing event context, generalizing beyond the classic time and space dimensions associated with events. Through examples, we demonstrate that our context aspects - conspects for short - modularize the design and implementation of event contexts, enabling code reuse, and making programs portable across infrastructures. We illustrate the benefits of conspects by using them to transparently switch protocols in two pervasive software suites implemented in EventJava: (1) a tornado monitoring system deployed on different architectures ranging from desktop x86 to embedded LEON3, and (2) a mobile social networking suite with protocols for different application scenarios.