Adding Structure to Agent Programming Languages

  • Peter Novák
  • Jürgen Dix
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4908)


There is a huge gap between agent programming languages used for industrial applications and those developed in academia. While the former are mostly extensions of mainstream programming languages (e.g. Java), the latter are often very specialized languages, based on reactive rules. These specialized languages enjoy clear semantics and come with a number of knowledge representation features, but lack important aspects such as code re-use, modularity, encapsulation etc.

We present a method to extend the syntax of existing specialized agent oriented programming languages to allow more efficient hierarchical structuring of agent programs. We illustrate our method through a simple language based on reactive rules. We then gradually extend the core language by several higher level syntactic constructs, thus improving the support for source code modularity and readability.


Multiagent System Transition Rule Denotational Semantic Concrete Syntax Reactive Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A.: Multi-Agent Programming Languages, Platforms and Applications. In: Multiagent Systems, Artificial Societies, and Simulated Organizations, vol. 15, Kluwer Academic Publishers, Dordrecht (2005)Google Scholar
  2. 2.
    Bordini, R.H., Hübner, J.F., Vieira, R.: Jason and the Golden Fleece of Agent-Oriented Programming. In: Multiagent Systems, Artificial Societies, and Simulated Organizations [1], ch. 1., vol. 15, pp. 3–37 (2005)Google Scholar
  3. 3.
    Braubach, L., Pokahr, A., Lamersdorf, W.: Extending the Capability Concept for Flexible BDI Agent Modularization. In: Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.) PROMAS 2005. LNCS (LNAI), vol. 3862, pp. 139–155. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Busetta, P., Howden, N., Rönnquist, R., Hodgson, A.: Structuring BDI Agents in Functional Clusters. In: Jennings, N.R. (ed.) ATAL 1999. LNCS, vol. 1757, pp. 277–289. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Costantini, S., Tocchio, A.: A Logic Programming Language for Multi-agent Systems. In: Flesca, S., Greco, S., Leone, N., Ianni, G. (eds.) JELIA 2002. LNCS (LNAI), vol. 2424, pp. 1–13. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Dastani, M., van Riemsdijk, B., Hulstijn, J., Dignum, F., Meyer, J.-J.C.: Enacting and deacting roles in agent programming. In: Odell, J.J., Giorgini, P., Müller, J.P. (eds.) AOSE 2004. LNCS, vol. 3382, pp. 189–204. Springer, Heidelberg (2005)Google Scholar
  7. 7.
    Dastani, M., van Riemsdijk, M.B., Meyer, J.-J.: Programming Multi-Agent Systems in 3APL. In: Multiagent Systems, Artificial Societies, and Simulated Organizations [1], ch. 2, vol. 15 pp. 39–68, (2005)Google Scholar
  8. 8.
    de Boer, F.S., Hindriks, K.V., van der Hoek, W., Meyer, J.-J.C.: Agent programming with declarative goals. CoRR, cs.AI/0207008 (2002)Google Scholar
  9. 9.
    Hindriks, K.V., de Boer, F.S., van der Hoek, W., Meyer, J.-J.C.: Agent Programming in 3APL. Autonomous Agents and Multi-Agent Systems 2(4), 357–401 (1999)CrossRefGoogle Scholar
  10. 10.
    Hübner, J.F., Bordini, R.H., Wooldridge, M.: Programming declarative goals using plan patterns. In: Baldoni, M., Endriss, U. (eds.) DALT 2006. LNCS (LNAI), vol. 4327, pp. 123–140. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Leite, J.A., Alferes, J.J., Pereira, L.M.: MINERVA - A Dynamic Logic Programming Agent Architecture. In: Meyer, J.-J.C., Tambe, M. (eds.) ATAL 2001. LNCS (LNAI), vol. 2333, pp. 141–157. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Meyer, B.: Introduction to the Theory of Programming Languages. Prentice-Hall, Englewood Cliffs (1990)Google Scholar
  13. 13.
    Nakashima, H., Wellman, M.P., Weiss, G., Stone, P. (eds.): 5th International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2006), Hakodate, Japan, May 8-12, 2006. ACM, New York (2006)Google Scholar
  14. 14.
    Novák, P., Dix, J.: Adding structure to agent programming languages. Technical Report IfI-06-12, Clausthal University of Technology (2006)Google Scholar
  15. 15.
    Novák, P., Dix, J.: Modular BDI architecture. In: Nakashima et al [13], pp. 1009–1015.Google Scholar
  16. 16.
    Rao, A.S.: AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language. In: Perram, J., Van de Velde, W. (eds.) MAAMAW 1996. LNCS, vol. 1038, pp. 42–55. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  17. 17.
    Subrahmanian, V.S., Bonatti, P.A., Dix, J., Eiter, T., Kraus, S., Ozcan, F., Ross, R.: Heterogenous Active Agents. MIT Press, Cambridge (2000)Google Scholar
  18. 18.
    van Riemsdijk, M.B., Dastani, M., Meyer, J.-J.C., de Boer, F.S.: Goal-oriented modularity in agent programming. In: Nakashima et al [13], pp. 1271–1278.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Peter Novák
    • 1
  • Jürgen Dix
    • 1
  1. 1.Department of InformaticsClausthal University of TechnologyGermany

Personalised recommendations