Abstract
Objects have inherently greater computation power than functions because they provide clients with continuing services over time. They determine a marriage contract for interactive services that cannot be expressed by a pattern of time-independent sales contracts. Objects express the programming-in-the-large paradigm of software engineering, while functions express the programming-in-the-small paradigm of the analysis of algorithms. Objects have a functional semantics specified by their interface, a serial semantics specified by traces of interface procedures, and a fully abstract semantics that specifies behavior over time for all possible interactions. They assign meaning to the time between the execution of interface procedures as well as to algorithmic effects. Church's thesis that computable functions capture the intuitive notion of effective computation for algorithms cannot be extended to objects.
Components are defined by generalizing from accidental to necessary properties of persistent interaction units. Scalability for software problems, defined as “asymptotic openness”, is shown to be the analog of complexity for algorithmic problems. Paradigms of interaction are examined for functions and procedures, objects and processes, APIs and frameworks, databases, GUIs, robots, and virtual-reality systems. Early models of computing stressed computation over interaction for both theoretical reasons (greater tractability) and practical reasons (there were no software components with which to interact). However, scalable software systems, personal computers, and databases require a balance between algorithmic and interactive problem solving. Models of interaction express the behavior of actual software systems and therefore capture the intuitive notion of truly effective computation more completely than mere algorithms.
Preview
Unable to display preview. Download preview PDF.
References
Len Bass and Joelle Coutaz, Developing Software for the User Interface, Addison Wesley 1991.
R. A. Brooks, Intelligence Without Reason, Proc 12th International Joint Conference on Artificial Intelligence, August 1991.
M. Garey and D. Johnson, Computers and Intractability, Freeman 1979.
I. Jacobson, Object-Oriented Software Engineering, Addison-Wesley/ACM-Press, 1991.
D. E. Knuth, The Art of Computer Programming, Volume I, Addison Wesley 1969.
Robin Milner, Elements of Interaction, CACM, January 1993 (1992 Turing Lecture).
Roger Penrose, The Emperor's New Mind, Oxford 1989.
K. Popper, The Open Society and its Enemies, Princeton University Press, 1966.
James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorensen, Object-Oriented Modeling and Design, Prentice Hall, 1990.
H. Simon, The Sciences of the Artificial, MIT Press, Second Edition, 1982.
A. M. Turing, Computing Machinery and Intelligence, Mind 1950
P. Wegner, Tradeoffs Between Reasoning and Modeling, in Research Directions in Concurrent Object-Oriented Programming, Eds Agha, Wegner, Yonezawa, MIT Press, November 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wegner, P. (1994). Models and paradigms of interaction. In: Guerraoui, R., Nierstrasz, O., Riveill, M. (eds) Object-Based Distributed Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 791. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017531
Download citation
DOI: https://doi.org/10.1007/BFb0017531
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57932-8
Online ISBN: 978-3-540-48389-2
eBook Packages: Springer Book Archive