In this paper 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.