Um Framework Reflexivo para Ferramentas de Visualização de Software

  • Marcelo R. Campo UFRGS / ISISTAN
  • Roberto Tom Price UFRGS

Resumo


This paper presents Luthier, a Smalltalk-80 framework, designed to support the construction of visual tools for dynamic program analysis. Luthier integrates computational reflection techniques based on meta-objets with hypertext and direct-manipulation user interfaces techniques, especially designed to build dynamically adaptable visualization tools through composition of basic behaviours. The framework introduces two main contributions: a meta-object protocol based on the concept of meta-objet managers - which allow the construction of specialized mechanisms for meta-object association and activation - and the explicit support for abstraction scales for the dynamic (and continuos) reconfiguration of visualizations allowing different levels of abstraction. Through the combination of these mechanisms it is possible to build highly-complex structures independently of the implementation of specific visualizations. This allows a greater level of reusability of visualizations, which it is often the most limiting aspect of software visualization systems.

Palavras-chave: object-oriented frameworks, software visualization, computational reflection, meta-object managers, software reuse

Referências

A. Amandi, A. Price, Agent-Oriented Programming based on Objects and Logic, submitted to Agent Theories, Architectures and Languages Workshop, Budapest, August 1996.

G. Arango, Domain Analysis Methods, In: Software Reusability, W. Schäfer, R. Prieto-Diaz, M. Matsumoto Eds., Ellis Horwood, England, 1994. pp. 17-47.

A Balista, R.T. Price, Um Ambiente para Sonorização não Intrusiva de Aplicações Orientadas a Objetos, UFRGS, II, CPGCC, submetido ao X SBES, também disponível em ftp:caracol.inf.ufrgs.br/pub/amadeus.

M. Brown, R. Sedgewick. A system for Algorithm Animation. ACM Computer Graphics, Vol. 07. Nro. 94, pp 177-186

Bruegge B.; Gottschalk T.; B.A Framework for Dynamic Program Analyzers, Proceedings OOPSLA'93, Washington, D.C.., October 1993.

M. Campo, R.T. Price, "Meta-Objetet Support for Framework Understanding Tools, ECOOP'95 Workshop on Adavances on Reflection and Meta-Object Protocol, Aarus, Demmark August" 1995. Também disponível por ftp:caracol.inf.ufrgs.br:/pub/amadeus

M. Campo, R.T. Price, O Uso de Técnicas Navigacionais e Reflexivas como Apoio na Compreensão de Frameworks Orientados a Objetos, IX Simpósio Brasileiro de Engenharia de Software, Recife, Brasil, Outubro

M. Campo, R.T. Price, A Framework for Customizable Meta-Object Support for Smalltalk-80, Anais do I Simposio Brasileiro de Linguagens de Programação. Também disponível por ftp:caracol.inf.ufrgs.br:/pub/amadeus

M. Campo, R.T. Price, A visual Reflective Tool for Framework Understanding, In: Technology of Object-Oriented Languages and Systems 19, Prentice-Hall, UK, February 1996.

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

P. Deutsch, Design Reuse and Frameworks in the Smalltalk-80 System, In: Software Reusability Vol. II. ACM Press, 1989.

E. Gamma, et al, Design Patterns: Micro-Architectures for Reusable Object-Oriented Design, Addison-Wesley, 1994.

Helm R., et. RL Contracis: ipecifring Behavioral Compositions in Object Oriented Systems, Procs. OOPSLA'90, Otawa, Canada, October 1990.

R. Johnson and B. Foote, Reflective Facilities in Smalltalk-80. OOPSLA '89 Proceedings. ACM SIGPLAN Notices Vol. 24, Nr 10, October 1989. pp. 327-335.

R. Johnson, How to Design Frameworks, Notes of OOPSLA 93 tutorial, Washington DC, october 1993.

Lange, D.; Nakamura Y.; Interactive Visualization of Design Patterns Can Help in Framework Understanding, Procs. of OOPSLA'95 Conference, Austin,Texas, August 1995

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

A. Ortigosa, Proposta de um Modelo para Ambientes de Desenvolvimento de Software Centrados no Processo, Dissertação de Mestrado, UFRGS, Instituto de Informática, CPGCC, Porto Alegre, Brasil, 1995.

ParcPlace In International, VisualWorks 2.0 Reference Manual, 1995.

Roman, G.; Cox, K. Program Visualization: The Art of Mappin Programs to Pictures. In: Proceedings Conference on Software Engeneering, 14, 1993, Melbourne, Australia., 1993. p. 412-420.

J. Rumbaugh, 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, Technical Report GIT-GVU-94-33, July 1994.

Wirfs-Brooks R- Johnson R., Surveying Current Research in Object Design, Communications of the ACM, September 1990, Vol 33, Nº 9.
Publicado
14/10/1996
CAMPO, Marcelo R.; PRICE, Roberto Tom. Um Framework Reflexivo para Ferramentas de Visualização de Software. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 10. , 1996, São Carlos/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1996 . p. 153-169. DOI: https://doi.org/10.5753/sbes.1996.24443.