A teaching and support tool for building formal models of graphical user-interfaces

We propose the design of a tool that will allow the construction of a formal, textual description of a software system even if it has a graphical user interface as a component. An important aspect of this design is that it can be used for two purposes-the teaching of first order logic and the formal specification of graphical user interfaces. The design has been suggested by considering a system that has already been very successful for teaching first order logic, namely Tarski's World.