Browsing by Author "Viggers, Kevin"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Open Access Communication History Patterns: Direct Implementations of Protocol Specifications(2004-02-12) Walker, Robert J.; Viggers, KevinThe interactions between separated crosscutting concerns and the base modularityof a system must be specified. These specifications include descriptions of the join points in the base code where behavior is to be added or replaced. At present, the means available for describing join points generally treat each join point in isolation, rather than allowing multiple join points to be related to each other. When the interactions to be specified consist of complex, stateful communication protocols, the protocols must be hand-compiled into a description of isolated join points. As a result, errors can be introduced into the implementation of the protocols, and the intent of each protocol can become obscured.This paper describes the use of communication history patterns to interrelate multiple join points when implementing complex interaction protocols. A practical language for communication history patterns is described, involving the addition of constructs and preprocessing to AspectJ. A case study is discussed that compares the use of this extended language to both a Java implementation and an unextended AspectJ implementation.
Item Open Access An Implementation of Declarative Event Patterns(2004-12-20) Viggers, Kevin; Walker, Robion to be expressed as context-free patterns of events, and for the occurrences of these patterns to alter the course of the program s execution. As a companion to a conference paper introducing DEPs, this technical report covers an initial realization of our declarative event pattern language that leverages the power and applicability of aspect-oriented programming (AOP). We have added to AspectJ (a popular Java implementation of AOP) two straight forward language constructs to support the recognition of patterns of events. Our proof-of-concept implementation takes programs implemented in AspectJ augmented with our DEP constructs and translates them into programs implemented in standard AspectJ, equipped to recognize and respond to patterns of events as they occur in the execution of the system.