THE PROFESSION
Making Software Agents User-Friendly Qusay H. Mahmoud, University of Guelph Leslie Yu, Business Objects
A new architecture could make software agents accessible to the average computer user.
W
hen the agent-oriented programming paradigm first surfaced in the early 1990s to support a societal view of computation, researchers in the field claimed that software agents—software components built using agent-oriented tools—would revolutionize the software industry. To understand this enthusiasm, consider the crucial difference between a true software agent and a software object. Even software objects developed with the latest objectoriented or derivative technologies are built with Boolean logic, which treats everything as true or false. This is not appropriate for complex real-world environments that involve many uncertain events. A software agent, however, can respond to such events and act according to the user’s preferences. Despite their benefits, software agents haven’t revolutionized the software industry yet, and research has been gradually shifting from agentoriented to agent-based systems, possibly due to the lack of truly usable
96
Computer
languages and tools to support the agent-oriented paradigm. As future generations of computing systems begin to sound more like biological systems than mathematical ones, we believe software agents will play a central role in networkintensive applications, self-healing systems, adaptive software applications, and software systems in general. For this to happen, the agent research community must get back to developing state-of-the-art languages and tools for building agentoriented systems. It must also provide viable solutions for integrating agents into the existing Web infrastructure so that the average computer user can benefit from software agents. Challenges to achieving these goals go beyond the technical and encompass social and business-oriented concerns. To address these concerns, we have developed an infrastructure— inspired by the venerable mainframe platform and Google’s computing and business models—for making software agents more accessible and usable.
SOFTWARE AGENTS AND MOBILITY Mobile agents are one kind of software agent that represent a revolution not only in how programs are distributed and run and server resources shared, but also how computer users interact with online services. Inherently distributed software entities, mobile agents can move from host to host in a heterogeneous network environment. In that sense they represent a form of mobile code, like Java applets, that involves the dynamic installation of code on a remote host. They, however, can act on behalf of their principals autonomously while performing their actions in some level of proactivity and reactivity. Mobile agents are attractive for two reasons: They consume bandwidth only when they move, and they continue to execute after they move, even if they lose network connectivity with their principals. With the many potential benefits in favor of the mobile agent paradigm, we might wonder why it has yet to become a prolific programming model in distributed systems. Yet the Internet is a hostile environment for mobile agents, which has contributed to security concerns. Further, other challenges arise from people’s reluctance to use such agents, the lack of an easy strategy for integrating them with the existing Web infrastructure, and the absence of an agent-technology business model. Some researchers have argued that the mobile-agent research community should treat these agents as one form of mobile code, such as Java applets (D. Kotz, R. Gray, and D. Rus, “Future Directions for Mobile Agent Research”; www.cs.dartmouth.edu/ reports/TR2002-415.pdf). But agents should be able to perform their actions according to the preferences of their principals in some level of proactivity and reactivity. Hence, the focus should be on creating usable agent-oriented programming tools that developers can use to build true software agents. Continued on page 94
THE PROFESSION Continued from page 96
Agents are injected by authorized parties Servlets Profiles Login Customize and dispatch agents
Location
Agents
Hosted by a service provider Principals
Central agency
Business partners
Figure 1. System architecture.This business model for integrating software agents into the existing Web infrastructure consists of three main components: the agent’s principals, the central agency, and the business partners.
Others have observed that the profession needs a killer application that uses agent concepts, but we argue that the agent-oriented programming paradigm is the killer concept. We believe it will soon enable us to redefine the relationship between applications and networks, so that networks can manage themselves and applications can adapt to new environments.
PEOPLE RESPONSIBILITY Consider a computer user interested in running a comparison shopping agent, one that looks at different stores’ diverse product offerings and selects the most appropriate product and store for that person. Where would this agent be launched from? One solution would let individual businesses host the agent’s starting process. In this approach, because the individual businesses supply the agents, they can modify their agent’s behavior as they see fit. Thus, there are incentives for the individual businesses to deceive and implement the comparison-shopping agent in a way that biases the search results toward their own store. Another solution would let computer users launch the agents from their own machines. Such a solution 94
Computer
would entail installing a mobile-agent platform on a desktop computer, mobile phone, or other appliance. Users would also need to download the mobile agents from a vendor. A mobile-agent platform needs to reside on their machines because mobile agents must be configured, instantiated, and run on a host before migrating to another host through a go command. This solution has the disadvantage that it involves the nuisances and headaches of constant software upgrades.
PEOPLE RESISTANCE When considering the social implications of mobile agents, people resistance presents a potential obstacle. The word agent conjures up impressions linked to the fantasy of a JamesBond-like entity that roams the network doing the user’s dirty work single-handedly. Therefore, unless people fully understand what is really going on behind the scenes, they might resist using software agents for fear they will do something malicious without being aware of having done so. Hence, not only must a software agent be able to perform its actions according to its principal’s preferences, but it must also be able to
assure the agent’s principal that it is doing so. For people to embrace this new paradigm, Don Norman (“How Might People Interact with Agents”; http:// jnd.org/dn.mss/how_might_peopl. html) offers a few guidelines: Agents must provide their principals with the feeling of control, they must be provided with reassurance that everything is working as planned, and people’s expectations regarding the agents’ capabilities must be kept in check. Norman mentions that users must agree that “when automata do tasks for them, that they are comfortable with the actions, in part through a feeling of understanding, in part through confidence in the systems.”
MOBILE-AGENT SECURITY This is the most important technical concern for developers of agent-based systems, agent site administrators, and computer users. The danger of executing a malicious software agent downloaded from a foreign untrusted host has been compared to that of being infected by an unwanted computer virus. Security facilities must be in place to ensure the safety of the receiving host. Mobile-agent security is difficult to achieve, but there are some wellknown techniques to ensure a certain level of security for protecting hosts from agents and protecting agents from each other. While the threats of mobile agents have been identified, the answers to them have not, and unless the profession fully addresses these security issues, system administrators and computer users will be unlikely to adopt the mobile-agent paradigm. We believe that the closed-agent infrastructure we propose provides viable answers to these security threats.
LEARNING FROM THE PAST AND PRESENT The venerable 1970s-era mainframe computer still soldiers on, supporting thousands of simultaneous computer users who gain access through dumb terminals or terminal emulations. IT
system administrators put in place controls and restrictions to moderate access, allocate resources, and monitor performance. System capacity can be added nondisruptively, instantly, and granularly to achieve computing on demand. In a sense, Google is bringing back the mainframe as part of its vision of plugging computing devices such as desktop computers, mobile phones, or TVs into its massive grid and application services. We applied the ideas of the mainframe era and Google’s business model when designing an infrastructure for making agents accessible and usable by computer users. As Figure 1 shows, our business model for seamless integration of software agents into the existing Web infrastructure (Q.H. Mahmoud and L. Yu, “An Architecture and Business Model for Making Software Agents Commercially Viable,” Proc. HICSS-38, IEEE CS Press, 2005; www.computer.org) consists of three main components: the agent’s principals, the central agency, and the business partners. The principals-agency idea looks very much like the mainframe platform’s dumb terminal, which provides indirect secure access to software agents. Once logged into the central agency, principals can select, configure, and dispatch agents to perform tasks for them. The platform can be seamlessly integrated into the existing Web, and agents can be added nondisruptively. In addition, the central agency and business partners resemble the Google/Web interdependence in which business partners can use the software agent to return one or more related advertisements to the principal. The central agency lies at the heart of the system. It hosts and manages agents and acts as a bridge providing the principals with indirect control over the software agents that act on their behalf. One benefit to the principals accessing software agents through a central agency is that it avoids software installs and updates. The agency is run and managed by Internet or cellular-network service
providers, which offers two major benefits. First, this approach hides the complexity of software agents from their users, freeing them from the headaches of perpetual software upgrades to the agent platform or software agents. Second, because the software agent code now comes from the central agency, we know that the business logic inside will be fair and will treat all businesses equally.
T
he software agent research community must organize the landscape of agent technology to make it feasible for e-commerce and m-commerce, adaptive software applications, and software systems in general. It must focus on developing usable tools for developing software agents. The community should concentrate on how to make software agents usable by keeping in mind the people who will use the technology. A first step should be devising deployment strategies that effectively introduce software agents into the existing Web infrastructure. We believe that these strategies will address many of the difficult problems raised by employing software agents. The proposed system will, for example, lock all Web site participants into business contracts
and thereby make them mutually trusting parties. Such business partnerships let participants offer valueadded services to their subscribers. The centralized agency makes software agents easily accessible to people—something we learned from the venerable mainframe—while the closed architecture and business model lead to a community of trusting business partners in which the security issues of agent technology no longer present the main concern. ■ Qusay H. Mahmoud is an associate professor in the Department of Computing and Information Science, University of Guelph, and associate chair of the Distributed Computing and Wireless Telecommunications Technology program at the University of Guelph-Humber. Contact him at qmahmoud@cis. uoguelph.ca. Leslie Yu is a software developer at Business Objects in Vancouver, Canada. Contact him at Les.Yu@businessobjects. com. Editor: Neville Holmes, School of Computing, University of Tasmania;
[email protected]. Links to further material are at www.comp.utas. edu.au/users/nholmes/prfsn.
Join the IEEE Computer Society online at www.computer.org/join/ Complete the online application and get • immediate online access to Computer • a free e-mail alias —
[email protected] • free access to 100 online books on technology topics • free access to more than 100 distance learning course titles • access to the IEEE Computer Society Digital Library for only $118 Read about all the benefits of joining the Society at
www.computer.org/join/benefits.htm July 2006
95