Abstract
This paper describes a new approach to the production of robust software. We first motivate the approach by explaining why the two major goals of software engineering-correct software and reusable software-are not being addressed well by the current state of software practice. We then describe a methodology based on active, cooperative, and persistent software components, i.e., agents, and show how the methodology produces robust and reusable software. We derive requirements for the structure and behavior of the agents, and report on preliminary experiments on applications based on the methodology. We conclude with a roadmap for development of the methodology and ruminations about uses for the new computational paradigm.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Jean Marc Andreoli, Paolo Ciancarini, and Remo Pareschi, “Interaction Abstract Machines,” in Gul Agha, Peter Wegner, and Akinori Yonezawa, eds., Research Directions in Concurrent Object-Oriented Programming, MIT Press, Cambridge, MA, 1993, pp. 257–280.
Antoine Beugnard, JeanMarc Jezequel, Noel Plouzeau, and Damien Watkins, “Making Components Contract Aware,” IEEE Computer, Vol. 32, No. 7, July 1999, pp. 38–45.
Fred P. Brooks, The Mythical Man-Month, Anniversary Edition, Addison-Wesley, Reading, MA, 1995.
F-C. Cheong, “OASIS: An Agent-Oriented Programming Language for Heterogeneous Distributed Environments,” Ph.D. Thesis, University of Michigan, 1992.
Adam Cheyer, “Agent-Based Interoperation, ” CSLI Seminar Series on Intelligent Agents, Stanford University, April 27, 1995.
Cynthia Della Torre Cicalese and Shmuel Rotenstreich, “Behavioral Specification of Distributed Software Component Interfaces,” IEEE Computer, Vol. 32, No. 7, July 1999, pp. 46–53.
Helder Coelho, Luis Antunes, and Luis Moniz, “On Agent Design Rationale,” in Proceedings of the XI Simposio Brasileiro de Inteligencia Artificial (SBIA), Fortaleza (Brasil), October 17.21, 1994, pp. 43–58.
Peter Coffee, “Perfect Computers Cost Too Much,” PC Week, July 6, 1998, p. 54.
Philip R. Cohen and Hector J. Levesque, “Persistence, Intention, and Commitment,” in Intentions in Communication, Philip R. Cohen, Jerry Morgan, and Martha E. Pollack, eds., MIT Press, 1990.
Les Gasser, “Social conceptions of knowledge and action: DAI foundations and open systems semantics,” Artificial Intelligence, Vol. 47, 1991, pp. 107–138.
Michael Genesereth and Stephen Ketchpel, “Software Agents,” Communications of the ACM, Vol. 37, No. 7, 1994, pp. 48–53.
R. Goodwin, “Formalizing Properties of Agents,” Technical Report CMU-CS-93-159, Department of Computer Science, Carnegie-Mellon University, 1993.
Les Hatton, “Does OO Sync with HowWe Think?” IEEE Software, May 1998, pp. 46–54.
Michael N. Huhns, “Agent Teams: Building and Implementing Software,” IEEE Internet Computing, Vol. 4, No. 1, January/February 2000, pp. 90–92.
Michael N. Huhns, “Multiagent-Oriented Programming,” Intelligent Agents and Their Potential for Future Design and Synthesis Environments, Ahmed K. Noor and John B. Malone, editors, NASA Langley Research Center, Hampton, VA, February 1999, pp. 215–238.
Michael N. Huhns and Munindar P. Singh, “A Multiagent Treatment of Agenthood,” Applied Artificial Intelligence: An International Journal, Vol. 13, No. 1–2, January-March 1999, pp. 3–10.
Michael N. Huhns and Munindar P. Singh, eds., Readings in Agents, Morgan Kaufmann Publishers, Inc., San Francisco, CA, 1997.
Michael N. Huhns, editor, Distributed Artificial Intelligence, Pitman/Morgan Kaufmann, 1987.
Juhani Iivari, “Why Are CASE Tools Not Used?” Communications of the ACM, Vol. 39, No. 10, October 1996, pp. 94-103.
K. Indermaur, “Baby Steps,” Byte, March 1995, pp. 97–104.
Nicholas R. Jennings, “On Agent-Oriented Software Engineering,” IEEE Internet Computing, Vol. 3, No. 4, 1999, pp. XXX.
Nicholas R. Jennings, “Commitments and conventions: The foundation of coordination in multi-agent systems,” The Knowledge Engineering Review, Vol. 2, No. 3, 1993, pp. 223–250.
Gabor Karsai and Janos Sztipanovits, “A Model-Based Approach to Self-Adaptive Software,” IEEE Intelligent Systems, Vol. 14, No. 3, May/June 1999, pp. 46–53.
Elizabeth A. Kendall, Margaret T. Malkoun, and Chong Jiang, “Multiagent System Design Based on Object-Oriented Patterns,” Journal of Object-Oriented Programming, June 1997, pp. 41–47.
Stephen Kent, “An Interview with Stephen Kent,” IEEE Spectrum, Vol. 37, No. 1, January 2000, p. 37.
David Kinny and Michael Georgeff, “Modelling and Design of Multi-Agent Systems,” in J.P. Muller, M.J. Wooldridge, and N.R. Jennings, eds., Intelligent Agents III.Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, Berlin, 1997, pp. 1–20.
Mieczyslaw M. Kokar, Kenneth Baclawski, and Yonet A. Eracar, “Control Theory-Based Foundations of Self-Controlling Software,” IEEE Intelligent Systems, Vol. 14, No. 3, May/June 1999, pp. 37–45.
David Krieger and Richard M. Adler, “The Emergence of Distributed Component Platforms,” IEEE Computer, Vol. 31, No. 3, March 1998, pp. 43–53.
Robert Laddaga, “Creating Robust Software through Self-Adaptation,” IEEE Intelligent Systems, Vol. 14, No. 3, May/June 1999, pp. 26–29.
Ted Lewis, “The Next 10,0002 Years: Part II,” IEEE Computer, May 1996, pp. 78–86.
David L. Martin, Adam J. Cheyer, and Douglas B. Moran, “The Open Agent Architecture: A framework for building distributed software systems,” Applied Artificial Intelligence, Vol. 13, No. 1–2, 1999, pp. 92–128.
Bertrand Meyer and Christine Mingins, “Component-Based Development: From Buzz to Spark,” IEEE Computer, Vol. 32, No. 7, July 1999, pp. 35–37.
Robin Milner, “Elements of Interaction,” Communications of the ACM, Vol. 36, No. 1, January 1993, pp. 78–89.
Allen Newell, “The knowledge level,” Artificial Intelligence, Vol. 18, No. 1, 1982, pp. 87–127.
Cherri M. Pancake, “The Promise and the Cost of Object Technology: A Five-Year Forecast,” Communications of the ACM, Vol. 38, No. 10, October 1995, pp. 33–49.
M. J. Pont and E. Moreale, “Towards a Practical Methodology for Agent-Oriented Software Engineering with C++ and Java,” Leicester University Technical Report 96-33, December 1996.
C.V. Ramomoorthy and Wei-tek Tsai, “Advances in Software Engineering,” IEEE Computer, Vol. 29, No. 10, October 1996, pp. 47–58.
Anand S. Rao and Michael P. Georgeff, “Modeling rational agents within a BDI-architecture,” in Proceedings of the International Conference on Principles of Knowledge Representation and Reasoning, 1991, pp. 473–484.
D. Riecken, “Introduction to the Special Issue on Intelligent Agents,” Communications of the ACM, Vol. 37, No. 7, 1994, pp. 18–21.
Mary Shaw, “Outlook on Software System Design,” IEEE Computer, Vol. 31, No. 1, January 1998, p. 32.
Yoav Shoham, “Agent-Oriented Programming,” Artificial Intelligence, Vol. 60, No. 2, June 1993, pp. 51–92.
Charles Simonyi, “The Future is Intentional,” IEEE Computer, Vol. 32, No. 5, May 1999, pp. 56–57.
Munindar P. Singh and Michael N. Huhns, “Social Abstractions for Information Agents,” in Intelligent Information Agents, Matthias Klusch, ed., Kluwer Academic Publishers, Boston, MA, 1999.
Clement Szyperski, Component Software: Beyond Object-Oriented Programming, Addison Wesley Longman, 1998.
Milind Tambe, David V. Pynadath, and Nicolas Chauvat, “Building Dynamic Agent Organizations in Cyberspace,” IEEE Internet Computing, Vol. 4, No. 2, March/April 2000.
Jose M. Vidal and Edmund H. Durfee, “Learning Nested Agent Models in an Information Economy,” Journal of Experimental and Theoretical Artificial Intelligence (special issue on learning in distributed artificial intelligence systems), 1998.
Guijun Wang, Liz Ungar, and Dan Klawitter, “Component Assembly for OO Distributed Systems,” IEEE Computer, Vol. 32, No. 7, July 1999, pp. 71–78.
Peter Wegner, “Why Interaction is More Powerful Than Algorithms,” Communications of the ACM, Vol. 40, No. 5, May 1997, pp. 80–91.
Peter Wegner, “Interactive Software Technology,” CRC Handbook of Computer Science and Engineering, May 1996, pp. 1–24.
Peter Wegner, “Interactive Foundations of Object-Based Programming,” IEEE Computer, October 1995, pp. 70–72.
Darrell Woelk, Michael Huhns, and Christine Tomlinson, “Uncovering the Next Generation of Active Objects,” Object Magazine, July-August 1995, pp. 33–40.
Michael J. Wooldridge, “Agents and Software Engineering,” Proceedings AIIA, 1998.
Michael J. Wooldridge, “Agent-Based Software Engineering,” IEE Proceedings on Software Engineering, Vol. 144, No. 1, February 1997, pp. 26–37.
Michael J. Wooldridge and Nicholas R. Jennings, “Software Engineering with Agents: Pit-falls and Pratfalls,” IEEE Internet Computing, Vol. 3, No. 3, May/June 1999.
Michael J. Wooldridge, Nicholas R. Jennings, and David Kinny, “A Methodology for Agent-Oriented Analysis and Design,” in Oren Etzioni, Jean-Pierre Muller, and Jeffrey Bradshaw, eds., Agents’99: Proceedings of the third International Conference on Autonomous Agents, Seattle, WA, May 1999.
Edward Yourdon, “Java, the Web, and Software Development,” IEEE Computer, August 1996, pp. 25–30.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Huhns, M.N. (2001). Interaction-Oriented Programming. In: Ciancarini, P., Wooldridge, M.J. (eds) Agent-Oriented Software Engineering. AOSE 2000. Lecture Notes in Computer Science, vol 1957. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44564-1_2
Download citation
DOI: https://doi.org/10.1007/3-540-44564-1_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41594-7
Online ISBN: 978-3-540-44564-7
eBook Packages: Springer Book Archive