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.
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
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)
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)
Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.): Programming Multi-Agent Systems. LNCS (LNAI), vol. 3346. Springer, Heidelberg (2005)
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)
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)
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: Maude manual (version 2.1.1) (2005)
Clavel, M., Meseguer, J.: Reflection and strategies in rewriting logic. Electronic Notes in Theoretical Computer Science 4, 125–147 (1996)
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)
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)
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)
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)
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)
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)
Holzmann, G.: Design and Validation of Computer Protocols. Prentice Hall, New Jersey (1991)
Holzmann, G.: The model checker SPIN. IEEE Trans. Software Engineering 23(5), 279–295 (1997)
Kulas, M., Beierle, C.: Defining standard Prolog in rewriting logic. In: Electronic Notes in Theoretical Computer Science, vol. 36, Elsevier, Amsterdam (2000)
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)
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96, 73–155 (1992)
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)
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)
P. C. Ölveczky: Formal modeling and analysis of distributed systems in Maude. Lecture Notes (2005)
Plotkin, G.D.: A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, University of Aarhus (1981)
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)
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)
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)
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)
Verdejo, A., Martí-Oliet, N.: Executable structural operational semantics in Maude. Technical report, Universidad Complutense de Madrid, Madrid (2003)
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)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
van Riemsdijk, M.B., de Boer, F.S., Dastani, M., Meyer, JJ.C. (2007). Prototyping 3APL in the Maude Term Rewriting Language. In: Inoue, K., Satoh, K., Toni, F. (eds) Computational Logic in Multi-Agent Systems. CLIMA 2006. Lecture Notes in Computer Science(), vol 4371. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69619-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-69619-3_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69618-6
Online ISBN: 978-3-540-69619-3
eBook Packages: Computer ScienceComputer Science (R0)