Reengenharia do Projeto do Servidor Web JAWS utilizando Programação Orientada a Aspectos
Abstract
Aspect-Oriented Programming (AOP) has been proposed to facilitate the separation of code related to functional and non-functional system requirements. This paper describes the reengineering of the JAWS Web server design using AOP. The goals of this study were the analysis and assessment of applying AOP in the design of systems with static and dynamic adaptation requirements. The study demonstrated that the use of aspect-oriented programming can bring about several benefits in the design of adaptable systems, such as: separation of concerns, facility in reutilization, static evolution, and dynamic configuration.
References
R Grady. "Succesfully Applying Software Metrics", IEEE Computer, vol. 27, no.9, pp. 18-25, September-1994.
C. Guezziy. M. Jazayeri, D. Mandrioli. Fundamentals of Software Engineering, Prentice Hall, 1991.
K. Lieberherr, C. Lopes. "Adaptable and Adaptive Software Workshop Report", OOPSLA'95.
B. Tekinorgan, M. Askit. "Adaptability in Object-Oriented Software Development", ECOOP'96 Workshop Report.
M. Fayad, M. Cline. "Aspects of Software Adaptability", Communications of the ACM, Vol. 39, No. 10, pp.58-59, October-1996.
S. Henry, M. Humphrey. "Object-Oriented versus Procedural Programming Languages: Effectiveness in Program Maintenance", JOOP, vol. 6. no. 3. pp. 41-49. June 1993.
N. Wilde, P. Matthews, R. Huit, "Maintaining Object-Oriented Software", IEEE Software, Vol. 10, No. 1, pp. 75-80, January-1993.
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, J. Irwin. "Aspect-Oriented Programming". In Proceedings of the ECOOP'97, Finland. June-1997.
M. Mezini, K. Lieberherr. "Adaptive Plug-and-Play Components for Evolutionary Software Development", in Proceedings of ACM OOPSLA'98, October-1998.
R. Schach. Classical and Object-Oriented Software Engineering With UML and Java, McGrawHill, 1999.
E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Publishing, 1995.
F. Busschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. A System of Patterns: Pattern-Oriented Software Architecture, John Wiley & Sons, 1996.
Homepage of Subject-Oriented Programming Project. IBM J. T. Watson Research Center, Yorktown Heights, New York, [http://www.research.ibm.com/sop], July 2000.
K. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, PWS Publishing Company, 1996.
G. Murphy, R. Walker, E. Baniassad. "Evaluating Emerging Software Development Technologies: Lessons Learned from Assessing Aspect-Oriented Programming", IEEE Transactions on Software Engineering, Vol. 25, No. 4, pp. 438-455, July/August-1999.
R. Walker, E. Baniassad, G. Murphy. "An Initial Assessment of Aspect-Oriented Programming", in Proceedings of the ICSE '99, Los Angeles, May 1999.
M. Kersten, G. Murphy. "Atlas: A Case Study in Building a Web-based Learning Environment using Aspect-Oriented Programming", in Proceedings of ACM OOPSLA'99, Denver, Nov-1999.
M. Lippert, C. Lopes. "A Study on Exception Detection and Handling Using Aspect-Oriented Programming". in Proceedings of the ICSE 2000, Limerick, Ireland, June 2000.
E. Quadros, C. Rubira. "Construção de um Framework para Sistemas Controladores de Trens utilizando Padrões de Projeto e Metapadrões ", Anais do XI SBES. Fortaleza, Out-1997.
D. Schmidt, "Using Design Patterns to Develop Reusable Object-Oriented Communication Software", Communications of the ACM, Vol. 38, No. 10, pp. 65-74, October-1995.
N. Islam "Customizing System Software Using OO Frameworks", IEEE Computer, Vol. 30, No.2, February-1997.
J. Kramer, J. Magee. "Dynamic Configuration for Distributed Systems", IEEE Transactions on Software Engineering, Vol. 11, No. 4, April-1985.
J. Hu, D. Schmidt. "JAWS: A Framework for High-performance Web Servers" in Domain-Specific Application Frameworks: Frameworks Experience by Industry, John-Wiley, 1999.
P. Tar, H. Ossher, W. Harrison, S. Sutton. "N Degrees of Separation: Multi-Dimensional Separation of Concerns", in Proceedings of the ICSE '99, Los Angeles, May 1999.
AspectJ™ [http://www.aspectj.org/], July 2000
D. Schmidt, T. Suda. "An Object-Oriented Framework for Dynamically Configuring Extensible Distributed Communication Systems", IEEE/BCS Distributed Systems Engineering Journal, vol. 2., Dec.94.
D. Schmidt. "Applying Design Pantterns and Frameworks to Develop Object-Oriented Communication Software", in Handbook of Programming Languages (P. Salus, ed.), MacMillan Computer Publishing, 1997.
G. Booch, J. Rumbaugh, I. Jacobson. Unified Modeling Language — User Guide, Addison-Wesley, 1999.
C. Lopes. "D: A Language Framework for Distributed Programming". Ph.D. thesis, Northeastern University, Nov-1997.
G. Kiczales, C. Lopes. Aspect-Oriented Programming with AspectJ, Tutorial at OOPSLA'99, Nov. 1999.
D. Schmidt. "Acceptor and Connector: Design Patterns for Initializing Communication Services", in Pattern Languages of Program Design (editors: R. Martin, F. Buschmann), Addison-Wesley, 1997.
U. Kulesza, D. Silva. "Reengenharia do Projeto de Sistemas Adaptáveis usando Técnicas de Orientação a Objetos", Relatório Técnico, DCC/IME/USP, Agosto-2000.
