Design Patterns in Eos
By: Hridesh Rajan
Download PaperAbstract
In earlier work, we showed that the AspectJ notions of aspect and class can be unified in a new module construct that we called the classpect, and that this new model is simpler and able to accommodate a broader set of requirements for modular solutions to complex integration problems. We embodied our unified model in the Eos language design. The main contribution of this paper is a case study, which considers the implementation of the Gang-of-Four (GOF) design patterns in Eos to analyze the effect of new programming language constructs on these implementations. We also compare these implementations with the AspectJ’s implementation. Our result shows that the Eos implementation showed improvement in 7 out of 23 design patterns, and are no worse in case of other 16 patterns. These improvements were mainly manifested in being able to realize the intent of the design patterns more clearly. The design structures realized in the Eos implementation provide supporting evidence for the potential benefits of the unified model.
Other Info
See a revised version of this paper: TR15-07
ACM Reference
Rajan, H. 2007. Design Pattern Implementations in Eos. Technical Report #314. Iowa State University, Dept. of Computer Science.
BibTeX Reference
@techreport{rajan2007design-a,
author = {Rajan, Hridesh},
title = {Design Pattern Implementations in Eos},
year = {2007},
institution = {Iowa State University, Dept. of Computer Science},
number = {314},
abstract = {
In earlier work, we showed that the AspectJ notions of aspect and class can be
unified in a new module construct that we called the classpect, and that this
new model is simpler and able to accommodate a broader set of requirements for
modular solutions to complex integration problems. We embodied our unified
model in the Eos language design. The main contribution of this paper is a
case study, which considers the implementation of the Gang-of-Four (GOF)
design patterns in Eos to analyze the effect of new programming language
constructs on these implementations. We also compare these implementations
with the AspectJ's implementation. Our result shows that the Eos
implementation showed improvement in 7 out of 23 design patterns, and are no
worse in case of other 16 patterns. These improvements were mainly manifested
in being able to realize the intent of the design patterns more clearly. The
design structures realized in the Eos implementation provide supporting
evidence for the potential benefits of the unified model.
}
}