Prototyping 3APL in the Maude Term Rewriting Language

  • M. Birna van Riemsdijk
  • Frank S. de Boer
  • Mehdi Dastani
  • John-Jules Ch. Meyer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4371)

Abstract

This paper presents an implementation of (a simplified version of) the cognitive agent programming language 3APL in the Maude term rewriting language. Maude is based on the mathematical theory of rewriting logic. The language has been shown to be suitable both as a logical framework in which many other logics can be represented, and as a semantic framework, through which programming languages with an operational semantics can be implemented in a rigorous way. We explore the usage of Maude in the context of agent programming languages, and argue that, since agent programming languages such as 3APL have both a logical and a semantic component, Maude is very well suited for prototyping such languages. Further, we show that, since Maude is reflective, 3APL’s meta-level reasoning cycle or deliberation cycle can be implemented very naturally in Maude. Moreover, although we have implemented a simplified version of 3APL, we argue that Maude is very well suited for implementing various extensions of this implemented version. An important advantage of Maude, besides the fact that it is well suited for prototyping agent programming languages, is that it can be used for verification as it comes with an LTL model checker. Although this paper does not focus on model checking 3APL, the fact that Maude provides these verification facilities is an important motivation for our effort of implementing 3APL in Maude.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ahrendt, W., Roth, A., Sasse, R.: Automatic validation of transformation rules for Java verification against a rewriting semantics. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, pp. 412–426. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Baalen, J.V., Caldwell, J.L., Mishra, S.: Specifying and checking fault-tolerant agent-based protocols using Maude. In: Rash, J.L., Rouff, C.A., Truszkowski, W., Gordon, D.F., Hinchey, M.G. (eds.) FAABS 2000. LNCS (LNAI), vol. 1871, pp. 180–193. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.): Programming Multi-Agent Systems. LNCS (LNAI), vol. 3346. Springer, Heidelberg (2005)Google Scholar
  4. 4.
    Bordini, R.H., Fisher, M., Pardavila, C., Wooldridge, M.: Model checking AgentSpeak. In: Proceedings of the second international joint conference on autonomous agents and multiagent systems (AAMAS’03), Melbourne, pp. 409–416 (2003)Google Scholar
  5. 5.
    Boudiaf, N., Mokhati, F., Badri, M., Badri, L.: Specifying DIMA multi-agent models using Maude. In: Barley, M.W., Kasabov, N. (eds.) PRIMA 2004. LNCS (LNAI), vol. 3371, pp. 29–42. Springer, Heidelberg (2005)Google Scholar
  6. 6.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: Maude manual (version 2.1.1) (2005)Google Scholar
  7. 7.
    Clavel, M., Meseguer, J.: Reflection and strategies in rewriting logic. Electronic Notes in Theoretical Computer Science 4, 125–147 (1996)MathSciNetGoogle Scholar
  8. 8.
    Dastani, M., de Boer, F.S., Dignum, F., Meyer, J.-J.C.: Programming agent deliberation – an approach illustrated using the 3APL language. In: Proceedings of the second international joint conference on autonomous agents and multiagent systems (AAMAS’03), Melbourne, pp. 97–104 (2003)Google Scholar
  9. 9.
    Dastani, M., van Riemsdijk, M.B., Dignum, F., Meyer, J.-J.C.: A programming language for cognitive agents: goal directed 3APL. In: Dastani, M., Dix, J., El Fallah-Seghrouchni, A. (eds.) PROMAS 2003. LNCS (LNAI), vol. 3067, pp. 111–130. Springer, Heidelberg (2004)Google Scholar
  10. 10.
    Dastani, M., van Riemsdijk, M.B., Meyer, J.-J.C.: Programming multi-agent systems in 3APL. In: Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.) Programming Multi-Agent Systems. LNCS (LNAI), vol. 3346, Springer, Heidelberg (2005)Google Scholar
  11. 11.
    Durán, F., Eker, S., Lincoln, P., Meseguer, J.: Principles of mobile Maude. In: Kotz, D., Mattern, F. (eds.) MA 2000, ASA/MA 2000, and ASA 2000. LNCS, vol. 1882, pp. 73–85. Springer, Heidelberg (2000)Google Scholar
  12. 12.
    Eker, S., Meseguer, J., Sridharanarayanan, A.: The Maude LTL model checker. In: Gaducci, F., Montanari, U. (eds.) Proceedings of the 4th International Workshop on Rewriting Logic and Its Applications (WRLA 2002). Electronic Notes in Theoretical Computer Science, vol. 71, Elsevier, Amsterdam (2002)Google Scholar
  13. 13.
    Hindriks, K.V., de Boer, F.S., van der Hoek, W., Meyer, J.-J.C.: Agent programming in 3APL. Int. J. of Autonomous Agents and Multi-Agent Systems 2(4), 357–401 (1999)CrossRefGoogle Scholar
  14. 14.
    Holzmann, G.: Design and Validation of Computer Protocols. Prentice Hall, New Jersey (1991)Google Scholar
  15. 15.
    Holzmann, G.: The model checker SPIN. IEEE Trans. Software Engineering 23(5), 279–295 (1997)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Kulas, M., Beierle, C.: Defining standard Prolog in rewriting logic. In: Electronic Notes in Theoretical Computer Science, vol. 36, Elsevier, Amsterdam (2000)Google Scholar
  17. 17.
    Martí-Oliet, N., Meseguer, J.: Rewriting logic as a logical and semantic framework. In: Meseguer, J. (ed.) Electronic Notes in Theoretical Computer Science, vol. 4, Elsevier, Amsterdam (2000)Google Scholar
  18. 18.
    Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96, 73–155 (1992)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Meseguer, J.: Membership algebra as a logical framework for equational specification. In: Parisi-Presicce, F. (ed.) WADT 1997. LNCS, vol. 1376, pp. 18–61. Springer, Heidelberg (1998)Google Scholar
  20. 20.
    Moreira, A., Bordini, R.: An operational semantics for a BDI agent-oriented programming language. In: Proceedings of the Workshop on Logics for Agent-Based Systems (LABS’02) (2002)Google Scholar
  21. 21.
    P. C. Ölveczky: Formal modeling and analysis of distributed systems in Maude. Lecture Notes (2005)Google Scholar
  22. 22.
    Plotkin, G.D.: A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, University of Aarhus (1981)Google Scholar
  23. 23.
    Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: a BDI reasoning engine. In: Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.) Programming Multi-Agent Systems. LNCS (LNAI), vol. 3346, Springer, Heidelberg (2005)Google Scholar
  24. 24.
    van Riemsdijk, M.B., Dastani, M., Meyer, J.-J.C.: Semantics of declarative goals in agent programming. In: Proceedings of the fourth international joint conference on autonomous agents and multiagent systems (AAMAS’05), Utrecht, pp. 133–140 (2005)Google Scholar
  25. 25.
    van Riemsdijk, M.B., Meyer, J.-J.C., de Boer, F.S.: Semantics of plan revision in intelligent agents. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 426–442. Springer, Heidelberg (2004)Google Scholar
  26. 26.
    van Riemsdijk, M.B., van der Hoek, W., Meyer, J.-J.C.: Agent programming in Dribble: from beliefs to goals using plans. In: Proceedings of the second international joint conference on autonomous agents and multiagent systems (AAMAS’03), Melbourne, pp. 393–400 (2003)Google Scholar
  27. 27.
    Verdejo, A., Martí-Oliet, N.: Executable structural operational semantics in Maude. Technical report, Universidad Complutense de Madrid, Madrid (2003)Google Scholar
  28. 28.
    Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, pp. 675–788. Elsevier, Amsterdam (1990)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • M. Birna van Riemsdijk
    • 1
  • Frank S. de Boer
    • 1
    • 2
    • 3
  • Mehdi Dastani
    • 1
  • John-Jules Ch. Meyer
    • 1
  1. 1.ICS, Utrecht UniversityThe Netherlands
  2. 2.CWI, AmsterdamThe Netherlands
  3. 3.LIACS, Leiden UniversityThe Netherlands

Personalised recommendations