Design Pattern Implementations 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 \citegamma95a 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.
ACM Reference
Rajan, H. 2007. Design Pattern Implementations in Eos. PLoP ’07, Conference on Pattern Languages of Programs (Sep. 2007).
BibTeX Reference
@inproceedings{rajan2007design-b,
author = {Hridesh Rajan},
title = {Design Pattern Implementations in Eos},
booktitle = {PLoP '07, Conference on Pattern Languages of Programs},
location = {Monticello, IL},
month = {September},
year = {2007},
entrysubtype = {conference},
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~\cite{gamma95a} 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.
}
}