the structure of the application the drawingpanel is responsible le for displaying any figures held by the drawingmodel the drawingcontroller manages all user interactions with the drawingpanel including adding figures and clearing all figures from the model the drawingmodel holds list of figures to be displayed the interactions between objects we have now examined the physical structure of the application but not how the objects within that application interact in many situations this can be extracted from the source code of the application (with varying degrees of difficultyhoweverin the case of an application such as pydrawwhich is made up of number of different interacting componentsit is useful to describe the system interactions explicitly the diagrams illustrating the interactions between the objects use the following conventionsa solid arrow indicates message senda square box indicates classa name in brackets indicates the type of instancenumbers indicate the sequence of message sends these diagrams are based on the collaboration diagrams found in the uml (unified modelling languagenotation the pydrawapp when the pydrawapp is instantiated the pydrawframe in created and displayed using the oninit(method the mainloop(method is then invoked this is shown belowclass pydrawapp(wx app)def oninit(self)""initialise the gui display""frame pydrawframe(title='pydraw'frame show(return true run the gui application app pydrawapp(app mainloop(