Skip to main content

Interactors and Haggis: Executable specifications for interactive systems

  • Conference paper
Design, Specification and Verification of Interactive Systems ’97

Part of the book series: Eurographics ((EUROGRAPH))

Abstract

Executable formal specifications, of interactive systems, allow programmers to both reason about their systems, and test them on users. The feedback provided allows an iterative approach to interface design. We argue that new developments in concurrent functional languages make them ideal for executing specifications. To show this, we make use of Haggis, a concurrent functional graphical toolkit. We describe the development of a highly interactive game, from specification to execution. We start with an agent based specification, making use of the CNUCE LOTOS interactor model. This model provides for both modularity and reasoning power. We, however, make use of a VDM like specification language to describe the internal state of our interactors, and so overcome some of the problems with CNUCE interactors. We then show how this specification can be easily and quickly transformed into executable code, using the Haggis system. This application typifies the dynamic, real-time interfaces that many previous prototyping environments do not support.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gregory D. Abowd (1990), Agents: Communicating Interactive Processes. In D. Diaper et al (eds.) Human Computer Interaction - INTERACT ’90.

    Google Scholar 

  2. Heather Alexander (1990), Structuring dialogues using CSP, in MD Harrison and H Thimbleby Formal methods in Human computer interaction, Cambridge University Press.

    Google Scholar 

  3. Heather Alexander, Val Jones (1990), Software design and prototyping using me too, Prentice Hall.

    Google Scholar 

  4. David Duke, Giorgio Faconti, Michael Harrison, Fabio Paterno (1994), Unifying View of Interactors, Amodeus Project Document: SM/WP18.

    Google Scholar 

  5. Conal Elliott and Paul Hudak, Functional Reactive Animation, in Proceedings of the Second ACM SIGPLAN Internation Conference on Functional Programming, June 9–11 1997.

    Google Scholar 

  6. P. van Eijk (1991), The Lotosphere Integrated Tool Environment LITE, in Proceedings 4th International Conference on Formal Description Techniques, Sydney, North-Holland, pp.473–476.

    Google Scholar 

  7. G.P. Faconti et al (1993), Graphical Process Interaction Networks for Lotos Parallel Expressions, Amodeus Project Document: SM/WP25.

    Google Scholar 

  8. Sigbjorn Finne, Simon Peyton Jones (1995a), Pictures: A simple structured graphics model. In Glasgow Functional Programming Workshop, Ullapool, July 1995.

    Google Scholar 

  9. Sigbjorn Finne, Simon Peyton Jones (1995b), Composing Haggis. In Proceedings of the fifth Eurographics workshop on Programming Paradigms in Graphics, Maastricht, Sept 23 1995.

    Google Scholar 

  10. N.E. Fuchs (1992), Specifications are (preferably) executable. In Software Engineering Journal, 1992, 7, (5), pp. 323334

    Google Scholar 

  11. Andrew D. Gordon and Kevin Hammond (1995), Monadic I/O in Haskell 1.3. In Paul Hudak, editor, Proceedings of the haskell Workshop, pp 5069. La Jolla, California, June 25 1995.

    Google Scholar 

  12. M.D. Harrison and D.J. Duke (1995), The Specification of User Requirements in Interactive Systems, Amodeus Project Document: SM/WP60.

    Google Scholar 

  13. I.J. Hayes and C.B. Jones (1989), Specifications are not (necessarily) executable, Software Engineering Journal, 1989, 4, (6), pp. 330–338

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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).

    Google Scholar 

  16. C.W. Johnson and M.D. Harrison (1992), Using temporal logic to support the specification of interactive control systems. International Journal of Man-Machine Studies, 37:357–385.

    Google Scholar 

  17. Brad A. Myers (1991) Separating application code from toolkits: Eliminating the spaghetti of callbacks. In Proceedings of the ACM SIGCHP91 Conference on User Interface Software Technology. ACM Press, November 1113 1991.

    Google Scholar 

  18. Fabio Paterno et al (1994), A Tool-supported Approach to the Refinement of Interactive Systems, Amodeus Project Document: SM/WP39.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. Simon Peyton Jones and Philip Wadler (1993), Imperative functional programming. In A CM Conference on the Principles of Programming Languages, pp 7184. ACM Press, January 1993.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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 ’96.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag/Wien

About this paper

Cite this paper

Sage, M., Johnson, C. (1997). Interactors and Haggis: Executable specifications for interactive systems. In: Harrison, M.D., Torres, J.C. (eds) Design, Specification and Verification of Interactive Systems ’97. Eurographics. Springer, Vienna. https://doi.org/10.1007/978-3-7091-6878-3_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-7091-6878-3_7

  • Publisher Name: Springer, Vienna

  • Print ISBN: 978-3-211-83055-0

  • Online ISBN: 978-3-7091-6878-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics