Formal semantics for an abstract agent programming language

  • Koen V. Hindriks
  • Frank S. de Boer
  • Wiebe van der Hoek
  • John-Jules Ch. Meyer
Section V: Theories
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1365)


In this article we investigate agent-oriented programming both from a theoretical and a practical view. We propose an abstract agent programming language with a clear and formally defined semantics. The semantics of our language is defined in terms of a transition system. Our language combines features of both logic programming, i.e. it is rule-based, and imperative programming, i.e. it includes the full range of conventional programming constructs. These features are well-understood and provide a solid basis for a structured agent programming language. On the more practical side we investigate the different properties of agents usually attributed to them, i.e. agents have a complex mental state, act pro-actively and reactively, and have reflective capabilites. We illustrate how these properties of agents are implemented in our programming language. In particalur, we propose general rules, called practical reasoning rules, which are used to define the reflective capabilities of agents and provide a mechanism for goal revision. The combination of the theoretical and practical perspective contributes, we hope, to filling the gap between theory and practice.


formal semantics agent programming self-modification practical reasoning reflective capabilites 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    P.R. Cohen and H.J. Levesque. Intention is choice with commitment. Artificial Intelligence, 42:213–261, 1990.CrossRefGoogle Scholar
  2. 2.
    Frank Dignum and Rosaria Conte. Intentional Agents and Goal Formation. In this volume.Google Scholar
  3. 3.
    Mark d'Invemo, David Kinny, Michael Luck, and Michael Wooldridge, A Formal Specification of dMARS. In this volume.Google Scholar
  4. 4.
    B. Dunin-Keplicz and J. Treur. Compositional Formal Specification of Multi-Agent Systems. In M.J. Wooldridge and N.R. Jennings, editors, Intelligent Agents, pages 102–117. Springer-Verlag, 1995.Google Scholar
  5. 5.
    R.E. Fikes and N.J. Nilson. STRIPS: A new approach to the application of theorem proving to problem solving. Artificial Intelligence, 2(3–4):189–208, 1971.CrossRefGoogle Scholar
  6. 6.
    M. Fisher.A Survey of Concurrent MetateM — The Language and its Applications. In Temporal Logic, pages 480–505. Springer, 1994.Google Scholar
  7. 7.
    G. De Giacomo, Y. Lespérance, and H.J. Levesque. Reasoning about concurrent execution, prioritized interrupts, and exogenous actions in the situation calculus. accepted for IJCAI-97.Google Scholar
  8. 8.
    Y Lespérance, H.J. Levesque, F. Lin, and D. Marcu. Foundations of a Logical Approach to Agent Programming. In M.J. Wooldridge, J.P. Miller, and M. Tambe, editors, Intelligent Agents II, pages 331–346. Springer, 1996.Google Scholar
  9. 9.
    J.W. Lloyd. Foundations of Logic Programming. Springer, 1987.Google Scholar
  10. 10.
    Marco Mulder, Jan Treur, and Michael Fisher. Agent Modelling in MetateM and DESIRE. In this volume.Google Scholar
  11. 11.
    J.P. Müller. The Design of Intelligent Agents. Springer, 1996.Google Scholar
  12. 12.
    G. Plotkin. A structural approach to operational semantics. Technical report, Aarhus University, Computer Science Department, 1981.Google Scholar
  13. 13.
    A. Poggi. DAISY: An object-oriented system for distributed artificial intelligence. In M.J. Wooldridge and N.R. Jennings, editors, Intelligent Agents, pages 341–354. Springer, 1995.Google Scholar
  14. 14.
    Anand S. Rao. AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language. In W. van der Velde and J.W. Perram, editors, Agents Breaking Away, pages 42–55. Springer, 1996.Google Scholar
  15. 15.
    Yoav Shoham. Agent-oriented programming. Artificial Intelligence, 60:51–92, 1993.CrossRefGoogle Scholar
  16. 16.
    M.P. Singh. Multiagent systems, volume 799 of LNAI. Springer, 1994.Google Scholar
  17. 17.
    Sarah Rebecca Thomas. PLACA, An Agent Oriented Programming Language. PhD thesis, Department of Computer Science, Stanford University, 1993.Google Scholar
  18. 18.
    W. van der Hoek, B. van Linder, and J.-J. Ch. Meyer. A logic of capabilities. In A. Nerode and Y.V. Matiyasevich, editors, Proc. of the third int. symposium on the logical foundations of computer science, pages 366–378. Springer, 1994.Google Scholar
  19. 19.
    R.M. van Eijk, F.S. de Boer, W. van der Hoek, and J.-J. Ch. Meyer. Concurrent programming languages for multi-agent systems. Technical report, Department of Computer Science, University Utrecht, 1997.Google Scholar
  20. 20.
    B. van Linder, W. van der Hoek, and J.-J.Ch. Meyer. Formalising motivational attitudes of agents: On preferences, goals, and commitments. In M.J. Wooldridge, J.P. Müller, and M. Tambe, editors, Intelligent agents II, pages 17–32. Springer, 1996.Google Scholar
  21. 21.
    M.J. Wooldridge. A Knowledge-Theoretic Semantics for Concurrent MetateM. In J.P. Müller, M.J. Wooldridge, and N.R. Jennings, editors, Intelligent Agents III, pages 357–374. Springer, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Koen V. Hindriks
    • 1
  • Frank S. de Boer
    • 1
  • Wiebe van der Hoek
    • 1
  • John-Jules Ch. Meyer
    • 1
  1. 1.Department of Computer ScienceUniversiteit UtrechtUtrechtThe Netherlands

Personalised recommendations