Abstract
Each object in an object-oriented program can correspond to one abstraction in the program’s design. This correspondence makes visualising object-oriented programs easy: simply render each object in terms of its corresponding abstraction. Unfortunately, the endemic aliasing within object-oriented programs undermines this scheme, as an object’s state can depend on the transitive state of many other objects, which may be unknown to the visualisation system. By analysing programs to determine the extent of aliasing, we can construct visualisations to display aliasing directly, and can provide support for more abstract visualisations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Paulo Sérgio Almeida. Baloon Types: Controlling sharing of state in data types. In ECOOP Proceedings, June 1997.
S. Alstrup and P. Lauridsen. A simple dynamic algorithm for maintaining a dominator tree. Technical report, Dept. of Comp. Sci., Univ. of Copenhagen, 1996.
G. Di Battista, P. Eades, R. Tamassia, and I. Tollis. Graph drawing, 1999.
Kent Beck. Pictures from the object explorer. Technical report, First Class Software, Inc., 1994.
Boris Bokowski and Jan Vitek. Confined types. In OOPSLA Proceedings, 1999.
Alan Borning and Robert Duisberg. Constraint based tools for building user interfaces. ACM Transactions on Graphics, 5(4), October 1986.
Marc H. Brown. Algorithm Animation. ACM Distinguished Dissertation. MIT Press, 1988.
Marc H. Brown, Marc A. Najork, and Roope Raisamo. A Java-based implementation of collaborative active textbooks. In IEEE Symposium on Visual Languages, pages 372–379, 1997.
Paul Carlson and Margaret M. Burnett. Integrating algorithm animation into a declarative visual programming language. In IEEE Symposium on Visual Languages, 1995.
David Clarke, John Potter, and James Noble. Ownership types for flexible alias protection. In OOPSLA Proceedings, 1998.
Kenneth C. Cox and Gruia-Catalin Roman. A characterization of the computational power of rule-based visualization. Journal of Visual Languages and Computing, 5(1), March 1994.
P. Crescenzi, C. Demetrescu, I. Finocchi, and R. Petreschi. Reversible execution and visualization of programs with Leonardo. Journal of Visual Languages and Computing, 11(2):125–150, April 2000.
Christian Grotho., Jens Palsberg, and Jan Vitek. Encapsulating objects with confined types. In OOPSLA Proceedings, 2001.
J. Haajanen, M. Pesonius, E. Sutinen, J. Tarhio, T. Teräsvirta, and P. Vanninen. Animation of user algorithms on the web. In IEEE Symposium on Visual Languages, pages 360–367, 1997.
Trent Hill, James Noble, and John Potter. Scalable visualisations with ownership trees. In Proceedings of TOOLS Pacific 2000, Sydney, 2000. IEEE CS Press.
Trent Hill, James Noble, and John Potter. Visualising the structure of objectoriented systems. In Proceedings of the IEEE Symposium on Visual Languages, pages 191–198, Seattle, 2000. IEEE CS Press.
Trent Hill, James Noble, and John Potter. Scalable visualisations of object-oriented systems. Journal of Visual Languages and Computing, 2002. To appear.
John Hogg. Islands: Aliasing protection in object-oriented languages. In OOPSLA Proceedings, November 1991.
John Hogg, Doug Lea, Alan Wills, Dennis deChampeaux, and Richard Holt. The Geneva convention on the treatment of object aliasing. OOPS Messenger, 3(2), April 1992.
Danny B. Lange and Yuichi Nakamura. Interactive visualization of design patterns can help in framework understanding. In OOPSLA Proceedings, October 1995.
Danny B. Lange and Yuichi Nakamura. Object-oriented program tracing and visualization. IEEE Computer, 30(5), May 1997.
Ole Lehrmann Madsen, Birger Møller-Pedersen, and Kristen Nygaard. Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, 1993.
Barbara Liskov and John V. Guttag. Abstraction and Specification in Program Development. MIT Press/McGraw-Hill, 1986.
John H. Maloney, Alan Borning, and Bjorn N. Freeman-Benson. Constraint technology for user-interface construction in ThingLab II. In OOPSLA Proceedings, 1989.
Satoshi Matsuoka, Shin Takahashi, Tomihisa Kamada, and Akinori Yonezawa. A general framework for bi-directional translation between abstract and pictorial data. ACM Transactions on Information Systems, 10(4), October 1992.
Steven S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufman, 1997.
Brad A. Myers. Incense: A system for displaying data structures. In SIGGRAPH Proceedings, 1983.
Brad A. Myers, Rich McDaniel, Rob Miller, Brad Vander Zanden, Dario Guise, David Kosbie, and Andrew Mickish. The prototype-instance object systems in Amulet and Garnet. In James Noble, Antero Taivalsaari, and Ivan Moore, editors, Prototype-Based Programming: Concepts, Languages and Applications, chapter 7. Springer-Verlag, 1999.
James Noble. Prototype-based programming for abstract program visualisation. In James Noble, Antero Taivalsaari, and Ivan Moore, editors, Prototype-Based Programming: Conecepts, Languages, Applications. Springer-Verlag, 1997.
James Noble and John Potter. Change detection for aggregate objects with aliasing. In Australian Software Engineering Conference (ASWEC), 1997.
James Noble, Jan Vitek, and John Potter. Flexible alias protection. In ECOOP Proceedings, 1998.
R. James Noble. Abstract Program Visualisation: Object Orientation in the Tarraing ím Program Exploratorium. PhD thesis, Victoria University of Wellington, December 1996.
R. James Noble and Lindsay J. Groves. Tarraingím — a program animation environment. New Zealand Journal of Computing, 4(1), December 1992.
R. James Noble, Lindsay J. Groves, and Robert L. Biddle. Object oriented program visualisation in Tarraingím. Australian Computer Journal, 27(4), November 1995.
Stephen North. Visualizing graph models of software. In John T. Stasko, John B. Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualisation. M.I.T. Press, 1998.
W. De Pauw, D. Lorenz, J. Vlissides, and M. Wegman. Execution patterns in object-oriented visualization. In COOTS Proceedings, 1998.
W. De Pauw and G. Sevitsky. Visualizing reference patterns for solving memory leaks in java. In OOPSLA Proceedings, 1999.
Wim De Pauw, Richard Helm, Doug Kimelman, and John Vlissides. Visualizing the behavior of object-oriented systems. In OOPSLA Proceedings, October 1993.
Wim De Pauw, Erik Jensen, Nick Mitchell, Gary Sevitsky, John Vlissides, and Jeaha Yang. Visualizing the Execution of Java Programs. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
John Potter, James Noble, and David Clarke. The ins and outs of objects. In Australian Software Engineering Conference (ASWEC), 1998.
Mohlalefi Sefika, Aamod Sane, and Roy H. Campbell. Architecture-oriented visualization. In OOPSLA Proceedings, 1996.
Randall B. Smith, John Maloney, and David Ungar. The Self-4.0 user interface: Manifesting a system-wide vision of concreteness, uniformity, and flexibility. In OOPSLA Proceedings, 1995.
John T. Stasko. The path-transition paradigm: a practical methodology for adding animation to program interfaces. Journal of Visual Languages and Computing, 1(3), September 1990.
John T. Stasko and Charles Patterson. Understanding and characterising software visualisation systems. In IEEE Workshop on Visual Languages, 1992.
Kozo Sugiyama, Shojiro Tagawa, and Mitsuhiko Toda. Methods for visual understanding of hierarchical system structures. IEEE Trans. Systems, Man and Cybernetics, 11(2):109–125, 1981.
David Ungar and Randall B. Smith. SELF: the Power of Simplicity. Lisp And Symbolic Computation, 4(3), June 1991.
R. Walker, G. Murphy, B. Freeman-Benson, D. Wright, D. Swanson, and J. Isaak. Visualizing dynamic software system information through high-level models. In OOPSLA Proceedings, 1998.
Alan Cameron Wills. Formal Methods applied to Object-Oriented Programming. PhD thesis, University of Manchester, 1992.
A. Zeller and D. Lütkehaus. DDD—a free graphical front-end for UNIX debuggers. ACM SIGPLAN Notices, 31(1), 1996.
Thomas Zimmermann and Andreas Zeller. Visualizing Memory Graphs. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Noble, J. (2002). Visualising Objects: Abstraction, Encapsulation, Aliasing, and Ownership. In: Diehl, S. (eds) Software Visualization. Lecture Notes in Computer Science, vol 2269. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45875-1_5
Download citation
DOI: https://doi.org/10.1007/3-540-45875-1_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43323-1
Online ISBN: 978-3-540-45875-3
eBook Packages: Springer Book Archive