Reengenharia do Projeto do Servidor Web JAWS utilizando Programação Orientada a Aspectos

  • Uirá Kulesza USP
  • Dilma Menezes da Silva USP

Resumo


Programação orientada a aspectos foi proposta originalmente como uma técnica de programação que busca facilitar a separação de código relativo a requisitos funcionais do referente a requisitos não-funcionais. Este artigo descreve a reengenharia do projeto do servidor Web adaptativo JAWS usando programação orientada a aspectos. Os objetivos do estudo foram analisar e avaliar a aplicabilidade desta abordagem no projeto de sistemas com requisitos de adaptação estática e dinâmica. O estudo demonstrou que a aplicação dos preceitos de programação orientada a aspectos em um sistema com características de semelhantes ao JAWS pode levar a várias vantagens: separação de interesses e na reutilização, na evolução estática e na configuração dinâmica do sistema.

Palavras-chave: programação orientada a aspectos, projeto orientado a objetos, sistemas adaptáveis

Referências

D. Coleman, D. Ahs, B. Lowther, P. Oman. "Using Metrics to Evaluate Software System Maintainability", IEEE Computer 24, vol. 27, no. 8, pp. 44-49, August-1994.

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.
Publicado
04/10/2000
KULESZA, Uirá; SILVA, Dilma Menezes da. Reengenharia do Projeto do Servidor Web JAWS utilizando Programação Orientada a Aspectos. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 14. , 2000, João Pessoa/PB. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2000 . p. 53-68. DOI: https://doi.org/10.5753/sbes.2000.25920.