A Functional Approach to Agent Development: Research Agenda

A vast array of solutions for developing multiagent systems has been proposed over the past decades. While every solution has its strong points, a trade-off has to be made between expressivity and generality. It is our opinion that by embedding an agent development language in a general purpose functional language we can obtain a solution that can address this gap. In this paper we present our approach on developing a complete solution for implementing multi-agent systems. We motivate our claims about embedded domain specific languages by means of an example. We also expand on the future directions of our research regarding workflow-oriented coordination and organizational aspects in multi-agent systems.

[1]  Amal El Fallah Seghrouchni,et al.  A programming language for autonomous and mobile agents , 2003, IEEE/WIC International Conference on Intelligent Agent Technology, 2003. IAT 2003..

[2]  Jürgen Dix,et al.  Multi-Agent Programming , 2009, Springer US.

[3]  Farhad Arbab,et al.  Coordination and composition in multi-agent systems , 2005, AAMAS '05.

[4]  Álvaro F. Moreira,et al.  An Agent-Oriented Programming Language for Computing in Context , 2006, IFIP PPAI.

[5]  Viktor Kuncak,et al.  Opis: reliable distributed systems in OCaml , 2009, TLDI '09.

[6]  Allen D. Malony,et al.  Workflow representation and runtime based on lazy functional streams , 2009, WORKS '09.

[7]  Farhad Arbab,et al.  Reo Connectors as Coordination Artifacts in 2APL Systems , 2008, PRIMA.

[8]  Jürgen Dix,et al.  Multi-Agent Programming: Languages, Tools and Applications , 2009 .

[9]  Pierre-Yves Oudeyer,et al.  Introduction to POS: A Protocol Operational Semantics , 2001, Int. J. Cooperative Inf. Syst..

[10]  Douglas C. Schmidt,et al.  Multi-agent distributed adaptive resource allocation (MADARA) , 2010, Int. J. Commun. Networks Distributed Syst..

[11]  Lu Xing,et al.  Cloud-Oriented Virtual Machine Management with MLN , 2009, CloudCom.

[12]  Marek J. Sergot,et al.  A logic-based calculus of events , 1989, New Generation Computing.

[13]  John Hughes,et al.  Generalising monads to arrows , 2000, Sci. Comput. Program..

[14]  Michael Thielscher,et al.  Introduction to the Fluent Calculus , 1998, Electron. Trans. Artif. Intell..

[15]  Mehdi Dastani,et al.  2APL: a practical agent programming language , 2008, Autonomous Agents and Multi-Agent Systems.

[16]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[17]  Zoran Budimac,et al.  Software agents: Languages, tools, platforms , 2011, Comput. Sci. Inf. Syst..

[18]  Paul Hudak,et al.  Functional reactive programming from first principles , 2000, PLDI '00.

[19]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

[20]  Ying Guan,et al.  Executable specifications for agent oriented conceptual modelling , 2005, IEEE/WIC/ACM International Conference on Intelligent Agent Technology.

[21]  João Leite,et al.  A Survey of Programming Languages and Platforms for Multi-Agent Systems , 2006, Informatica.

[22]  Hector J. Levesque,et al.  Foundations for the Situation Calculus , 1998, Electron. Trans. Artif. Intell..

[23]  Guido Boella,et al.  Coordination and Organization: Definitions, Examples and Future Research Directions , 2006, CoOrg@COORDINATION.

[24]  Michal Pechoucek,et al.  Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems , 2005, AAMAS 2005.

[25]  Aneesh Krishna,et al.  Towards Executable Specification: Combining i* and AgentSpeak(L) , 2005, SEKE.

[26]  Takeo Kanade,et al.  Software Engineering for Self-Adaptive Systems II , 2013, Lecture Notes in Computer Science.

[27]  Michael Norrish,et al.  seL4: formal verification of an operating-system kernel , 2010, Commun. ACM.

[28]  Norbert E. Fuchs Specifications are (preferably) executable , 1992, Softw. Eng. J..

[29]  Lars Braubach,et al.  The Notions of Application , Spaces and Agents New Concepts for Constructing Agent Applications , 2010 .