present in a number <strong>of</strong> plans so that the state <strong>of</strong> the contract net conversationis known at all times. However, as our evaluation has shown, less experiencedprogrammers are more prone to omitting this type <strong>of</strong> checking.Another issue arises in the choice <strong>of</strong> an identifier for the conversation (referredto as the CNPId variable in the extract shown). As presented, this ID is manuallyspecified in the original intention that triggers the start <strong>of</strong> the contract net (notshown). ACRE assigns IDs to conversations automatically, meaning that theprogrammer need not be concerned with this aspect <strong>of</strong> conversation handling.From this analysis, we can see that in the absence <strong>of</strong> integrated conversationhandling, AOP developers using Jason are also susceptible to the issues outlinedabove. We believe that the type <strong>of</strong> conversation handling ACRE provideswould help to avoid these pitfalls and so aid the development <strong>of</strong> reliable, scalableprotocol implementations.7 Conclusions and Future WorkWe have described an experiment whereby two groups <strong>of</strong> students were requiredto solve a communication-focused problem with and without the use <strong>of</strong> ACRE.Objective metrics indicated that ACRE can reduce the amount <strong>of</strong> code requiredto implement the protocols provided when compared to implementing protocolswithout ACRE.On further subjective analysis, a number <strong>of</strong> issues arose with non-ACRE code.These would require substantial modification <strong>of</strong> the code if the scenario were extendedby the addition <strong>of</strong> additional Player agents, duplicate core agents, similarprotocols or malicious agents <strong>of</strong> any type. The issues observed cannot occur withthe user <strong>of</strong> ACRE, as the automatic conversation management ensures that bothmessage senders and sequence are checked without developer intervention.We also analysed some best-practice conversation-handling code written forJason and observed that the issues identified are applicable to that platform. Wetherefore suggest that a conversation management framework such as ACRE isgenerally desirable to aid the development <strong>of</strong> communication-heavy MASs.The experiment described in this paper was carried out by a single group <strong>of</strong>undergraduate students. It is intended to repeat the experiment for additionalstudent groups, as this becomes possible. In particular, it is intended to use thesame scenario in an upcoming Agent Oriented S<strong>of</strong>tware Engineering module.This is part <strong>of</strong> a part-time Masters course and the students are experienced industrys<strong>of</strong>tware developers, albeit not using agents. This will give an insight intoa different type <strong>of</strong> developer to the undergraduate students studied previously.References1. Lillis, D., Collier, R.W.: Augmenting Agent Platforms to Facilitate ConversationReasoning. In Dastani, M., Seghrouchni, A.E.F., Hubner, J.F., Leite, J., eds.: Postproceedings<strong>of</strong> the 3rd International Workshop on LAnguages, methodologies andDevelopment tools for multi-agent systemS, Lyon, France, Springer (2011)99
2. Muldoon, C., O’Hare, G.M.P., Collier, R.W., O’Grady, M.J.: Towards PervasiveIntelligence : Reflections on the Evolution <strong>of</strong> the Agent Factory Framework. InEl Fallah Seghrouchni, A., Dix, J., Dastani, M., Bordini, R.H., eds.: Multi-AgentProgramming: Languages, Platforms and Applications and Applications. SpringerUS, Boston, MA (2009) 187–2123. Russell, S., Jordan, H., O’Hare, G.M.P., Collier, R.W.: Agent Factory : A Frameworkfor Prototyping Logic-Based AOP Languages. In: Proceedings <strong>of</strong> the NinthGerman Conference on Multi-Agent System Technologies (MATES 2011), Berlin,Germany (2011)4. Bellifemine, F., Caire, G., Trucco, T., Rimassa, G.: JADE Programmer’s Guide(JADE 4.0) (2010)5. Barbuceanu, M., Fox, M.S.: COOL: A language for describing coordination inmulti agent systems. In: Proceedings <strong>of</strong> the First International Conference onMulti-Agent Systems (ICMAS-95). (1995) 17–246. Cost, R.S., Finin, T., <strong>Lab</strong>rou, Y., Luan, X., Peng, Y., Sobor<strong>of</strong>f, I., Mayfield, J.,Boughannam, A.: Jackal: a Java-based Tool for Agent Development. In: WorkingPapers <strong>of</strong> the AAAI-98 Workshop on S<strong>of</strong>tware Tools for Developing <strong>Agents</strong>, AAAIPress (1998)7. Bradshaw, J.M., Dutfield, S., Benoit, P., Woolley, J.D.: KAoS: Toward anindustrial-strength open agent architecture. S<strong>of</strong>tware <strong>Agents</strong> (1997) 375–4188. Huget, M.P., Koning, J.L.: Interaction Protocol Engineering. Communications(2003) 291–3099. Parunak, H.: Visualizing Agent Conversations: Using Enhanced Dooley Graphs forAgent Design and Analysis. In: Proceedings <strong>of</strong> the Second International Conferenceon Multi-Agent Systems (ICMAS). (1996)10. Hochstein, L., Basili, V.R., Vishkin, U., Gilbert, J.: A pilot study to compareprogramming effort for two parallel programming models. Journal <strong>of</strong> Systems andS<strong>of</strong>tware 81(11) (2008) 1920–193011. Luff, M.: Empirically Investigating Parallel Programming Paradigms : A NullResult. In: Workshop on Evaluation and Usability <strong>of</strong> Programming Languagesand Tools (PLATEAU). (2009) 43–4912. Rossbach, C.J., H<strong>of</strong>mann, O.S., Witchel, E.: Is Transactional Programming ActuallyEasier? ACM SIGPLAN Notices 45(5) (2010) 47–5613. VanderWiel, S.P., Nathanson, D., Lilja, D.J.: Complexity and performance inparallel programming languages. In: Second International Workshop on High-LevelProgramming Models and Supportive Environments. (1997) 3–1214. Rao, A.S.: AgentSpeak (L): BDI agents speak out in a logical computable language.<strong>Agents</strong> Breaking Away (1996)15. Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming multi-agent systemsin AgentSpeak using Jason. Wiley-Interscience (2007)100
- Page 2 and 3:
Proceedings of the Tenth Internatio
- Page 4 and 5:
OrganisationOrganising CommitteeMeh
- Page 6:
Table of ContentseJason: an impleme
- Page 10 and 11:
in Sect. 3 the translation of the J
- Page 12 and 13:
init_count(0).max_count(2000).(a)(b
- Page 14 and 15:
For instance, a failure in the ERES
- Page 16 and 17:
{plan, fun start_count_trigger/1,fu
- Page 18 and 19:
single parameter, an Erlang record
- Page 20 and 21:
1. Belief annotations. Even though
- Page 22 and 23:
decisions taken during the design a
- Page 24 and 25:
Conceptual Integration of Agents wi
- Page 26 and 27:
Fig. 2. Active component structurep
- Page 28 and 29:
the service provider component. As
- Page 30 and 31:
Fig. 4. Web Service Invocationretri
- Page 32 and 33:
01: public interface IBankingServic
- Page 34 and 35:
tate them in the same way as in the
- Page 36 and 37:
01: public interface IChartService
- Page 38 and 39:
implementations being available for
- Page 41:
deliberative behavior in BDI archit
- Page 44 and 45:
layer modules (i.e. nodes) can be d
- Page 46 and 47:
different methods to choose the cur
- Page 48 and 49:
also a single scheduler module, imp
- Page 50 and 51: andom choice (OR), conditional choi
- Page 52 and 53: - Dealing with conflicts based on p
- Page 54 and 55: 5. Brooks, R. A. (1991) Intelligenc
- Page 56 and 57: An Agent-Based Cognitive Robot Arch
- Page 58 and 59: It has been argued that building ro
- Page 60 and 61: EnvironmentHardwareLocal SoftwareC+
- Page 62 and 63: a cognitive layer can connect as a
- Page 64 and 65: can reliably be differentiated and
- Page 66 and 67: 4 ExperimentTo evaluate the feasibi
- Page 68 and 69: learn or gain knowledge from experi
- Page 70 and 71: A Programming Framework for Multi-A
- Page 72 and 73: exchange and storage of tuples (key
- Page 74 and 75: Although some success [13] [14] hav
- Page 76 and 77: as well as important non-functional
- Page 78 and 79: component plans have been instantia
- Page 80 and 81: A in the example) can evaluate all
- Page 83 and 84: 1. robot-1 issues a Localization(ro
- Page 85 and 86: ACKNOWLEDGMENTThis work has been su
- Page 87 and 88: The code was analysed both objectiv
- Page 89 and 90: a conversation is following. Additi
- Page 91 and 92: the context of a communication-heav
- Page 93 and 94: Table 1. Core Agent ProtocolsAgent
- Page 95 and 96: statistically significant using an
- Page 97 and 98: to the conversation and has a perfo
- Page 99: principal reasons. Firstly, it is a
- Page 103 and 104: In the following section we will at
- Page 105 and 106: DevelopmentProductionHuman Readabil
- Page 107 and 108: will then evaluate this new format
- Page 109 and 110: encoder, it is first checked if the
- Page 111 and 112: nents themselves. However, since th
- Page 113 and 114: optimized for this format feature s
- Page 115 and 116: Java serialization and Jadex Binary
- Page 117 and 118: 10. P. Hoffman and F. Yergeau, “U
- Page 119 and 120: Caching the results of previous que
- Page 121 and 122: querying an agent’s beliefs and g
- Page 123 and 124: or relative performance of each pla
- Page 125 and 126: were run for 1.5 minutes; 1.5 minut
- Page 127 and 128: Size N K n p c qry U c upd Update c
- Page 129 and 130: epresentation. The cache simply act
- Page 131 and 132: 6 ConclusionWe presented an abstrac
- Page 133 and 134: Typing Multi-Agent Programs in simp
- Page 135 and 136: 1 // agent ag02 iterations (" zero
- Page 137 and 138: 3.1 simpAL OverviewThe main inspira
- Page 139 and 140: 3.2 Typing Agents with Tasks and Ro
- Page 141 and 142: Defining Agent Scripts in simpAL (F
- Page 143 and 144: that sends a message to the receive
- Page 145 and 146: * error: wrong type for the param v
- Page 147 and 148: Given an organization model, it is
- Page 149 and 150: Learning to Improve Agent Behaviour
- Page 151 and 152:
2.1 Agent Programming LanguagesAgen
- Page 153 and 154:
choosing actions is to find a good
- Page 155 and 156:
1 init module {2 knowledge{3 block(
- Page 157 and 158:
of a module. For example, to change
- Page 159 and 160:
if bel(on(X,Y), clear(X)), a-goal(c
- Page 161 and 162:
mance. Figure 2d shows the same A f
- Page 163 and 164:
the current percepts of the agent.
- Page 165:
Author IndexAbdel-Naby, S., 69Alelc