Skip to main content
Log in

Specifying the apple Macintosh Toolbox event manager

  • Published:
Formal Aspects of Computing

Abstract

The Macintosh Toolbox is a collection of resources, stored in ROM, of use to software developers building user interface components. This paper documents an attempt to specify one part of the Toolbox: namely the data types and routines for event-handling. The chief objective of the paper is to illustrate an approach to building a formal specification in which, starting from simple structures, the final specification is arrived at by a process of successive modifications, generalisations, instantiations and translations. The paper also constitutes an example of the Larch algebraic style, as well as the two-tiered approach characteristic of the Larch family of specification languages.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alty, J. L. and Ritchie, R. A.: A Path Algebra Support Facility for Interactive Dialogue Designs.HCI '85, P. Johnson and S. J. Cook, eds, pp. 128–137, Norwich, 1985.

  2. Apple Programmers and Developers Association:Inside Macintosh, Apple Macintosh Technical Library, Addison Wesley, 1986 (5 vols).

  3. Benbasat, I. and Wand, Y.: A Structured Approach to Designing Human-Computer Dialogues.International Journal of Man-Machine Studies, 21, 105–126 (1984).

    Google Scholar 

  4. Bergstra, J. A. and Tucker, J. V.: Initial and Final Algebra Semantics for Data Type Specifications: Two Characterisation Theorems.SIAM Journal of Computing, 12, 366–387 (1983).

    Google Scholar 

  5. Bleser, T. and Foley, J. D.: Towards Specifying and Evaluating the Human Factors of User-Computer Interfaces.Proc. Human Factors in Computer Systems, pp. 309–314, Maithersburg, Maryland, 1982.

  6. Borufka, H. G. and Kuhlmann, H. W.: Dialogue Cells: A Method for Defining Interactions.IEEE Computer Graphics and Applications, 2, 25–33 (1982).

    Google Scholar 

  7. Burstall, R. M. and Goguen, J.: Putting Theories Together to Make Specifications.Proc. 5th International Joint Conf. on Artificial Intelligence, pp. 1045–1058, ACM, Cambridge, Mass., 1977.

    Google Scholar 

  8. Burstall, R. M. and Goguen, J. A.: The Semantics of CLEAR: a Specification Language.Proc. Copenhagen Winter School on Abstract Software Specification, Vol. 86, pp. 292–332. Springer-Verlag, 1980.

  9. Burstall, R. M. and Goguen, J. A.: Algebras, Theories and Freeness. CSR-101-82, Edinburgh University, Computer Science, University of Edinburgh, Edinburgh, 1982.

    Google Scholar 

  10. Chernicoff, S.:Macintosh Revealed, Hayden Macintosh Library, Hayden Book Company, 1985 (2 vols).

  11. Chi, U. H.: Formal Specification of User Interfaces: A Comparison and Evaluation of Four Axiomatic Approaches.IEEE Transactions on Software Engineering, SE-11, 671–685 (1985).

    Google Scholar 

  12. Cockton, G.: Three Transition Network Dialogue Management Systems. In:HCI '85, P. Johnson and S. J. Cook, eds, pp. 138–147, Norwich, 1985.

  13. Dix, A. J. and Runciman, C.: Abstract Models of Interactive Systems. In two working papers on formalising interactive system design. Technical Reports, DCS, University of York, York, 1985.

    Google Scholar 

  14. Duce, D. A.: Concerning the Specification of User Interfaces.Computer Graphics Forum, 4, 251–258 (1985).

    Google Scholar 

  15. Epple, W. K.: Communication-Nets for the Specification of Operator Dialogues.Proc. Human Factors in Computer Systems, pp. 174–179, Maithersburg, Maryland, 1982.

  16. Gaines, B. R.: The Technology of Interaction Dialogue Programming Rules.International Journal of Man-Machine Studies, 14, 133–150 (1981).

    Google Scholar 

  17. Goguen, J., Jouannaud, J.-P. and Meseguer, J.: Operational Semantics for Order-Sorted Algebra.Proc. 12th International Colloqium on Automata, Languages and Programming, Vol. 194, pp. 221–231, Springer-Verlag, 1985.

  18. Goguen, J., Meseguer, J. and Plaisted, D. Programming with Parameterized Abstract Objects in OBJ. In:Theory and Practice of Software Technology, J. Goguen (ed.), pp. 163–193, North Holland, 1983.

  19. Gray, P. and Kilgour, A.: GUIDE: A Unix-Based Dialogue Design System.HCI '85, P. Johnson and S. J. Cook (eds), pp. 148–160, Norwich, 1985.

  20. Green, M.: A Survey of Three Dialogue Models,ACM Transactions on Graphics, 5, 244–275 (1986).

    Google Scholar 

  21. Guest, S. P.: The Use of Software Tools for Dialogue Design.International Journal of Man-Machine Studies, 16, 263–285 (1982).

    Google Scholar 

  22. Guttag, J. V. and Horning, J. J.: Preliminary Report on the Larch Shared Language. CSL-83-6, Xerox PARC, Palo Alto, 1983.

    Google Scholar 

  23. Guttag, J. V., Horning, J. J. and Wing, J. M.:Larch in Five Easy Pieces, Digital Systems Research Center, Palo Alto, California, 1985.

    Google Scholar 

  24. Guttag, J. V., Horning, J. J. and Wing, J. M.: The Larch Family of Specification Languages.IEEE Software, 2 (5), 24–36 (1985).

    Google Scholar 

  25. Jacob, R. J. K.: Using Formal Specifications in the Design of a Human-Computer Interface.Proc. Human Factors in Computer Systems, pp. 315–321, Gaithersburg, Maryland, 1982.

  26. Kamin, S.: Final Data Types and their Specification.ACM Transactions on Programming Languages and Systems, 5, 97–123, (1983).

    Google Scholar 

  27. Maguire, M.: An Evaluation of Published Recommendations on the Design of Man-Computer Dialogues,International Journal of Man-Machine Studies, 16, 237–261 (1982).

    Google Scholar 

  28. Mallgren, W. R.: Formal Specification of Graphic Data Types.ACM Transactions on Programming Languages and Systems, 4, 687–710 (1982).

    Google Scholar 

  29. Nivat, M. and Reynolds, J. C.:Algebraic Methods in Semantics, Cambridge University Press, 1985.

  30. FS Software Development Group:Mac Man, Computer Science Department, Oregon State University, 1985.

  31. Oyamaguchi, M.: Relationship between Abstract and Concrete Implementations of Algebraic Specification.IFIP Information Processing '83, pp. 407–412, Elsevier North Holland, 1983.

  32. Roberts, W. T.: A Formal Specification of the QMC Message System, Part 1: The Abstract Model.The Computer Journal, 31 (1988).

  33. Robinson J., and Burns, A.: A Dialogue Development System for the Design and Implementation of User Interfaces in Ada.The Computer Journal, 28, 22–28 (1985).

    Google Scholar 

  34. Sufrin, B.: Formal System Specifications: Notation and Examples. In:Tools and Notations for Program Construction, D. Neel (ed.), Cambridge University Press, 1982.

  35. Sufrin, B.: Formal Specification of a Display-Oriented Text Editor.Science of Computer Programming, 175–202, 1982.

  36. Wasserman, A.: Extending State Transition Diagrams for the Specification of Human-Computer Interaction.IEEE Transactions on Software Engineering, SE-11, 699–713 (1985).

    Google Scholar 

  37. Wasserman, A. and Shewmake, D. T.: Rapid Prototyping of Interactive Information Systems.ACM SIGSOFT Software Engineering Notes, 7, 171–182 (1982).

    Google Scholar 

  38. Wulf, W. A.: Abstract Data Types: A Retrospective and Prospective View. InMathematical Foundations of Computer Science 1980: Proc. 9th Symp. P. Dembinski (ed.), Lecture Notes in Computer Science 88, pp. 94–112, Springer-Verlag, 1980.

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work has been undertaken as part of the Alvey HI 059 project “Formal Aspects of Interactive Dialogues”, supported under SERC Grant No. GR/D/1646.8.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Burton, C.T., Cook, S.J., Gikas, S. et al. Specifying the apple Macintosh Toolbox event manager. Formal Aspects of Computing 1, 147–171 (1989). https://doi.org/10.1007/BF01887203

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01887203

Key words

Navigation