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.
Similar content being viewed by others
References
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.
Apple Programmers and Developers Association:Inside Macintosh, Apple Macintosh Technical Library, Addison Wesley, 1986 (5 vols).
Benbasat, I. and Wand, Y.: A Structured Approach to Designing Human-Computer Dialogues.International Journal of Man-Machine Studies, 21, 105–126 (1984).
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).
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.
Borufka, H. G. and Kuhlmann, H. W.: Dialogue Cells: A Method for Defining Interactions.IEEE Computer Graphics and Applications, 2, 25–33 (1982).
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.
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.
Burstall, R. M. and Goguen, J. A.: Algebras, Theories and Freeness. CSR-101-82, Edinburgh University, Computer Science, University of Edinburgh, Edinburgh, 1982.
Chernicoff, S.:Macintosh Revealed, Hayden Macintosh Library, Hayden Book Company, 1985 (2 vols).
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).
Cockton, G.: Three Transition Network Dialogue Management Systems. In:HCI '85, P. Johnson and S. J. Cook, eds, pp. 138–147, Norwich, 1985.
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.
Duce, D. A.: Concerning the Specification of User Interfaces.Computer Graphics Forum, 4, 251–258 (1985).
Epple, W. K.: Communication-Nets for the Specification of Operator Dialogues.Proc. Human Factors in Computer Systems, pp. 174–179, Maithersburg, Maryland, 1982.
Gaines, B. R.: The Technology of Interaction Dialogue Programming Rules.International Journal of Man-Machine Studies, 14, 133–150 (1981).
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.
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.
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.
Green, M.: A Survey of Three Dialogue Models,ACM Transactions on Graphics, 5, 244–275 (1986).
Guest, S. P.: The Use of Software Tools for Dialogue Design.International Journal of Man-Machine Studies, 16, 263–285 (1982).
Guttag, J. V. and Horning, J. J.: Preliminary Report on the Larch Shared Language. CSL-83-6, Xerox PARC, Palo Alto, 1983.
Guttag, J. V., Horning, J. J. and Wing, J. M.:Larch in Five Easy Pieces, Digital Systems Research Center, Palo Alto, California, 1985.
Guttag, J. V., Horning, J. J. and Wing, J. M.: The Larch Family of Specification Languages.IEEE Software, 2 (5), 24–36 (1985).
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.
Kamin, S.: Final Data Types and their Specification.ACM Transactions on Programming Languages and Systems, 5, 97–123, (1983).
Maguire, M.: An Evaluation of Published Recommendations on the Design of Man-Computer Dialogues,International Journal of Man-Machine Studies, 16, 237–261 (1982).
Mallgren, W. R.: Formal Specification of Graphic Data Types.ACM Transactions on Programming Languages and Systems, 4, 687–710 (1982).
Nivat, M. and Reynolds, J. C.:Algebraic Methods in Semantics, Cambridge University Press, 1985.
FS Software Development Group:Mac Man, Computer Science Department, Oregon State University, 1985.
Oyamaguchi, M.: Relationship between Abstract and Concrete Implementations of Algebraic Specification.IFIP Information Processing '83, pp. 407–412, Elsevier North Holland, 1983.
Roberts, W. T.: A Formal Specification of the QMC Message System, Part 1: The Abstract Model.The Computer Journal, 31 (1988).
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).
Sufrin, B.: Formal System Specifications: Notation and Examples. In:Tools and Notations for Program Construction, D. Neel (ed.), Cambridge University Press, 1982.
Sufrin, B.: Formal Specification of a Display-Oriented Text Editor.Science of Computer Programming, 175–202, 1982.
Wasserman, A.: Extending State Transition Diagrams for the Specification of Human-Computer Interaction.IEEE Transactions on Software Engineering, SE-11, 699–713 (1985).
Wasserman, A. and Shewmake, D. T.: Rapid Prototyping of Interactive Information Systems.ACM SIGSOFT Software Engineering Notes, 7, 171–182 (1982).
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.
Author information
Authors and Affiliations
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
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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01887203