Abstract
Prototyping is a valuable technique to help software engineers explore the design space while gaining insight on the dynamics of the system. In this paper, we describe a method for rapidly building prototypes of large multi-agent systems using logic programming. Our method advocates the use of a description of all permitted interactions among the components of the system, that is, the protocol, as the starting specification. The protocol is represented in a way that allows us to automatically check for desirable properties of the system to be built. We then employ the same specification to synthesise agents that will correctly follow the protocol. These synthesised agents are simple logic programs that engineers can further customise into more sophisticated software. Our choice of agents as logic programs allows us to provide semi-automatic support for the customisation activity. In our method, a prototype is a protocol with a set of synthesised and customised agents. Executing the prototype amounts to having these agents enact the protocol. We have implemented and described a distributed platform to simulate prototypes.
Similar content being viewed by others
References
M. Alberti, M. Gavanelli, E. Lamma, P. Mello and P. Torroni, Modeling interactions using social integrity constraints: A resource sharing case study, in: Declarative Agents Languages and Technologies (DALT), Lecture Notes in Computer Science (Springer, 2004).
J.J. Alferes, P. Dell'Acqua, E. Lamma, J.A. Leite, L.M. Pereira and F. Riguzzi, A logic based approach to multi-agent systems, ALP Newsletter 14(3) (2001).
K.R. Apt, From Logic Programming to Prolog (Prentice-Hall, U.K., 1997).
A.W. Biermann, Automatic programming, in: Encyclopedia of Artificial Intelligence, Vol. 1 (Wiley, New York, 1992).
A.W. Bowles, D. Robertson, W.W. Vasconcelos, M. Vargas-Vera and D. Bental, Applying prolog programming techniques, International Journal of Human-Computer Studies 41(3) (1994) 329–350.
M. Bozzano, G. Delzanno, M. Martelli, V. Mascardi and F. Zini, Logic programming & multi-agent systems: A synergic combination for applications and semantics, in: The Logic Programming Paradigm: a 25-Year Perspective (Springer, 1999) pp. 5–32.
I. Bratko, Prolog Programming for Artificial Intelligence, 3rd ed. (Longman Higher Education, 2000)
G. Bucci and E. Vicario, Rapid prototyping through communicating Petri nets, in: Proc. 3rd Int'l Workshop on Rapid System Prototyping, ed. N. Kanopoulos, Los Alamitos, CA, USA (1994) pp. 58–75.
R. Budde, K. Kuhlenkamp, L. Mathiassen and H. Züllighoven (eds.), Approaches to Prototyping (Springer, New York, 1984).
N. Carriero and D. Gelernter, Linda in context, Communications of the ACM 32(4) (1989) 444–458.
A. Chavez and P.Maes, Kasbah: An agent marketplace for buying and selling goods, in: Proc. 1st Int'l Conf. on the Practical Applic. of Intell. Agents & Multi-Agent Technology (PAAM '96), Blackpool, UK (1996).
T.H. Cormen, C.E. Leiserson and R.L. Rivest, Introduction to Algorithms (MIT Press, Cambridge, MA, 1990).
P. Dart, E. Kazmierczak, L. Sterling, M. Martelli, V. Mascardi, F. Zini and V.S. Subrahmanian, Combining logical agents with rapid prototyping for engineering distributed applications, in: Proc. 9th Software Tech. & Engineering Practice (STEP'99), Pittsburgh, PA (1999).
M. d'Inverno and M. Luck, Understanding Agent Systems (Springer, Berlin, 2001).
M. Ducassé and J. Noyé, Logic programming environments: Dynamic program analysis and debugging, Journal of Logic Programming 19, 20 (1994) 351–384.
M. Esteva, D. de La Cruz and C. Sierra, ISLANDER: an electronic institution editor, in: Proc. 1st Int'l Joint Conf. on Autonomous Agents & Multi-Agent Systems (AAMAS 2002), Bologna, Italy (2002).
M. Esteva, J. Padget and C. Sierra, Formalizing a language for institutions and norms, in: Intelligent Agents VIII, eds. M. Tambe and J.-J. Meyer, Lecture Notes in Artificial Intelligence, Vol. 2333 (Springer, Berlin, 2001).
M. Esteva, J.-A. Rodríguez-Aguilar, C. Sierra, P. Garcia and J.L. Arcos, On the formal specification of electronic institutions, in: Agent Mediated E-Commerce, eds. F. Dignum and C. Sierra, Lecture Notes in Artificial Intelligence, Vol. 1991 (Springer, Berlin, 2001).
P. Flener, K.-K. Lau, M. Ornaghi and J. Richardson, An abstract formalisation of correct schemas for program synthesis, Journal of Symbolic Computation 30(1) (2000).
A. Franklin and A. Graesser, Is it an agent, or just a program?, in: Intelligent Agents III (Springer, Berlin, 1997).
N.E. Fuchs, Specifications are (preferably) executable, Software Engineering Journal (1992) 323–334.
P. Garcia, E. Gimenez, L. Godo and J.A. Rodriguez-Aguilar, Bidding Strategies for Trading Agents in Auction-Based Tournaments, Lecture Notes in Computer Science, Vol. 1571 (1999).
T.S. Gegg-Harrison, Learning prolog in a schema-based environment, Instructional Science 20 (1991) 173–192.
A.T. Goldberg, Knowledge-based programming: A survey of program design and construction techniques, IEEE Transactions on Software Engineering SE-12(7) (1986) 752–768.
V.S. Gordon and J.M. Bieman, Rapid prototyping: Lessons learned, IEEE Software 12(1) (1995) 85–95.
C.M. Harland, Supply chain management: Relationships, chains and networks, British Journal of Management 7 (1996) 63–80.
W. Hasselbring, Programming languages and systems for prototyping concurrent applications, ACM Computing Surveys 32(1) (2000) 43–79.
P.M. Hill and J. Gallagher, Meta-programming in logic progamming, in: Handbook of Logic in Artificial Intelligence and Logic Programming, Vol. 5 (1998) pp. 421–498.
J.E. Hopcroft and J.D. Ullman, Introduction to Automata Theory, Languages and Computation (Addison-Wesley, Reading, MA, 1979).
N.R. Jennings and M.Wooldridge, Agent-oriented software engineering, in: Handbook of Agent Technology (AAAI/MIT Press, 2000).
W.H. Kautz, E.A. Voorhees and T.A. Jeeves, Automatic programming systems, Communications of the ACM 1(8) (1958) 6–8.
G.E. Kersten and S. Szpakowicz, Negotiation in distributed artificial intelligence: Drawing from human experience, in: Proc. 27th Annual Hawaii Int'l Conf. on System Sciences, eds. J.F. Nunamaker and R.H. Sprague, Los Alamitos, CA (1994) pp. 258–270.
M. Kirschenbaum, S. Michaylov and L. Sterling, Skeletons and techniques as a normative view of developing logic programs, Australian Computer Science Communications 18(1) (1996) 163–178.
R.A. Kowalski and F. Sadri, From logic programming towards multi-agent systems, Annals of Mathematics and Articial Intelligence 25(3-4) (1999) 391–419.
Luqi, Computer aided system prototyping, in: Proc. 1st Int'l Workshop on Rapid System Prototyping, Los Alamitos, CA (1992) pp. 50–57.
M. Martelli, V. Mascardi and F. Zini, Specification and simulation of multi-agent systems in CaseLP, in: Proc. of APPIA-GULP-PRODE (L'Aquila, Italy, 1992).
E-Institutor Project: Islander graphical editor, IIIA-CSIC, Bellaterra, Catalonia, Spain (2002), http://e-institutor.iiia.csic.es/e-institutor/software/islander.html.
C. Musciano and B. Kennedy, HTML & XHTML: The Definitive Guide, 4th ed. (O'Reilly, 2000).
P. Noriega, Agent-mediated auctions: The fishmarket metaphor, Ph.D. thesis, Institut d'Investigació en Intel.ligència Artificial (IIIA), Consejo Superior de Investigaciones Científicas (CSIC), Campus UAB, Bellaterra, Spain (1997).
S. Parsons, C. Sierra and N.R. Jennings, Agents that reason and negotiate by arguing, Journal of Logic and Computation 8(3) (1998) 261–292.
J.L. Peterson, Petri nets, Computing Surveys 9(3) (1977) 223–252.
S. Polovina and J. Heaton, An introduction to conceptual graphs, AI Expert (1992) 36–43.
M. Proietti and A. Pettorossi, Transformations of logic programs: Foundations and techniques, Journal of Logic Programming 19, 20 (1994) 261–320.
C. Rich and Y.A. Feldman, Seven layers of knowledge representation and reasoning in support of software development, IEEE Transactions on Software Engineering 18(6) (1992) 451–469.
D. Robertson, A simple Prolog techniques editor for novice users, in: 3rd Annual Conference on Logic Programming, Edinburgh, Scotland (1991).
J.A. Rodríguez-Aguilar, On the design and construction of agent-mediated electronic institutions, Ph.D. thesis, IIIA-CSIC, Spain (2001).
SICS, SICStus Prolog user's manual, Swedish Institute of Computer Science (2000), http://www. sics.se/sicstus.
C. Sierra, J. Sabater, J. Agustí and P. Garcia, Evolutionary computation and multiagent systems design, in: Proc. 1st Int'l Joint Conf. on Autonomous Agents & Multi-Agent Systems (AAMAS 2002) (Bologna, Italy, 2002).
L. Sterling and M. Kirschenbaum, Applying techniques to skeletons, in: Constructing Logic Programs (Wiley, London, 1993).
L. Sterling and E. Shapiro, The Art of Prolog: Advanced Programming Techniques, 2nd ed. (MIT Press, 1994).
L.S. Sterling and R.D. Beer, Meta-interpreters for expert system construction, Journal of Logic Programming 6(1-2) (1989) 163–178.
V.S. Subrahmanian, P. Bonatti, J. Dix, T. Eiter, S. Kraus, F. Ozcan and R. Ross, Heterogeneous Agent Systems (MIT Press/AAAI Press, Cambridge, MA, 2000).
M. Tsvetovatyy and M. Gini, Towards a virtual marketplace: Architecture and strategies, in: Proc. 1st Int'l Conf. on the Practical Applic. of Intell. Agents & Multi-Agent Technology (PAAM '96), Blackpool, UK (1996).
M.H. Van Emden and R.A. Kowalski, The semantics of predicate logic as a programming language, Journal of ACM 23(4) (1976) 733–742.
W.W. Vasconcelos, Expressive global protocols via logic-based electronic institutions, in: Proc. 2nd Int'l Joint Conf. on Autonomous Agents & Multi-Agent Systems (AAMAS 2003), Melbourne, Australia. A longer version appears as Tech. Report AUCS/TR0301, Department of Computing Science, University of Aberdeen, UK (2003).
W.W. Vasconcelos, Logic-based electronic institutions, in: Proc. Declarative Agent Languages and Technologies (DALT'03), Melbourne, Australia, Lecture Notes in Artificial Intelligence (Springer, 2003).
W.W. Vasconcelos and N.E. Fuchs, An opportunistic approach for logic program analysis and optimisation using enhanced schema-based transformations, Lecture Notes in Computer Science, Vol. 1048 (Springer, 1996).
W.W.Vasconcelos and N.E. Fuchs, Prolog program development via enhanced schema-based transformations, Technical report, Department of Artificial Intelligence, University of Edinburgh. Presented at the 7thWorkshop on Logic Programming Environments, held in conjunction with ILPS'95, Seattle, USA (1996).
W.W. Vasconcelos and E.X. Meneses, A practical approach for logic program analysis and transformation, Lecture Notes in Computer Science, Vol. 1793 (Springer, 2000).
W.W. Vasconcelos, D. Robertson, J. Agustí, C. Sierra, M. Wooldridge, S. Parsons, C. Walton and J. Sabater, A lifecycle for models of large multi-agent systems, in: Proc. 2nd Int'l Workshop on Agent-Oriented Soft. Eng. (AOSE-2001), Lecture Notes in Computer Science, Vol. 2222 (Springer, 2001).
W.W. Vasconcelos, J. Sabater, C. Sierra and J. Querol, Skeleton-based agent development for electronic institutions, in: Proc. 1st Int'l Joint Conf. on Autonomous Agents & Multi-Agent Systems (AAMAS 2002), Bologna, Italy (2002).
W.W. Vasconcelos, C. Sierra and M. Esteva, An approach to rapid prototyping of large multi-agent systems, in: Proc. 17th IEEE Int'l Conf. on Automated Software Engineering (ASE 2002), Edinburgh, UK (2002) pp. 13–22.
W.W., Vasconcelos, C. Sierra and M. Esteva, An environment for rapid prototyping of large multi-agent systems, Technical report, http://www.dai.ed.ac.uk/groups/ssp/slie. Presented at AAMAS 2002 Demonstration Session, Bologna, Italy (2002).
N. Wirth, Program development by stepwise refinement, Communications of the ACM 14(4) (1971) 221–227.
M. Wooldridge, An Introduction to MultiAgent Systems (Wiley, London, 2002).
H. Xu and S.M. Shatz, ADK: An agent development kit based on a formal design model for multiagent systems, Automated Software Engineering 10 (2003) 337–365.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Vasconcelos, W., Robertson, D., Sierra, C. et al. Rapid Prototyping of Large Multi-Agent Systems Through Logic Programming. Annals of Mathematics and Artificial Intelligence 41, 135–169 (2004). https://doi.org/10.1023/B:AMAI.0000031194.57352.e7
Issue Date:
DOI: https://doi.org/10.1023/B:AMAI.0000031194.57352.e7