3 research outputs found

    Unifying micro-agent communication in the Otago Agent Platform (OPAL)

    Get PDF
    Multi-agent frameworks are broadly available in the meanwhile. Nearly all of them however understand the agent concept differently, going as far as to provide several agent concepts within a platform. Along with this performance results of selected platforms allow to identify two clusters defined either by efficiency of processing or expressiveness of interaction language. As the only platform being related to both clusters the Otago Agent Platform (OPAL) which uses the efficiency-driven concept of ’Micro-agents’ is reviewed. As a result of the analysis the current implementation of the Micro-agents is considered to be too intransparent to allow monitoring at runtime or even cross-platform interaction. As such the implementation of a unified message infrastructure is suggested to simplify development of micro-agent interaction and provide monitoring capabilities while minimizing the loss of efficiency. The integration of Clojure as functional language is further considered to provide improved facilities for concurrent processing, usability and additional agent implementation languages. The results of the hybrid imperative-functional implementation are behind the expected outcome as the runtime takes about five times as long as the original runtime. The results still offer potential for adoption as of the usability improvements and the fact that they are still far below the runtime of the slowest platform in the comparison. The choice of Clojure as language base for the whole platform is believed to be a promising next step to improve performance and avoid switching between different programming paradigms while keeping the improvements achieved. Further research with regards to a stronger integration of concepts of Agent-Oriented Software Engineering in the amended OPAL is suggested.Unpublished[1] L. Sterling and K. Taveter. The Art of Agent-Oriented Modeling. MIT Press, Cambridge, MA, 2009. [2] H. Haugeneder and D. Steiner. Agent Technology - Foundations, Applications, and Markets, chapter Co-operating Agents: Concepts and Applications, pages 175–202. Springer, 1998. [3] M. Ljunberg and A. Lucas. The oasis air traffic management system. Proceedings of the Second Pacific Rim Conference on AI (PRICAI-92), Seoul, Korea, 1992. [4] Nicholas R. Jennings and Michael J. Wooldridge. Agent Technology - Foundations, Applications, and Markets, chapter Applications of Intelligent Agents, pages 3–28. Springer, Berlin, Heidelberg, New York, 1998. [5] A. Helsinger, M. Thome, and T. Wright. Cougaar: A Scalable, Distributed Multi-Agent Architecture. IEEE, 2004. [6] O. Gutknecht, J. Ferber, and F. Michel. The MadKit Agent Platform Architecture. Technical report, Laboratoire d’Informatique, de Robotique et de Microelectronique de Montpellier, Universite Montpellier II, 2000. [7] Publicly Available Implementations of FIPA Specifications, 2003. URL http://www.fipa.org/resources/livesystems.html. Accessed on: 10th October 2009. [8] FIPA-OS Agent Toolkit, 2003. URL http://sourceforge.net/projects/fipa-os/files/. Accessed on: 10th October 2009. [9] Tryllian Agent Development Toolkit, 2005. URL http://www.tryllian. org/. Accessed on: 10th October 2009. [10] Java Agent Services. URL http://sourceforge.net/projects/jas/. Accessed on: 10th October 2009. [11] Michael Wooldridge. Agent-based software engineering. IEE Proceedings in Software Engineering, 144:26–37, 1997. [12] Nicholas R. Jennings and Michael Wooldridge. Agent-Oriented Software Engineering. Artificial Intelligence, 117:277–296, 2000. [13] J.S. Rosenschein and M.R. Genesereth. Deals among Rational Agents. In A. Joshi, editor, IJCAI-85, pages 91–95, California, 1985. Morgan Kaufman Publishers Inc. [14] Henry Hexmoor, Cristiano Castelfranchi, and Rine Falcone. Agent Autonomy, chapter A Prospectus on Agent Autonomy, pages 1–10. Kluwer Academic Publishers, 2003. [15] M. Nowostawski and M. Purvis. The concept of autonomy in distributed computation and multi-agent systems. The Information Science Discussion Paper Series, 2007. [16] Jacques Ferber. Multi-Agent Systems - An Introduction to Distributed Artificial Intelligence. Addison-Wesley, 1999. [17] Stan Franklin and Art Graesser. Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agent. Proceedings of the Third International Workshop on Agent Theories, Architectures, and Language, 1996. [18] M. Wooldridge and N. R. Jennings. Intelligent Agents: Theory and Practice. The Knowledge Engineering Review, 10:115–152, 1995. [19] Alex L.G. Hayzelden, John Bigham, Michael Wooldridge, and Laurie G. Cuthbert. Software Agents for Future Communication Systems, chapter Future Communication Networks using Software Agents, pages 1–57. Springer, 1999. [20] John R. Searle. Speech Acts: An Essay in the Philosophy of Language. Cambridge University Press, 1969. [21] John L. Austin. How to do things with words. Oxford University Press, Oxford, 1975. [22] Munindar P. Singh. Agent Communication Languages: Rethinking the Principles. Computer, 31(12):40–47, 1998. [23] ARPA. Specification of the KQML agent communication language, volume Working Paper. ARPA Knowledge Sharing Effort, External Interfaces Working Group, 1993. [24] FIPA. FIPA Communicative Act Library Specification. Foundation for Intelligent Physical Agents (FIPA), 2002. [25] Tim Finin, Richard Fritzson, Don McKay, and Robin McEntire. KQML as an agent communication language. In CIKM ’94: Proceedings of the third international conference on Information and knowledge management, pages 456–463, New York, NY, USA, 1994. ACM. [26] Antonio Lopes and Luis Botelho. Multi-Agent Systems and Applications IV, volume 3690/2005, chapter Chomsky: A Content Language Translation Agent, pages 535–538. Springer, 2005. [27] M. Greaves, H. Holmback, and J. Bradshaw. Issues in Agent Communication, chapter What is a Conversation Policy?, pages 118–131. Springer, 2000. [28] FIPA Interaction Protocol Specifications, 2002. URL http://www.fipa.org/repository/ips.php3. Accessed on: 10th October 2009. [29] Michael E. Bratman. Intention, Plans and Practical Reason. CSLI Publications, Stanford University, 1987. [30] Michael P. Georgeff and A. L. Lansky. Reactive reasoning and planning. In Proceedings of the Sixth National Conference on Artificial Intelligence (AAAI-87), pages 677–682, Seattle, WA, USA, 1987. [31] M. d’Inverno, D. Kinny, M. Luck, and M. Wooldridge. A formal specification of dMARS. Intelligent Agents IV, LNAI 1365:155–176, 1997. [32] P. Busetta, N. Howden, R. Ronnquist, and A. Hodgson. Structuring BDI agents in functional clusters. Intelligent Agents VI - Proceedings of the Sixth International Workshop on Agent Theories, Architectures, and Languages (ATAL-99), LNAI:277–289, 2000. [33] Anand A. Rao and Michael P. Georgeff. BDI Agents: From Theory to Practice. Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95), 1995. [34] L. Braubach, Alexander Pokahr, Winfried Lamersdorf, and Daniel Moldt. Goal Representation for BDI Agent Systems. Second International Workshop on Programming Multiagent Systems: Languages and Tools, 4:9–20, 2004. [35] Michael Winikoff, J. Harland, and L. Padgham. Declarative & Procedural Goals Intelligent Agent Systems. Proceedings of KR03, 2002. [36] Rodney A. Brooks. A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, 2:14–23, 1986. [37] Rodney A. Brooks. Elephants Don’t Play Chess. Robotics and Autonomous Systems, 6:3–15, 1990. [38] Weiming Shen, D. H. Norrie, and J.-P. Barths. Multi-Agent systems for concurrent intelligent design and manufacturing. CRC Press, 2001. [39] J. Mueller. The Design of Intelligent Agents: a layered approach. Lecture Notes in Computer Science, 1177, 1996. [40] N. R. Jennings, E. H. Mamdani, I. Laresgoiti, J. Perez, and J. Corera. GRATE: A General Framework for Cooperative Problem Solving. IEE-BCS Journal of Intelligent Systems Engineering, 1:102–114, 1992. [41] Nicholas R. Jennings. Agent-based Computing: Promise and Perils. In In Proceedings of the 16th International Joint Conference on Artificial Intelligence, pages 1429–1436, 1999. [42] G. Booch. Object-oriented Analysis and Design with Applications. Addison-Wesley, 1994. [43] Yoav Shoham. Agent-oriented programming. Artif. Intell., 60(1):51–92, 1993. ISSN 0004-3702. doi: http://dx.doi.org/10.1016/0004-3702(93)90034-9. [44] Juergen Lind. Iterative software engineering for multiagent systems: the MASSIVE method. Springer, 2001. [45] Michael Wooldridge, Nicholas R. Jennings, and David Kinny. The gaia methodology for agent-oriented analysis and design. Autonomous Agents and Multi-Agent Systems, 3(3):285–312, September 2000. ISSN 1387-2532. doi: 10.1023/A:1010071910869. URL http://dx.doi.org/10.1023/A: 1010071910869. [46] Mark Wood and Scott Deloach. An overview of the multiagent systems engineering methodology. pages 1–53. 2001. doi: 10.1007/3-540-44564-1\ 14. URL http://dx.doi.org/10.1007/3-540-44564-1_14. [47] Paolo Giorgini, Manuel Kolp, John Mylopoulos, and Marco Pistore. The tropos methodology: An overview. In In Methodologies and Software Engineering for Agent Systems, Kluwer, page 505. Kluwer Academic Press, 2003. [48] Lin Padgham and Michael Winikoff. Prometheus: A methodology for developing intelligent agents, 2002. [49] Lin Padgham, John Thangarajah, and Michael Winikoff. Tool support for agent development using the prometheus methodology. In QSIC ’05: Proceedings of the Fifth International Conference on Quality Software, pages 383–388, Washington, DC, USA, 2005. IEEE Computer Society. ISBN 0-7695-2472-9. doi: http://dx.doi.org/10.1109/QSIC.2005.66. [50] Michael Georgeff. The gap between software engineering and multi-agent systems: Bridging the Divide. International Journal for Agent-Oriented Software Engineering, 3(4):391–396, 2009. [51] Joshua Kerievsky. Refactoring to patterns. Addison-Wesley, 2005. [52] Craig Larman. Applying UML and Patterns: An Introduction to Object-oriented Analysis and Design and Iterative Development, volume 3. Markt und Technik, 2005. [53] FIPA. FIPA Agent Management Specification, 2004. URL http://www. fipa.org/specs/fipa00023/SC00023K.html. Accessed on: 10th October 2009. [54] F. Bellifemine, G. Caire, and D. Greenwood. Developing Multi-Agent Systems with JADE. John Wiley & Sons, 2007. [55] JADE - Java Agent DEvelopment Framework, October 2009. URL http://jade.tilab.com. Accessed on: 10th October 2009. [56] A. Pokahr, L. Braubach, and W. Lamersdorf. Jadex: Implementing a BDI-infrastructure for JADE Agents. EXP - In Search of Innovation, 3(3):76–85, 2003. URL http://jadex.informatik.uni-hamburg.de/bin/view/About/Overview. Accessed on: 10th October 2009. [57] M. Purvis, S. Cranefield, M. Nowostawski, and D. Carter. Opal - A Multi-Agent Infrastructure for Agent-Oriented Software Development. Technical report, Information Science Dept., University of Otago, NZ, 2002. [58] J. Ferber and O. Gutknecht. A meta-model for the analysis and design of organizations in multi-agent systems. Third International Conference on Multi-Agent Systems (ICMAS ’98), IEEE Computer Society, pages 128–135, 1998. [59] MadKit 4.1 features, 2008. URL http://www.madkit.net/features.php? idfeatures=1. Accessed on: 10th October 2009. [60] BBN Technologies, 2009. URL http://www.bbn.com/. Accessed on: 10th October 2009. [61] CougaarFAQ - Who uses Cougaar?, 2009. URL http://cougaar.org/twiki/bin/view/Main/CougaarFAQ#users. Accessed on: 10th October 2009. [62] J. Haack, A. Cowell, and I. Gorton. Dimensions of Usability: Cougaar, Aglets, and Adaptive Agent Architecture (AAA). In Proceedings of the first OpenCougaar Conference (OCC’04), pages 107–114, New York, 2004. URL http://cougaar.org/twiki/pub/Main/CougaarMeetings/OCC04_-_ Proceedings.pdf. Accessed on: 10th October 2009. [63] BBN Technologies. Cougaar Architecture Document. Technical report, 2004. URL http://cougaar.org/twiki/pub/Main/CougaarDocuments/CAD_11_4.pdf. Accessed on: 10th October 2009. [64] M. Thome, T. Wright, and S. Rosset. The Cougaar Component Modeling, or ”How I Learned to Stop Worrying and Love Contributed Software”. In Proceedings of the first OpenCougaar Conference (OCC’04), pages 115–123, New York, 2004. [65] Which Message Transport protocols are supported?, 2009. URL http://cougaar.org/twiki/bin/view/Main/CougaarFAQ#mts. Accessed on: 10th October 2009. [66] What does COUGAAR stand for?, 2009. URL http://cougaar.org/twiki/bin/view/Main/CougaarFAQ#standfor. Accessed on: 10th October 2009. [67] M. Nowostawski, G. Bush, M. Purvis, and S. Cranefield. A Multi-Level Approach and Infrastructure for Agent-Oriented Software Development. Technical report, Department of Information Science, University of Otago, 2001. [68] M. Purvis, M. Nowostawski, M. Oliveira, and S. Cranefield. Multi-Agent Interaction Protocols for e-Business. Proceedings of the IEEE/WIC International Conference on Intelligent Agent Technology (IAT ’03), 2003. [69] Lars Ehrler and Stephen Cranefield. Executing Agent UML Diagrams. In AAMAS ’04: Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, pages 906–913, Washington, DC, USA, 2004. IEEE Computer Society. ISBN 1-58113-864-4. doi: http://dx.doi.org/10.1109/AAMAS.2004.118. [70] Mengqiu Wang, Martin Purvis, and Mariusz Nowostawski. An Internal Agent Architecture Incorporating Standard Reasoning Components and Standards-based Agent Communication. Intelligent Agent Technology, IEEE / WIC / ACM International Conference on, 0:58–64, 2005. doi: http://doi.ieeecomputersociety.org/10.1109/IAT.2005.43. [71] M. Nowostawski, M. Purvis, and S. Cranefield. KEA - Multi-Level Agent Architecture. Technical report, Department of Information Science, University of Otago, 2001. [72] M. Nowostawski. Otago Agent Platform Developer’s Guide. Technical report, Department of Information Science, University of Otago, 2004. [73] Paul Hudak. Conception, evolution, and application of functional programming languages. ACM Comput. Surv., 21(3):359–411, 1989. ISSN 0360-0300. doi: http://doi.acm.org/10.1145/72551.72554. [74] J. Bartlett. Lazy programming and lazy evaluation, 2006. URL http://www. ibm.com/developerworks/linux/library/l-lazyprog.html. Accessed on: 10th October 2009. [75] The Scala Programming Language, 2009. URL http://www.scala-lang. org. Accessed on: 10th October 2009. [76] M. Odersky, P. Altherr, V. Cremet, I. Dragos, G. Dubochet, B. Emir, S. McDirmid, S. Micheloud, N. Mihaylov, M. Schinz, E. Stenman, L. Spoon, and M. Zenger. An Overview of the Scala Programming Language. Technical Report LAMP-REPORT-2006-001, Ecole Polytechnique Federale de Lausanne (EPFL), 2006. [77] Rich Hickey. Clojure - Reference, 2009. URL http://clojure.org/Reference. Accessed on: 10th October 2009. [78] R.A. Finkel. Advanced Programming Language Design, chapter Functional Programming, pages 103–138. Addison-Wesley, 1996. [79] R. Rivest. S-Expressions. URL http://people.csail.mit.edu/rivest/Sexp.txt. Accessed on: 10th October 2009. [80] D.A. Turner. Mathematical Logic and Programming Languages, chapter Functional programs as executable specifications. Prentice Hall, 1985. [81] Rich Hickey. Clojure - Concurrent Programming, 2009. URL http://clojure.org/concurrent_programming. Accessed on: 10th October 2009. [82] S. Halloway. Programming Clojure. Pragmatic Programmers, 2009. [83] R. Hickey. Clojure - Java Interop, 2009. URL http://clojure.org/java_ interop. Accessed on: 10th October 2009. [84] Clojure — Google Groups, 2009. URL http://groups.google.com/group/ clojure. Accessed on: 10th October 2009. [85] Clojure Programming/Tutorials and Tips, 2009. URL http://en.wikibooks.org/wiki/Clojure_Programming/Tutorials_and_Tips#Invoking_Clojure_from_Java. Accessed on: 10th October 2009. [86] Eclipse Test & Performance Tools Platform, 2009. URL http://www. eclipse.org/tptp/. Accessed on: 10th October 2009. [87] M. Bellia and G. Levi. The relation between logic and functional languages: A survey. Journal of Logic Programming, 3:217–236, 1986. [88] D. DeGroot and G. Lindstrom, editors. Logic Programming: Functions, Relations and Equations. Prentice Hall, 1986

    Unifying micro-agent communication in the Otago Agent Platform (OPAL)

    No full text
    Multi-agent frameworks are broadly available in the meanwhile. Nearly all of them however understand the agent concept differently, going as far as to provide several agent concepts within a platform. Along with this performance results of selected platforms allow to identify two clusters defined either by efficiency of processing or expressiveness of interaction language. As the only platform being related to both clusters the Otago Agent Platform (OPAL) which uses the efficiency-driven concept of ’Micro-agents’ is reviewed. As a result of the analysis the current implementation of the Micro-agents is considered to be too intransparent to allow monitoring at runtime or even cross-platform interaction. As such the implementation of a unified message infrastructure is suggested to simplify development of micro-agent interaction and provide monitoring capabilities while minimizing the loss of efficiency. The integration of Clojure as functional language is further considered to provide improved facilities for concurrent processing, usability and additional agent implementation languages. The results of the hybrid imperative-functional implementation are behind the expected outcome as the runtime takes about five times as long as the original runtime. The results still offer potential for adoption as of the usability improvements and the fact that they are still far below the runtime of the slowest platform in the comparison. The choice of Clojure as language base for the whole platform is believed to be a promising next step to improve performance and avoid switching between different programming paradigms while keeping the improvements achieved. Further research with regards to a stronger integration of concepts of Agent-Oriented Software Engineering in the amended OPAL is suggested.Unpublished[1] L. Sterling and K. Taveter. The Art of Agent-Oriented Modeling. MIT Press, Cambridge, MA, 2009. [2] H. Haugeneder and D. Steiner. Agent Technology - Foundations, Applications, and Markets, chapter Co-operating Agents: Concepts and Applications, pages 175–202. Springer, 1998. [3] M. Ljunberg and A. Lucas. The oasis air traffic management system. Proceedings of the Second Pacific Rim Conference on AI (PRICAI-92), Seoul, Korea, 1992. [4] Nicholas R. Jennings and Michael J. Wooldridge. Agent Technology - Foundations, Applications, and Markets, chapter Applications of Intelligent Agents, pages 3–28. Springer, Berlin, Heidelberg, New York, 1998. [5] A. Helsinger, M. Thome, and T. Wright. Cougaar: A Scalable, Distributed Multi-Agent Architecture. IEEE, 2004. [6] O. Gutknecht, J. Ferber, and F. Michel. The MadKit Agent Platform Architecture. Technical report, Laboratoire d’Informatique, de Robotique et de Microelectronique de Montpellier, Universite Montpellier II, 2000. [7] Publicly Available Implementations of FIPA Specifications, 2003. URL http://www.fipa.org/resources/livesystems.html. Accessed on: 10th October 2009. [8] FIPA-OS Agent Toolkit, 2003. URL http://sourceforge.net/projects/fipa-os/files/. Accessed on: 10th October 2009. [9] Tryllian Agent Development Toolkit, 2005. URL http://www.tryllian. org/. Accessed on: 10th October 2009. [10] Java Agent Services. URL http://sourceforge.net/projects/jas/. Accessed on: 10th October 2009. [11] Michael Wooldridge. Agent-based software engineering. IEE Proceedings in Software Engineering, 144:26–37, 1997. [12] Nicholas R. Jennings and Michael Wooldridge. Agent-Oriented Software Engineering. Artificial Intelligence, 117:277–296, 2000. [13] J.S. Rosenschein and M.R. Genesereth. Deals among Rational Agents. In A. Joshi, editor, IJCAI-85, pages 91–95, California, 1985. Morgan Kaufman Publishers Inc. [14] Henry Hexmoor, Cristiano Castelfranchi, and Rine Falcone. Agent Autonomy, chapter A Prospectus on Agent Autonomy, pages 1–10. Kluwer Academic Publishers, 2003. [15] M. Nowostawski and M. Purvis. The concept of autonomy in distributed computation and multi-agent systems. The Information Science Discussion Paper Series, 2007. [16] Jacques Ferber. Multi-Agent Systems - An Introduction to Distributed Artificial Intelligence. Addison-Wesley, 1999. [17] Stan Franklin and Art Graesser. Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agent. Proceedings of the Third International Workshop on Agent Theories, Architectures, and Language, 1996. [18] M. Wooldridge and N. R. Jennings. Intelligent Agents: Theory and Practice. The Knowledge Engineering Review, 10:115–152, 1995. [19] Alex L.G. Hayzelden, John Bigham, Michael Wooldridge, and Laurie G. Cuthbert. Software Agents for Future Communication Systems, chapter Future Communication Networks using Software Agents, pages 1–57. Springer, 1999. [20] John R. Searle. Speech Acts: An Essay in the Philosophy of Language. Cambridge University Press, 1969. [21] John L. Austin. How to do things with words. Oxford University Press, Oxford, 1975. [22] Munindar P. Singh. Agent Communication Languages: Rethinking the Principles. Computer, 31(12):40–47, 1998. [23] ARPA. Specification of the KQML agent communication language, volume Working Paper. ARPA Knowledge Sharing Effort, External Interfaces Working Group, 1993. [24] FIPA. FIPA Communicative Act Library Specification. Foundation for Intelligent Physical Agents (FIPA), 2002. [25] Tim Finin, Richard Fritzson, Don McKay, and Robin McEntire. KQML as an agent communication language. In CIKM ’94: Proceedings of the third international conference on Information and knowledge management, pages 456–463, New York, NY, USA, 1994. ACM. [26] Antonio Lopes and Luis Botelho. Multi-Agent Systems and Applications IV, volume 3690/2005, chapter Chomsky: A Content Language Translation Agent, pages 535–538. Springer, 2005. [27] M. Greaves, H. Holmback, and J. Bradshaw. Issues in Agent Communication, chapter What is a Conversation Policy?, pages 118–131. Springer, 2000. [28] FIPA Interaction Protocol Specifications, 2002. URL http://www.fipa.org/repository/ips.php3. Accessed on: 10th October 2009. [29] Michael E. Bratman. Intention, Plans and Practical Reason. CSLI Publications, Stanford University, 1987. [30] Michael P. Georgeff and A. L. Lansky. Reactive reasoning and planning. In Proceedings of the Sixth National Conference on Artificial Intelligence (AAAI-87), pages 677–682, Seattle, WA, USA, 1987. [31] M. d’Inverno, D. Kinny, M. Luck, and M. Wooldridge. A formal specification of dMARS. Intelligent Agents IV, LNAI 1365:155–176, 1997. [32] P. Busetta, N. Howden, R. Ronnquist, and A. Hodgson. Structuring BDI agents in functional clusters. Intelligent Agents VI - Proceedings of the Sixth International Workshop on Agent Theories, Architectures, and Languages (ATAL-99), LNAI:277–289, 2000. [33] Anand A. Rao and Michael P. Georgeff. BDI Agents: From Theory to Practice. Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95), 1995. [34] L. Braubach, Alexander Pokahr, Winfried Lamersdorf, and Daniel Moldt. Goal Representation for BDI Agent Systems. Second International Workshop on Programming Multiagent Systems: Languages and Tools, 4:9–20, 2004. [35] Michael Winikoff, J. Harland, and L. Padgham. Declarative & Procedural Goals Intelligent Agent Systems. Proceedings of KR03, 2002. [36] Rodney A. Brooks. A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, 2:14–23, 1986. [37] Rodney A. Brooks. Elephants Don’t Play Chess. Robotics and Autonomous Systems, 6:3–15, 1990. [38] Weiming Shen, D. H. Norrie, and J.-P. Barths. Multi-Agent systems for concurrent intelligent design and manufacturing. CRC Press, 2001. [39] J. Mueller. The Design of Intelligent Agents: a layered approach. Lecture Notes in Computer Science, 1177, 1996. [40] N. R. Jennings, E. H. Mamdani, I. Laresgoiti, J. Perez, and J. Corera. GRATE: A General Framework for Cooperative Problem Solving. IEE-BCS Journal of Intelligent Systems Engineering, 1:102–114, 1992. [41] Nicholas R. Jennings. Agent-based Computing: Promise and Perils. In In Proceedings of the 16th International Joint Conference on Artificial Intelligence, pages 1429–1436, 1999. [42] G. Booch. Object-oriented Analysis and Design with Applications. Addison-Wesley, 1994. [43] Yoav Shoham. Agent-oriented programming. Artif. Intell., 60(1):51–92, 1993. ISSN 0004-3702. doi: http://dx.doi.org/10.1016/0004-3702(93)90034-9. [44] Juergen Lind. Iterative software engineering for multiagent systems: the MASSIVE method. Springer, 2001. [45] Michael Wooldridge, Nicholas R. Jennings, and David Kinny. The gaia methodology for agent-oriented analysis and design. Autonomous Agents and Multi-Agent Systems, 3(3):285–312, September 2000. ISSN 1387-2532. doi: 10.1023/A:1010071910869. URL http://dx.doi.org/10.1023/A: 1010071910869. [46] Mark Wood and Scott Deloach. An overview of the multiagent systems engineering methodology. pages 1–53. 2001. doi: 10.1007/3-540-44564-1\ 14. URL http://dx.doi.org/10.1007/3-540-44564-1_14. [47] Paolo Giorgini, Manuel Kolp, John Mylopoulos, and Marco Pistore. The tropos methodology: An overview. In In Methodologies and Software Engineering for Agent Systems, Kluwer, page 505. Kluwer Academic Press, 2003. [48] Lin Padgham and Michael Winikoff. Prometheus: A methodology for developing intelligent agents, 2002. [49] Lin Padgham, John Thangarajah, and Michael Winikoff. Tool support for agent development using the prometheus methodology. In QSIC ’05: Proceedings of the Fifth International Conference on Quality Software, pages 383–388, Washington, DC, USA, 2005. IEEE Computer Society. ISBN 0-7695-2472-9. doi: http://dx.doi.org/10.1109/QSIC.2005.66. [50] Michael Georgeff. The gap between software engineering and multi-agent systems: Bridging the Divide. International Journal for Agent-Oriented Software Engineering, 3(4):391–396, 2009. [51] Joshua Kerievsky. Refactoring to patterns. Addison-Wesley, 2005. [52] Craig Larman. Applying UML and Patterns: An Introduction to Object-oriented Analysis and Design and Iterative Development, volume 3. Markt und Technik, 2005. [53] FIPA. FIPA Agent Management Specification, 2004. URL http://www. fipa.org/specs/fipa00023/SC00023K.html. Accessed on: 10th October 2009. [54] F. Bellifemine, G. Caire, and D. Greenwood. Developing Multi-Agent Systems with JADE. John Wiley & Sons, 2007. [55] JADE - Java Agent DEvelopment Framework, October 2009. URL http://jade.tilab.com. Accessed on: 10th October 2009. [56] A. Pokahr, L. Braubach, and W. Lamersdorf. Jadex: Implementing a BDI-infrastructure for JADE Agents. EXP - In Search of Innovation, 3(3):76–85, 2003. URL http://jadex.informatik.uni-hamburg.de/bin/view/About/Overview. Accessed on: 10th October 2009. [57] M. Purvis, S. Cranefield, M. Nowostawski, and D. Carter. Opal - A Multi-Agent Infrastructure for Agent-Oriented Software Development. Technical report, Information Science Dept., University of Otago, NZ, 2002. [58] J. Ferber and O. Gutknecht. A meta-model for the analysis and design of organizations in multi-agent systems. Third International Conference on Multi-Agent Systems (ICMAS ’98), IEEE Computer Society, pages 128–135, 1998. [59] MadKit 4.1 features, 2008. URL http://www.madkit.net/features.php? idfeatures=1. Accessed on: 10th October 2009. [60] BBN Technologies, 2009. URL http://www.bbn.com/. Accessed on: 10th October 2009. [61] CougaarFAQ - Who uses Cougaar?, 2009. URL http://cougaar.org/twiki/bin/view/Main/CougaarFAQ#users. Accessed on: 10th October 2009. [62] J. Haack, A. Cowell, and I. Gorton. Dimensions of Usability: Cougaar, Aglets, and Adaptive Agent Architecture (AAA). In Proceedings of the first OpenCougaar Conference (OCC’04), pages 107–114, New York, 2004. URL http://cougaar.org/twiki/pub/Main/CougaarMeetings/OCC04_-_ Proceedings.pdf. Accessed on: 10th October 2009. [63] BBN Technologies. Cougaar Architecture Document. Technical report, 2004. URL http://cougaar.org/twiki/pub/Main/CougaarDocuments/CAD_11_4.pdf. Accessed on: 10th October 2009. [64] M. Thome, T. Wright, and S. Rosset. The Cougaar Component Modeling, or ”How I Learned to Stop Worrying and Love Contributed Software”. In Proceedings of the first OpenCougaar Conference (OCC’04), pages 115–123, New York, 2004. [65] Which Message Transport protocols are supported?, 2009. URL http://cougaar.org/twiki/bin/view/Main/CougaarFAQ#mts. Accessed on: 10th October 2009. [66] What does COUGAAR stand for?, 2009. URL http://cougaar.org/twiki/bin/view/Main/CougaarFAQ#standfor. Accessed on: 10th October 2009. [67] M. Nowostawski, G. Bush, M. Purvis, and S. Cranefield. A Multi-Level Approach and Infrastructure for Agent-Oriented Software Development. Technical report, Department of Information Science, University of Otago, 2001. [68] M. Purvis, M. Nowostawski, M. Oliveira, and S. Cranefield. Multi-Agent Interaction Protocols for e-Business. Proceedings of the IEEE/WIC International Conference on Intelligent Agent Technology (IAT ’03), 2003. [69] Lars Ehrler and Stephen Cranefield. Executing Agent UML Diagrams. In AAMAS ’04: Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, pages 906–913, Washington, DC, USA, 2004. IEEE Computer Society. ISBN 1-58113-864-4. doi: http://dx.doi.org/10.1109/AAMAS.2004.118. [70] Mengqiu Wang, Martin Purvis, and Mariusz Nowostawski. An Internal Agent Architecture Incorporating Standard Reasoning Components and Standards-based Agent Communication. Intelligent Agent Technology, IEEE / WIC / ACM International Conference on, 0:58–64, 2005. doi: http://doi.ieeecomputersociety.org/10.1109/IAT.2005.43. [71] M. Nowostawski, M. Purvis, and S. Cranefield. KEA - Multi-Level Agent Architecture. Technical report, Department of Information Science, University of Otago, 2001. [72] M. Nowostawski. Otago Agent Platform Developer’s Guide. Technical report, Department of Information Science, University of Otago, 2004. [73] Paul Hudak. Conception, evolution, and application of functional programming languages. ACM Comput. Surv., 21(3):359–411, 1989. ISSN 0360-0300. doi: http://doi.acm.org/10.1145/72551.72554. [74] J. Bartlett. Lazy programming and lazy evaluation, 2006. URL http://www. ibm.com/developerworks/linux/library/l-lazyprog.html. Accessed on: 10th October 2009. [75] The Scala Programming Language, 2009. URL http://www.scala-lang. org. Accessed on: 10th October 2009. [76] M. Odersky, P. Altherr, V. Cremet, I. Dragos, G. Dubochet, B. Emir, S. McDirmid, S. Micheloud, N. Mihaylov, M. Schinz, E. Stenman, L. Spoon, and M. Zenger. An Overview of the Scala Programming Language. Technical Report LAMP-REPORT-2006-001, Ecole Polytechnique Federale de Lausanne (EPFL), 2006. [77] Rich Hickey. Clojure - Reference, 2009. URL http://clojure.org/Reference. Accessed on: 10th October 2009. [78] R.A. Finkel. Advanced Programming Language Design, chapter Functional Programming, pages 103–138. Addison-Wesley, 1996. [79] R. Rivest. S-Expressions. URL http://people.csail.mit.edu/rivest/Sexp.txt. Accessed on: 10th October 2009. [80] D.A. Turner. Mathematical Logic and Programming Languages, chapter Functional programs as executable specifications. Prentice Hall, 1985. [81] Rich Hickey. Clojure - Concurrent Programming, 2009. URL http://clojure.org/concurrent_programming. Accessed on: 10th October 2009. [82] S. Halloway. Programming Clojure. Pragmatic Programmers, 2009. [83] R. Hickey. Clojure - Java Interop, 2009. URL http://clojure.org/java_ interop. Accessed on: 10th October 2009. [84] Clojure — Google Groups, 2009. URL http://groups.google.com/group/ clojure. Accessed on: 10th October 2009. [85] Clojure Programming/Tutorials and Tips, 2009. URL http://en.wikibooks.org/wiki/Clojure_Programming/Tutorials_and_Tips#Invoking_Clojure_from_Java. Accessed on: 10th October 2009. [86] Eclipse Test & Performance Tools Platform, 2009. URL http://www. eclipse.org/tptp/. Accessed on: 10th October 2009. [87] M. Bellia and G. Levi. The relation between logic and functional languages: A survey. Journal of Logic Programming, 3:217–236, 1986. [88] D. DeGroot and G. Lindstrom, editors. Logic Programming: Functions, Relations and Equations. Prentice Hall, 1986
    corecore