O Uso de Técnicas Visuais e Navegacionais para a Compreensão de Frameworks Orientados a Objetos

  • Marcelo Campo UNICEN
  • R. T. Price UFRGS

Resumo


Os frameworks orientados a objetos representam uma tecnologia de reutilização poderosa para construir, por especialização, aplicações dentro de um dominio. Entretanto, compreender as classes de um framework para especializá-las é uma tarefa que requer esforço e tempo consideráveis. Por isto, é muito importante dispor de ferramentas que permitam analisar aplicações construidas utilizando um framework através da visualização da estrutura estática e dinâmica das classes. Neste trabalho se descreve uma ferramenta que combina tecnologias visuais e navegacionais para ajudar na compreensão do funcionamento de um framework, através da análise dinâmica de aplicações construidas a partir dele. A análise dinâmica é realizada utilizando técnicas de reflexão computacional, as quais permitem monitorar transparentemente o comportamento da aplicação. A representação visual permite identificar rapidamente componentes abstratos e as hierarquias de classes que eles definem. O usuário pode interagir com a representação visual do framework, animar manualmente ou automaticamente as sequências de passagem de mensagens e acessar o código dos métodos. A ferramenta tem demonstrado a sua eficácia para diminuir em muito o tempo necessário para compreender o funcionamento tanto de frameworks como de bibliotecas de classes existentes.

Referências

Booch G. Object-Oriented Design with Aplications, The Benjamin/Cummings Publishing Co, Reading, Mass, 1991.

Bocker, H.; Herczeg, J. What tracers are made of, Proceedings of the ECOOP/OOPSLA'90 Conference, Ottawa, Canada, October 1990.

Buhr R.; Casselman R. Architectures with Pictures, Proceedings OOPSLA 92, Vancouver, Canadá, 1992

Campo, M.; Price, RT. Meta-Object Support for Framework Understanding Tools, submitted to the ECOOP'9S Workshop on Reflection and Meta-Object Protocol, May 1995

Chiba, S; Masuda, T. Designing an Extensible Distributed Language with a Meia-Level Architecture. Proceedings of the ECOOP'93 Conference, July 1993.

De Paw, W.; Helm, R.; Kimelman, D.; Vlissides. J. Visualizing the Behavior of Object-Oricated Programs, Procs. OOPSLA'93, Washington, D.C. October 1993,

Deutsch P. Frameworks and reuse in the Smallialk-80 system, In: Software Reusability Vol II: Systems and Applications, ACM Press, 1989.

Foote, B. Architectural Balkanization in the Post-Linguistic Era, OOPSLA '93 Workshop on Object-Oriented Reflection and Meta-level Architectures. Washington, D.C., October 1993.

Gamma, E; Helm, R. Johnson, R.; Vlissides, J. Design Patterns: Micro-Architectures for Reusable Object-Oriented Design, Addison-Wesley, 1994.

Hirikawa, M.; Tanaka, M.; Ichikawa, T. An Iconic Programming System, HI-VISUAL, IEEE. Transactions on Software Engineering 16(10), October 1990.

Jacobson, I.; Christeron, M.; Overgaard, G. Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, ACM Press, 1992.

Johnson, R.; Foote, B. Designing Reusable Classes, Journal of Object Oriented Progamming. June/July 1988

Johnson, R;Russo, V. Reusing Object Oriented Designs, Univ. Illinois Tech Rep. UTUCDCS91-1696, 1991 A

Johnson, R. Documenting Frameworks Using Pattems, Procs. OOPSLA'92, Vancouver. Canada, 1992.

Lafira, C. Advanced Techniques for Understanding, Profiling and Debugging OO Systems. Workshop Report, OOPSLA'93. Washington DC, October 1993

Lajoie, R., Keller, R Design and Reuse in Object-Oriented Frameworks: Patterns, Contracts, and Motfs in Concert, Procs. of the 62nd Congress of the Association Canadienne Française pour I Avancement des Sciences, Montreal, Canada, May 1994

Maes P.; Concepts and Experiments in Computational Reflection, OOPSLA '87 Proceedings ACM SIGPLAN Notices Vol. 22, Nr 12, December 1987.

de Mey V. VISTA implementation, ITHACA Report, ITHACA CUI92EM4, Centre Universitaire d'Informatique, University of Geneva, December 1992

Pree, W. Meta-Patterns: Abstracting the Essentials of Object-Oriented Frameowrks, In: Object-Oriented Programming, Springer-Verlag. 1994. Proceedings of ECOOP 94

Rumbaugh, J. et al. Object Oriented Modeling and Design, Prentice-Hall, 1991

Stasko J.; Jerding, F. Using Visualization to Foster Object-Oriented Program Understanding. Georgia Institute of Technology. Tech Rep GIT-GVU-94-33, 1994

Gutfreund, S. Manipllcons in ThinkerToy, in Visual Programming Environments: Applciations and Issues, IEEE Computer Society Press, Los Alamitos, CA, 1990.

Wirfs-Brooks R.; Johnson R. Surveying Current Research in Object Design, Communications of the ACM, September 1990, Vol 33, Nº 9.
Publicado
03/10/1995
CAMPO, Marcelo; PRICE, R. T.. O Uso de Técnicas Visuais e Navegacionais para a Compreensão de Frameworks Orientados a Objetos. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 9. , 1995, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1995 . p. 175-190. DOI: https://doi.org/10.5753/sbes.1995.24083.