Traditional state-transition diagrams have been inherently flat in nature. With the advent of hierarchical state diagrams, known as statecharts [HAR87], there has been a marked improvement in the way the dynamics of a system can be modelled. As systems become larger and more complex, statecharts been used successfully to reduce the complexity. However, the current lack of tools that take advantage of this notion of hierarchy have hindered the development process. It is sometimes desirable to hide or display certain portions of a statechart. For example, a composite state may be collapsed or expanded depending on the zooming level. Thus, the aim of this thesis is to design and implement a 'zooming' viewer for statecharts. This goal is to provide the architect or system analyst with an easy and intuitive way to navigate a large statechart diagram. In so doing, the system should be easier to view and understand.