Abstract
Fruit is a new user interface toolkit based on a formal model of user interfaces. This formal basis enables us to write simple, concise executable specifications of interactive applications. This paper presents the Fruit model and several example specifications. We consider one example (a basic media controller) in detail, and contrast the executable specification style of Fruit with a more traditional “rapid prototype” implementation using an imperative, object-oriented toolkit (Java/Swing) to show the benefits of our approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Carlsson, M., Hallgren, T.: Fudgets - Purely Functional Processes with applications to Graphical User Interfaces. PhD thesis, Chalmers University of Technology (March 1998)
Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.A.: LUSTRE: A declarative language for programming synchronous systems. In: Proceedings of the 14th ACM Symposium on Principles of Programming Language. ACM Press, New York (1987)
Dix, A., Runciman, C.: Abstract models of interactive systems. In: Proceedings of the HCI 1985 Conference on People and Computers: Designing the Interface, The Design Process: Models and Notation for Interaction, pp. 13–22 (1985)
Elliott, C.: Functional images. Journal of Functional Programming, JFP (2001) (to appear)
Elliott, C., Hudak, P.: Functional reactive animation. In: International Conference on Functional Programming, pp. 163–173 (June 1997)
Gautier, T., le Guernic, P., Besnard, L.: SIGNAL: A declarative language for synchronous programming of real-time systems. In: Kahn, G. (ed.) FPCA 1987. LNCS, vol. 274, pp. 257–277. Springer, Heidelberg (1987)
Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8(3), 231–274 (1987)
Hartson, H.R., Gray, P.D.: Temporal aspects of tasks in the user action notation. Human-Computer Interaction 7(1), 1–45 (1992)
Hughes, J.: Generalising monads to arrows. Science of Computer Programming (37), 67–111 (2000)
Jacob, R.J.K., Deligiannidis, L., Morrison, S.: A software model and specification language for non-WIMP user interfaces. ACM Transactions on Computer-Human Interaction 6(1), 1–46 (1999)
Karp, R.M., Miller, R.E.: Properties of a model for parallel computations: Determinacy, termination, queuing. SIAM J. Applied Math. 14(6), 1390–1411 (1966)
Krasner, G., Pope, S.: A description of the model-view-controller user interface paradigm in the smalltalk-80 system (1988)
Myers, B.A. (ed.): Languages for Developing User Interfaces. Jones and Bartlett Publishers, USA (1992)
Myers, B.A.: Why are human-computer interfaces difficult to design and implement? Technical Report CMU-CS-93-183, Computer Science Department, Carnegie-Mellon University (July 1993)
Nilsson, H., Courtney, A., Peterson, J.: Functional reactive programming, continued. In: Proceedings of the 2002 ACM SIGPLAN Haskell Workshop (Haskell 2002), Pittsburgh, Pennsylvania, USA, October 2002, pp. 51–64. ACM Press, New York (2002)
Palanque, P., Bastide, R.: Interactive Cooperative Objects: an Object-Oriented Formalism Based on Petri Nets for User Interface Design. In: IEEE / System Man and Cybernetics 1993, October 1993, pp. 274–285. Elsevier Science Publisher, Amsterdam (1993)
Paterno, F.: Model-Based Design and Evaluation of Interactive Applications. In: Applied Computing. Springer, Heidelberg (1999)
Paterno, F.: Task models in interactive software systems. In: Chang, S.K. (ed.) Handbook of Software Engineering & Knowledge Engineering. World Scientific Publishing Co., Singapore (2001)
Paterson, R.: A new notation for arrows. In: Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP 2001) (September 2001)
Petri, C.A.: Kommunikation mit Automaten. Bonn: Institut für Instrumentelle Mathematik, Schriften des IIM Nr. 2 (1962)
Sage, M.: Frantk: A declarative gui system for haskell. In: Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP 2000) (September 2000)
Szekely, P.A., Sukaviriya, P.N., Castells, P., Muthukumarasamy, J., Salcher, E.: Declarative interface models for user interface construction tools: the MASTERMIND approach. In: EHCI, pp. 120–150 (1995)
Wadge, W.W., Ashcroft, E.A.: Lucid, the Dataflow Programming Language. A.P.I.C. Studies in Data Processing, vol. (22). Academic Press, London (1985)
Wan, Z., Hudak, P.: Functional reactive programming from first principles. In: Proc. ACM SIGPLAN’00 Conference on Programming Language Design and Implementation, PLDI 2000 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Courtney, A. (2003). Functionally Modeled User Interfaces. In: Jorge, J.A., Jardim Nunes, N., Falcão e Cunha, J. (eds) Interactive Systems. Design, Specification, and Verification. DSV-IS 2003. Lecture Notes in Computer Science, vol 2844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39929-2_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-39929-2_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20159-5
Online ISBN: 978-3-540-39929-2
eBook Packages: Springer Book Archive