Abstract
Design patterns are utilized in software development to decouple individual concerns, so that a change in a design decision is isolated to one location of the code base. However, multidimensional concerns exist in software development and therefore no single design pattern offers a panacea toward addressing problems of change evolution. By analyzing the matrix of concerns during the software development process and utilizing transferable aspect-orientation and object-orientation, a pattern transformation based two-dimensional separation of concerns is described, which integrates the benefits derived from the Inheritance pattern and several GoF patterns. An example implementation is shown using Java and AspectJ.
- P. Tarr, H. Ossher, W. Harrison, and S. Sutton. N Degrees of Separation: Multi-Dimensional Separation of Concerns. In Proc. Int. Conf. Software Engineering (ICSE), 1999, pp. 107--119. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-Oriented Programming. In Proc. 11th European Conf. Object-Oriented Programming (ECOOP), Springer-Verlag, LNCS 1241, 1997, pp. 220--242.Google Scholar
- J. Hannemann and G. Kiczales. Design Pattern Implementation in Java and AspectJ. In Proc. Object-Oriented Programming, Systems, and Applications (OOPSLA), 2002, pp. 161--173. Google ScholarDigital Library
- O. Hachani and D. Bardou. Using Aspect-Oriented Programming for Design Patterns Implementation. In Proc. Workshop Reuse in Object-Oriented Information Systems Design, 2002. Google ScholarDigital Library
- R. Weatherley. TreeCC: An Aspect-Oriented Approach to Writing Compilers. http://www.southern-storm.com.au/treecc.html.Google Scholar
- E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarDigital Library
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In Proc. 15th European Conf. on Object-Oriented Programming (ECOOP), Springer-Verlag, LNCS 2072, 2001, pp. 327--355. Google ScholarDigital Library
- I. Baxter, C. Pidgeon, and M. Mehlich. DMS: Program Transformation for Practical Scalable Software Evolution. In Proc. Int. Conf. Software Engineering (ICSE), 2004, pp. 625--634. Google ScholarDigital Library
- X. Wu, S. Roychoudhury, B. Bryant, J. Gray, and M. Mernik. A Two-Dimensional Separation of Concerns for Compiler Construction. In Proc. ACM Symposium on Applied Computing (SAC), 2005, pp.1365--1369. Google ScholarDigital Library
- D. Janzen and K. D. Volder. Programming With Crosscutting Effective Views. In Proc. 18th European Conf. on Object-Oriented Programming (ECOOP), 2004, pp. 195--218.Google ScholarCross Ref
- HyperJ website: http://www.alphaworks.ibm.com/tech/hyperjGoogle Scholar
Index Terms
- Pattern transformation for two-dimensional separation of concerns
Recommendations
Pattern transformation for two-dimensional separation of concerns
MACS '05: Proceedings of the 2005 workshop on Modeling and analysis of concerns in softwareDesign patterns are utilized in software development to decouple individual concerns, so that a change in a design decision is isolated to one location of the code base. However, multidimensional concerns exist in software development and therefore no ...
Pattern transformation for two-dimensional separation of concerns
OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsDesign patterns are applied in software development to decouple individual concerns, so that a change in a design decision is isolated to one location of the code base. However, multi-dimensional concerns exist in software development and some concerns ...
An Approach for Multi-Dimensional Separation Concerns at Architecture Level
PEITS '08: Proceedings of the 2008 Workshop on Power Electronics and Intelligent Transportation SystemTraditional architecture design approaches suffer from the crosscutting features and behaviors, which scattered and tangled in the components and connectors, result in the final architecture solutions uneasy to evolve and reuse. In this paper, we ...
Comments