Design Patterns in Eos

By: Hridesh Rajan

PDF Download Download Paper

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.

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.
   }
 }