Software Agents: Twenty Years and Counting
Guest Editors' Introduction • November 2013
Maria Ganzha and Marcin Paprzycki, Polish Academy of Sciences; Andrea Omicini, Università di Bologna
Further Reading on Agent Research
- "All Agents Are Not Created Equal," M.N. Huhns, M.P. Singh
- "Agent Communication Languages: Rethinking the Principles," M.P. Singh
- "Agents and Markets," A. Greenwald, N.R. Jennings, P. Stone
- "Universality in Multi-Agent Systems," H. Van Dyke Parunak, S. Brueckner, and R. Savit
- "Applying Agent Technology for Enterprise-Wide Solutions," G. Rimassa
- "Research Directions for Service-Oriented Multiagent Systems," M.N. Huhns et al.
- "Interpreting Digital Pheromones as Probability Fields," H. Van Dyke Parunak
- "Agent-Based Simulation of Collaborative Unmanned Satellite Vehicles," G. Bastianelli et al.
- "Agent-Based Artificial Immune System Model for the Detection of Faults in a Distributed Satellite System," N. Montealegre
- "Agent-Based Approach for Crowded Pedestrian Evacuation Simulation," X. Ben et al.
- "Social Network Modeling and Agent-Based Simulation in Support of Crisis De-Escalation," M.J. Lanham, G.P. Morgan, K.M. Carley
Other Useful Links
Agent Development Environments
Agent Development Environments for Mobile Devices/Sensors
Agent-Based Simulation Frameworks
Software Agents in the Real-World
- Magenta Technology
- NuTech Solutions, Company Overview
- Rockwell Automation
- Telecom Italia (pdf)
- Java Agent Development framework
- Whitestein Technologies
Emphasis on autonomous systems has been growing steadily in recent years as users and organizations increasingly require software systems to deliberate on their behalf, to face unpredictable situations without human assistance, and to autonomously find solutions to complex problems. Whatever the sort of autonomy that's required, one technology has autonomy at its core: software agents. This monthly theme is devoted to them.
In addition to the articles, this CN theme includes an interview with four experts, plus two sidebars:
- Further Reading on Agent Research has links to additional papers and introductions to special issues, all of which are worth looking into.
- Other Useful Links includes pointers to sample development tools that can be used in implementing agent systems or employing agents in simulations, as well as links to websites of companies that actually apply software solutions in the real world, plus two movies illustrating software agents in action.
All of the resources we've included in the November Computing Now theme aim to allow readers to explore the world of agents.
With essential contributions from many heterogeneous areas, including distributed artificial intelligence, robotics, distributed systems, mobile computing, programming languages, and software engineering—as well as from noncomputational disciplines, such as psychology and sociology—research on software agents can't be traced back to a single place representing its birth, as it can to Dartmouth for AI, for instance.
Research on software agents and multiagent systems was already alive and kicking in the late 1980s; the European Workshop on Modeling Autonomous Agents in a Multi-Agent World (MAAMAW) was started in 1989, for example. The First International Workshop on Agent Theories, Architectures, and Languages (ATAL) then took place at the European Conference on Artificial Intelligence in 1994, followed by the International Conference on Multiagent Systems (ICMAS), which started just one year later.
Given the researchers involved, the maturity of the contributions, and the overall contributions to the research field, ATAL 94 could be viewed as a conventional starting point for intensive research on software agents. Accordingly, this month's Computing Now theme marks nearly the twentieth anniversary of software agents as an independent and mature area of research and technology.
From the start, a fertile dichotomy between the theoretical and technological issues has characterized the field of agents and multiagent systems. Whereas many contributors have focused on clarifying the conceptual and formal foundations of agency, many others have addressed practical aspects of the technologies, methodologies, and tools required to design, develop, and deploy multiagent systems. For instance, the early contributions on agency's foundations by Cristiano Castelfranchi, Nicholas Jennings, and Michael Wooldridge  were soon followed by the availability of the Java Agent Development framework (JADE) agent-based middleware and toolset.
Yet, many of the foremost contributions shared one main concern: to define the scientific and technical discipline to model and build intelligent systems as multiagent systems. So, whereas agents are the well-known vehicle for bringing any sort of AI findings, multiagent systems represent the most prominent paradigm for injecting intelligence into computational systems. Indeed, researchers have tried agent-based solutions in a very wide spectrum of application areas (see, for instance, the publications referenced in this special issue).
In this context, Hyacinth Nwana and Divine Ndumu claimed in 1999 that the field could advance only if researchers tried more practical implementations of large-scale agent systems. Interestingly, that notion still seems to hold true. For instance, according to several more recent contributions  and to the four experts we interviewed for this month's theme, a good balance between theory and practice remains elusive in the area of software agents. In 2001, Jennings provided a meta-level comparison between agent-based systems development and general software engineering principles. Although the vision was quite appealing, agent-oriented software engineering (AOSE) still faces many open questions a decade later. For example, the relationship between actors, components, and objects should be revisited from the practical point of view, keeping in mind the issues involved in agent systems' potential for being accepted in the real world, which the experts have pointed out in this month's interview.
In 2004, two papers looked into the future of agents and agent-semantic systems. Franco Zambonelli and Michael Luck depicted an "Agent Hell"  that emphasized agent-systems development's potential dark side and followed with a proposed research agenda aimed at counteracting the dangers. In contrast, James Hendler  gave a more positive assessment of agent technologies' essential role in Semantic Web systems. Interestingly, it could be construed that what Hendler saw as a "rosy future" was precisely what Zambonelli and Luck saw as the potential danger. Perhaps even more interesting, both articles discussed a future that we still aren't too close to, but that still might materialize. Here it's also worth mentioning Nova Spivack's short note predicting that the era of personal agents will arrive about the year 2020.
In 2006, a multi-author paper from the EU-funded AgentLink project  overviewed several projects that used software agents in real life, outlining the main lessons learned. Most of the companies listed in that paper are still around, and some are now explicitly indicating that they use software agents, which was not necessarily the case in the past. We have listed them (and a few others) in the Other Useful Links sidebar as examples of real-life business applications of software agents.
For this month's theme, we spoke with some of the most active and prominent researchers in the field:
- Costin Badica,
- Lars Braubach,
- Giancarlo Fortino, and
- Giovanni Rimassa.
Overall, their perspectives depict quite a variegated view of software agent research, with a good mix of positive and critical remarks. They agree on some essential elements. Although agent technologies might not yet be ready for prime time, for example, most of the assumptions and motivations behind the paradigm have actually become part of the standard landscape of today's software systems. Here, the examples are ubiquitous concurrency (everything works semi-independently and communicates when needed), mobility (understood both as "code mobility" as well as user mobility), and situatedness (understanding the context or situation in which something is happening and the effects of this context). Furthermore, some real-world application scenarios have finally emerged, such as logistics and manufacturing, for which agent systems are uniquely well suited.
To provide a broader perspective on current software agent research, we've selected some recent contributions to IEEE Computer Society publications, seeking to show the variety of areas in which software agents are currently being considered. Not all of these articles talk explicitly about agents, but they're deeply enmeshed in concepts originating from agent research.
In "Autonomic Goal-Oriented Business Process Management," Dominic Greenwood and Govanni Rimassa examine the use of software agents in business process management—which the authors are doing at Whitestein Technologies (listed as one of the companies in the Other Useful Links sidebar). In today's networked world, we're witnessing the successful continuation of a process of outsourcing most IT functionalities. Originally known as the Grid, the idea has been rebranded, polished, and sold under the name Cloud. Obviously, agents can also be found in the cloud, as seen from Kwang Mong Sim's "Agent-Based Cloud Computing." Note that, although it's not branded as an agent-based project, the Orleans platform for cloud computing is conceptually very close to agent computing.
The services-based model (service-oriented architecture) has clearly gained substantial momentum in business. As Frances Brazier and colleagues illustrate in "Agents and Service-Oriented Computing for Autonomic Computing: A Research Agenda," a direct link also exists between the SOA model and multiagent systems. In particular, this concerns the development of agent-based computing's core concept: autonomous systems.
Another way to look at autonomy is through a combination of large-scale distribution, openness, context-awareness, self-organization, and self-adaptation. Combined in this way, they lead to the concept of pervasive computing, in which spatial concepts play a crucial role. Mirko Viroli and his colleagues introduce a nature-inspired coordination model for spatial aspects of pervasive systems in "Spatial Coordination of Pervasive Systems through Chemical-Inspired Tuple Spaces."
Looking further into combining software agents, we suggest Franco Zambonelli's "Toward Sociotechnical Urban Superorganisms." He superimposes the biological notion of a superorganism with the world filled with sensors and devices that run applications that can be characterized by various degrees of "intelligence." These devices are everywhere, sensing and actuating and slowly forming a meta-level cyber-human infrastructure (a superorganism). Again, although he doesn't mention software agents directly, his vision fits closely with the basic concepts outlined in this special issue. In particular, these ideas should be confronted with the vision of the world found in Zambonelli and Luck's "Agent Hell," in which software agents are presented as the source of all kinds of mischief and are banned altogether.
Finally, we return to the practical aspects of software agents. As Monroe and colleagues illustrate,  among the more important application areas for software agents are simulations and optimization. In Gabriel Santos and his colleagues' "Multi-Agent Simulation of Continental, Regional, and Micro Electricity Markets," we see an agent-based simulation applied to energy infrastructures. We selected this specific area because of its growing importance. However, additional material can also be found in the Further Reading on Agent Research sidebar.
Based on the gathered evidence, it appears that multiagent systems are finally addressing the challenges they were aimed to address. This happens in a world permeated by complex pervasive, adaptive, and self-organizing systems—systems that are often conceived and built by adopting agent-based models, technologies, and methodologies. Finally, it is clear that agent-based abstractions, metaphors, and tools have become the premier approach to modeling, simulation, and optimization of complex, dynamic real-life-originating systems. As a matter of fact, due to the conceptual isomorphism between the problems and their agent models, they offer the best approach to a large class of such problems.
Finally, the overall long-term perspective suggests that software agents and multiagent systems are likely to become the main tools for injecting intelligence into complex systems, thus paving the way toward the modeling and engineering of complex intelligent systems (see also the upcoming article by Omicini and Mariani ).
- Y. Demazeau and J.-P. Müller, eds., "Decentralized AI," Proc. 1st European Workshop on Modeling Autonomous Agents in a Multi-Agent World (MAAMAW-89), 1990.
- M.J. Wooldridge and N.R. Jennings, eds., Intelligent Agents, Lecture Notes in Computer Science, vol. 890. Springer, 1995; http://link.springer.com/book/10.1007/3-540-58855-8.
- V.R. Lesser and L. Gasser, eds., Proc. 1st Int'l Conf. on Multiagent Systems, AAAI Press, 1995.
- C. Castelfranchi, "Guarantees for Autonomy in Cognitive Agent Architecture," Intelligent Agents, Lecture Notes in Computer Science, vol. 890, M.J. Wooldridge and N.R. Jennings, eds. Springer, 1995, pp. 56–70; http://link.springer.com/chapter/10.1007/3-540-58855-8 3.
- M.J. Wooldridge and N.R. Jennings, "Agent Theories, Architectures, and Languages: A Survey," Intelligent Agents, Lecture Notes in Computer Science, vol. 890, Springer, 1995, pp. 1-39; http://link.springer.com/chapter/10.1007/3-540-58855-8.
- H.S. Nwana and D.T. Ndumu, "A Perspective on Software Agents Research," The Knowledge Engineering Review, vol. 14, no. 2, 1999, pp. 125–142; http://journals.cambridge.org/abstract S0269888999142012.
- M. Ganzha and L.C. Jain, eds., "Multiagent Systems and Applications," Intelligent Systems Reference Library, vol. 45, Springer, 2013; http://link.springer.com/book/10.1007/978-3-642-33323-1.
- N.R. Jennings, "An agent-based approach for building complex software systems," Communications of the ACM, vol. 44, no. 4, pp. 35–41, Apr. 2001. [Online]. Available: http://dl.acm.org/citation.cfm?doid=367211.367250.
- F. Zambonelli and M. Luck, "Agent hell: A Scenario of Worst Practices," Computer, vol. 37, no. 3, 2004, pp. 96–98; http://www.computer.org/csdl/mags/co/2004/03/r3096.html.
- J. Hendler, "Agents and the Semantic Web," IEEE Intelligent Systems, vol. 16, no. 2, 2001, pp. 30–37; http://doi.ieeecomputersociety.org/10.1109/5254.920597.
- N. Spivack, "Making Sense of the Semantic Web," 2007. [Online]: http://www.slideshare.net/syawal/nova-spivacksemantic-web-talk.
- S. Munroe et al., "Crossing the Agent Technology Chasm: Lessons, Experiences, and Challenges in Commercial Applications of Agents," The Knowledge Engineering Review, vol. 21, no. 4, 2006, pp. 345-392.
- F. Zambonelli and A. Omicini, "Challenges and Research Directions in Agent-Oriented Software Engineering," Autonomous Agents and Multi-Agent Systems, vol. 9, no. 3, 2004, pp. 253–283; http://www.springerlink.com/content/jmm61l312478610j.
- A. Omicini and S. Mariani, "Agents & Multiagent Systems: En Route towards Complex Intelligent Systems," Intelligenza Artificiale, vol. 7, no. 2, Nov. 2013, in press.
M. Ganzha, M. Paprzycki, and A. Omicini, "Software Agents: Twenty Years and Counting," Computing Now, vol. 6, no. 11, Nov. 2013, IEEE Computer Society [online]; http://www.computer.org/web/computingnow/archive/november2013.
Maria Ganzha is an assistant professor in the Institute of Informatics, University of Gdansk. She has an MS and a PhD in Applied Mathematics from the Moscow State University, Russia, and a Doctor of Science from the Polish Academy of Sciences. Her initial research interests were in the area of differential equations, solving mixed wave equations in space with disappearing obstacles in particular, currently she works in the areas of software engineering, distributed computing, and agent systems, in particular. Ganzha has published more than 120 research papers and is on editorial boards of 6 journals and a book series and was invited to program committees of over 100 conferences. To reach her, please visit http://inf.ug.edu.pl/~mganzha/.
Marcin Paprzycki is an assistant professor at the Systems Research Institute, Polish Academy of Sciences. He has an MS from Adam Mickiewicz University in Poznañ, Poland, a PhD from Southern Methodist University in Dallas, Texas, and a Doctor of Science from the Bulgarian Academy of Sciences. His initial research interests were in high performance computing and parallel computing—particularly high-performance linear algebra—evolving over time toward distributed systems and Internet-based computing (especially agent systems). He is a senior member of IEEE, a senior member of ACM, a Senior Fulbright Lecturer, and an IEEE CS Distinguished Visitor. He has contributed to more than 300 publications and was invited to the program committees of over 450 international conferences. He is on the editorial boards of 14 journals and a book series. To reach him, please visit http://www.ibspan.waw.pl/~paprzyck/.
Andrea Omicini is a full professor at the DISI, the Department of Computer Science and Engineering of the Alma Mater Studiorum, University of Bologna. He has a PhD in Computer & Electronic Engineering from the Alma Mater. His research interests include software agents, intelligent systems, coordination, software engineering, pervasive computing, self-organizing systems, and simulation. He has published more than 300 papers, edited several books and special issues of international journals, and held several talks and tutorials at international conferences and schools. He is a member of the editorial board of ACM Transactions on Autonomous and Adaptive Systems (TAAS) and of the journal Intelligenza Artificiale, as well as a member of the board of directors of the European Association for Multi-Agent Systems (EURAMAS). To reach him, please visit http://andreaomicini.apice.