Abstract
In this paper we present a formal framework for machine-assisted user interface verification. We focus on user interfaces constructed with tools that are based on a visual scripting formalism. As these tools do not provide a language for describing user interfaces (user interfaces are constructed by direct manipulation) we introduce one. Noting that user interface construction with these tools consists of “wiring” components together, we base the syntax of our language on an existing module interconnection language: in this context a user interface is described as a hierarchy of interconnected component instances. We define the semantics of user interfaces using state sequences; this allows us to reason about their ongoing behavior. We embed the semantics in higher order logic (as mechanized by the HOL system) to allow us to verify properties using formal proof.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
P. S. C. Alencar, D. D. Cowan Cowan, C. J. P. Lucena, and L. C. M. Nova. A Formal Specification of Reusable Interface Components (to appear). Technical report, Computer Science Department, University of Waterloo, Waterloo, Ontario, Canada, 1994.
P.S.C. Alencar, L.M.F. Carneiro-Coffin, D. D. Cowan, and C.J.P. Lucena. Towards a Logical Theory of ADVs. In Proceedings of the Workshop on the Logical Foundations of Object-Oriented Programming (to appear), August 1994.
Heather Alexander. Formally-based tools and techniques for human-computer dialogues. Ellis Horwood Limited, 1987.
Heather Alexander. Structuring dialogues using CSP. In M. Harrison and H. Thimbleby, editors, Formal Methods in Human-Computer Interaction, chapter 9, pages 273–295. Cambridge University Press, 1990.
Peter B. Andrews. An introduction to mathematical logic and type theory: to truth through proof. Academic Press, 1986.
Remi Bastide and Philippe Palanque. Petri net objects for the design, validation and prototyping of user-driven interfaces. In Proceedings of IFIP INTERACT'90: Human-Computer Interaction, Detailed Design: Construction Tools, pages 625–631, 1990.
A. J. Camilleri. Mechanizing CSP trace theory in higher-order logic. IEEE Transactions on Software Engineering, 16(9):993–1004, 1990.
Juanito Camilleri and Vincent Zammit. Symbolic animation as a proof tool. In Thomas F. Melham and Juanito Camilleri, editors, Higher Order Logic Theorem Proving and Its Applications: 7th International Workshop, volume 859 of Lecture Notes in Computer Science, pages 113–127, Valletta, Malta, 19–22 September 1994. Springer-Verlag.
Avra Cohn. The notion of proof in hardware verification. Journal of Automated Reasoning, 5(2):127–140, June 1989.
Nancy Day. A model checker for Statecharts. Technical Report TR-93-35, UBC, October 1993.
Digitalk. PARTS Workbench User's Guide, 1992.
Edsger W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, New Jersey, 1976.
Alan Dix and Colin Runciman. Abstract models of interactive systems. In Peter Johnson and Stephen Cook, editors, People and Computers: Designing the Interface, pages 13–22. Cambridge University Press, September 1985.
Michael J.C. Gordon. HOL: A proof generating system for higher-order logic. In Graham Birtwistle and P. A. Subrahmanyam, editors, VLSI Specification, Verification and Synthesis, chapter 3, pages 73–128. Kluwer Academic Publishers, 1988.
D. Harel and A. Pnueli. On the development of reactive systems. In Krzysztof R. Apt, editor, Logics and Models of Concurrent Systems, volume 13 of Series F: Computer and System Sciences, pages 477–498. Springer-Verlag, 1985.
i-Logix Inc., Burlington, MA. The Semantics of Statecharts, January 1991.
IBM. VisualAge: Concepts & Features, 1994.
Imperial College of Science, Technology and Medicine. Darwin Overview, 1994.
Amit Jasuja. Temporal logic in HOL, August 3 1990. In HOL distribution: ftp://lal.cs.byu.edu/pub/hol/holsys.tar.gz.
C. W. Johnson. Applying temporal logic to support the specification and prototyping of concurrent multi-user interfaces. In Proceedings of the HCI'91 Conference on People and Computers VI, Groupware, pages 145–156, 1991.
Ralf Kneuper. Symbolic execution: a semantic approach. Science of Computer Programming, 16:207–249, October 1991.
Leslie Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, May 1994.
Z. Manna and A. Pnueli. Verification of concurrent programs: a temporal proof system. Technical Report CS-83-967, Stanford Univ., 1983.
Lynn S. Marshall. A formal description method for user interfaces. PhD thesis, University of Manchester, 1986.
Tom F. Melham. Higher order logic and hardware verification, Cambridge University Press, New York, 1993.
Microsoft Corporation. Microsoft Visual Basic Programmer's Guide, 1993.
M.J.C. Gordon. Mechanizing programming logics in higher-order logic. In Graham M. Birtwistle and P. A. Subrahmanyam, editors, Current Trends in Hardware Verification and Automated Theorem Proving (Proceedings of the Workshop on Hardware Verification), pages 387–439, Banff, Canada, 1988. Springer-Verlag.
Brad A. Myers. State of the Art in User Interface Software Tools, chapter 5, pages 110–150. Ablex, Norwood, N.J., 1992.
Brad A. Myers. Why are human-computer interfaces difficult to design and implement? Technical Report CMU-CS-93-183, School of Computer Science, Carnegie Mellon University, July 1993.
Brad A. Myers. User interface software tools. Technical Report CMU-CS-94-182, School of Computer Science, Carnegie Mellon University, August 1994.
Greg Nelson. A generalization of Dijkstra's calculus. ACM Transactions on Programming Languages and Systems, 11(4):517–561, October 1989.
Monica Nesi. A formalization of the process algebra CCS in higher order logic. Technical Report 278, University of Cambridge Computing Laboratory, December 1992.
John K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, 1994.
S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In Deepak Kapur, editor, 11th International Conference on Automated Deduction, LNAI 607, pages 748–752, Saratoga Springs, New York, USA, June 15–18, 1992. Springer-Verlag.
F. Paternó and G. Faconti. On the use of LOTOS to describe graphical interaction. In A. Monk, D. Diaper, and M. D. Harrison, editors, Proceedings of the HCI'92 Conference on People and Computers VII, pages 155–173. Cambridge University Press, September 1992.
Lawrence C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of Lecture Notes in Computer Science. Springer-Verlag, 1994.
SRI International under contract to DSTO Australia, Cambridge, England. The HOL System: Description, 1989.
Bjarne Stroustrup. The C++ Programming Language. Addison-Wesley, second edition, 1991.
Kari Systä. Specifying user interfaces in DisCo. SIGCHI Bulletin, 26(2):53–58, 1994. Presented at a Workshop on Formal Methods for the Design of Interactive Systems, York, UK, 23rd July 1993.
G. Tredoux. Mechanizing execution sequence semantics in HOL. South African Computer Journal, 7:81–86, July 1992. Proceedings of the 7th Southern African Computer Research Symposium, Johannesburg, South Africa. Also available as part of the HOL distribution: ftp://lal.cs.byu.edu/pub/hol/holsys.tar.gz.
Gavan Tredoux. Mechanizing nondeterministic programming logics in higher-order logic. Technical report, Laboratory for Formal Aspects of CS, Dept Mathematics, University of Cape Town, Rondebosch 7700, South Africa, March 22, 1993.
Joakim von Wright and Thomas Långbacka. Using a theorem prover for reasoning about concurrent algorithms. In G. v. Bochmann and D. K. Probst, editors, Computer Aided Verification: Proceedings of the Fourth International Workshop, CAV '92, number 663 in Lecture Notes in Computer Science, pages 56–68. Springer-Verlag, June/July 1992.
Watcom International Corporation, Waterloo, Ontario, Canada. WATCOM VX-REXX for OS/2 Programmer's Guide and Reference, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bumbulis, P., Alencar, P.S.C., Cowan, D.D., Lucena, C.J.P. (1995). A framework for machine-assisted user interface verification. In: Alagar, V.S., Nivat, M. (eds) Algebraic Methodology and Software Technology. AMAST 1995. Lecture Notes in Computer Science, vol 936. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60043-4_71
Download citation
DOI: https://doi.org/10.1007/3-540-60043-4_71
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60043-5
Online ISBN: 978-3-540-49410-2
eBook Packages: Springer Book Archive