AgentSpeak
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
Paradigm | Agent-oriented programming |
---|---|
Designed by | Anand Rao |
First appeared | 1996 |
Major implementations | |
Jason |
AgentSpeak is an agent-oriented programming language. It is based on logic programming and the belief–desire–intention software model (BDI) architecture for (cognitive) autonomous agents. The language was originally called AgentSpeak(L), but became more popular as AgentSpeak, a term that is also used to refer to the variants of the original language.
History
[edit]In 1996, Anand Rao created a logic-based agent programming language based on the BDI architecture and named it AgentSpeak(L).[1] This became a highly cited paper in the multi-agent systems literature. In its original conception, AgentSpeak was an abstract agent programming language aimed to help the understanding of the relation between practical implementations of the BDI architecture such as procedural reasoning system (PRS)[2] and the formalisation of the ideas behind the BDI architecture using modal logics.[3]
Various authors contributed to the further formalisation of the AgentSpeak(L) language.[4] In recent years, the language has been revived both in research and development. In terms of research, there has been work both on extensions of AgentSpeak[5][6][7] as well as on formal verification of AgentSpeak programs using model checking.[8][9] The language is also one of the most popular agent-oriented languages because of the development of the Jason platform.
AgentSpeak(L) is also the most prominent means for developing the solution for the Multi-Agent Programming Contest from the beginning of the competition up to the recent edition.
Example
[edit]Hello World program in AgentSpeak(L), based on Jason:
//Belief indicating the message to print.
message("Hello World!").
//Initial goal
!start.
//Plan
+!start: message(M) <-
.print(M). //Internal action from Jason to print a message.
See also
[edit]References
[edit]- ^ Anand S. Rao, 1996. AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language. Proceedings of Seventh European Workshop on Modelling Autonomous Agents in a Multi-Agent World (MAAMAW-96).
- ^ Michael P. Georgeff, Amy L. Lansky: Reactive Reasoning and Planning. AAAI 1987: 677–682
- ^ A.Rao and M.Georgeff. Decision Procedures for BDI Logics. Journal of Logic and Computation 8(3), 293–343 (1998).
- ^ Mark d'Inverno, Michael Luck: Engineering AgentSpeak(L): A Formal Computational Model. J. Log. Comput. 8(3): 233-260 (1998).
- ^ R.H.Bordini, J.F.Hubner, M.Wooldridge. Programming Multi-Agent Systems in AgentSpeak Using Jason. John Wiley & Sons, 2007.
- ^ Rafael H. Bordini, Álvaro F. Moreira: Proving BDI Properties of Agent-Oriented Programming Languages. Ann. Math. Artif. Intell. 42(1–3): 197–226 (2004)
- ^ Renata Vieira, Álvaro F. Moreira, Michael Wooldridge, Rafael H. Bordini: On the Formal Semantics of Speech-Act Based Communication in an Agent-Oriented Programming Language. J. Artif. Intell. Res. (JAIR) 29: 221-267 (2007)
- ^ Rafael H. Bordini, Michael Fisher, Willem Visser, Michael Wooldridge: Model Checking Rational Agents. IEEE Intelligent Systems 19(5): 46–52 (2004).
- ^ Rafael H. Bordini, Michael Fisher, Willem Visser, Michael Wooldridge: Verifying Multi-agent Programs by Model Checking. Autonomous Agents and Multi-Agent Systems 12(2): 239–256 (2006)
External links
[edit]- AgentSpeak on SourceForge is an interpreter for an extension of AgentSpeak.