Title :
A scalable formal method for design and automatic checking of user interfaces
Author :
Berstel, Jean ; Reghizzi, Stefano Crespi ; Roussel, Gilles ; Pietto, P.S.
Author_Institution :
Dipt. di Elettronica e Inf., Politecnico di Milano, Italy
Abstract :
The paper addresses the formal specification, design and implementation of the behavioral component of graphical user interfaces. Dialogs are specified by means of modular, communicating grammars called VEG (Visual Event Grammars), which extend traditional BNF grammars to make the modeling of dialogs more convenient. A VEG specification is independent of the actual layout of the GUI, but it can be easily integrated with various layout design toolkits. The specification may be verified with the model checker Spin, in order to test consistency and correctness, to detect deadlocks and unreachable states, and also to generate test cases for validation purposes. Efficient code is automatically generated by the VEG toolkit, based on compiler technology. Realistic applications have been specified, verified and implemented, like a Notepad-style editor, a graph construction library and a large real application to medical software. The complete VEG toolkit is going to be available soon as free software.
Keywords :
formal specification; graphical user interfaces; program compilers; user interface management systems; BNF grammars; GUI design; HCI; Notepad-style editor; Spin; VEG; VEG specification; VEG toolkit; Visual Event Grammars; automatic checking; behavioral component; compiler technology; deadlocks; formal methods; formal specification; graph construction library; graphical user interfaces; human-computer interaction; large real application; layout design toolkits; medical software; model checker; model checking; modular communicating grammars; scalable formal method; test cases; unreachable states; user interfaces; validation; Application software; Design methodology; Formal specifications; Graphical user interfaces; Layout; Software libraries; Software tools; System recovery; Testing; User interfaces;
Conference_Titel :
Software Engineering, 2001. ICSE 2001. Proceedings of the 23rd International Conference on
Print_ISBN :
0-7695-1050-7
DOI :
10.1109/ICSE.2001.919118