Abstract
Formal specifications, of interactive systems, provide a precise and concise means of representing and reasoning about interactive systems. Executing these specifications allows designers to conduct usability testing. This, in turn, provides the feedback necessary for an iterative approach to interface design. We argue that new developments in concurrent functional languages, make them ideally suited as tools for executing specifications. To demonstrate this, we make use of Haggis, a concurrent functional graphical toolkit. We describe the development of a highly interactive game, from specification to execution, using this system. This application is appropriate as it demonstrates the real-time interaction that previous approaches to the prototyping of formal specifications could not support.
Chapter PDF
References
Gregory D. Abowd (1990), Agents: Communicating Interactive Processes. In Human Computer Interaction–INTERACT ‘80, D. Diaper et al Eds. Elsevier Science Publishers, North-Holland, pp. 143–148.
Heather Alexander (1987), Executable specifications as an aid to dialogue design. In Human-Computer Interaction–INTERACT ‘87, H. J. Bullinger and B. Shackel Eds. Elsevier Science Publishers, North-Holland, pp. 739–744.
Heather Alexander (1990), Structuring dialogues using CSP,. In Formal methods in Human computer interaction, MD Harrison and H Thimbleby Eds, Cambridge University Press, Cambridge, pp. 273–295.
Heather Alexander, Val Jones (1990), Software design and prototyping using me too Prentice Hall.
David Duke, Giorgio Faconti, Michael Harrison
Fabio Paterno (1994), Unifying Views of Interactors. Technical Report WP18, ESPRIT BRA 7040 Amodeus2, October 1994.
P.van Eijk (1991), The Lotosphere Integrated Tool Environment LITE. In Proceedings 4th International Conference on Formal Description Techniques, Sydney, November 1991, North-Holland, pp. 473–476.
Sigbjorn Finne, Simon Peyton Jones (1995a), Pictures: A simple structured graphics model. In Glasgow Functional Programming Workshop, Ullapool, July 1995.
Sigbjorn Finne, Simon Peyton Jones (1995b), Composing Haggis. In Proceedings of the fifth Eurographics workshop on Programming Paradigms in Graphics, Maastricht, Sept 2–3 1995.
N.E. Fuchs (1992), Specifications are (preferably) executable. In Software Engineering Journal, September 1992, 7, (5), pp. 323–334
Andrew D. Gordon and Kevin Hammond (1995), Monadic I/O in Haskell 1.3. In Paul Hudak, editor, Proceedings of the Haskell Workshop, pp 50–69. La Jolla, California, June 25 1995.
M.D. Harrison and D.J. Duke (1995), The Specification of User Requirements in Interactive Systems. Technical Report WP60, ESPRIT BRA 7040 Amodeus2, September 1995.
I.J. Hayes and C.B. Jones (1989). Specifications are not (necessarily) executable. In Software Engineering Journal, 1989, 4, (6), pp. 330–338
J.M. Hoc, T.R.G. Green, R. Samurcay and D.J. Gilmore (eds) (1990), Psychology of Programming, Computers and People Series, Academic Press Ltd.
A. Jeffrey and G.Leduc (1996), E-LOTOS core language. Output of the Kansas City meeting, version 1996/09/20, (ISO-IEC/JTC1/SC21/WG7).
C.W. Johnson and M.D. Harrison (1992), Using temporal logic to support the specification of interactive control systems. In International Journal of Man-Machine Studies, 37, pp. 357–385.
Brad A. Myers (1991) Separating application code from toolkits: Eliminating the spaghetti of callbacks. In Proceedings of the ACM SIGCHI 1 91 Conference on User Interface Software Technology. ACM Press. November 11–13 1991.
Fabio Paterno (1993), A methodology to design interactive systems based on Interactors. Technical Report WP7, ESPRIT BRA 7040 Arnodeus-2. February 1993.
John Peterson et al (1996). Haskell 1.3: A non-strict. purely functional language. Technical Report YALEU/DCS/RR-1106: Department of Computing Science. Yale University. May 1996.
Simon Peyton Jones and Philip Wadler (1993). Imperative functional programming. In ACM Conference on the Principles of Programming Languages, pp 71–84. ACM Press, January 1993.
Simon Peyton Jones. Andrew Gordon, and Sigbjorn Finne (1996), Concurrent Haskell. In ACM Symposium on the Principles of Programming Languages, St. Petersburg Beach. Florida, January 1996.
Meurig Sage, Chris Johnson (1997), Executing LOTOS with Haggis. Technical Report, Department of Computing Science. University of Glasgow (in press).
Simon Buckingham Shum, Ann Blandford, David Duke, Jason Good. Jon May, Fabio Paterno, and Richard Young (1996), Multidisciplinary Modelling for User-Centred System Design: An Airtraffic Control Case Study. In People and Computers XI: Proceedings of HCI ‘86.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Sage, M., Johnson, C. (1997). Interacting with Haggis: Implementing Agent Based Specifications in a Functional Style. In: Howard, S., Hammond, J., Lindgaard, G. (eds) Human-Computer Interaction INTERACT ’97. IFIP — The International Federation for Information Processing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35175-9_24
Download citation
DOI: https://doi.org/10.1007/978-0-387-35175-9_24
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-5437-7
Online ISBN: 978-0-387-35175-9
eBook Packages: Springer Book Archive