The creation of a computing framework to accommodate the use of distributed agents for faster, more autonomous software packages
The 75 Years of Innovation series highlights the groundbreaking innovations spanning from SRI’s founding in 1946 to today. Each week, SRI will release an innovation, leading up to its 75th anniversary in November 2021.
How agents took computing to a new era: Open Agent Architecture from SRI International
Describing something as having “agency” means that it can make independent decisions. The idea of a computer having agency first appeared in science fiction by authors such as Isaac Asimov and Arthur C. Clarke. SRI International has a long history of turning science fiction into science fact. In the 1990s, SRI International was deeply involved in innovation in human-computer interface (HCI) technologies and artificial intelligence (AI). At this time, SRI developed a programming framework designed around Open Agent Architecture (OAA®). OAA provided a computer programming methodology for software agents.
A collective approach using computer agents
Software system design is continuously evolving. As this happens, new technologies emerge. An example of an evolutionary step in computing involved the networking of computers that led to the modern-day internet. SRI’s OAA was an exploration of computing capability based on the dynamic nature of modern hyper-connected systems. This evolution was primarily one of distribution. Before networking, software packages and data were desktop-bound. When computing began to move towards a more distributed architecture, however, data could be accessed from potentially anywhere in the world. This new software architecture allowed access to rich data formats such as multimedia, audio and video, leading to the ways we access media today.
The increasing reliance on networked computers led researchers to explore other options for dynamically use distributed software processes. Users wanted more from their software applications, including personalization and dynamic operation. In a research paper from SRI International in the late 1990s, the authors described the evolving needs and expectations of computer software designers and users, saying: “In an increasing variety of domains, application designers and users are coming to expect the deployment of smarter, longer-lived, more autonomous, software applications.”
SRI’s Artificial Intelligence Center developed OAA in response to three key drivers in software system development:
- The adoption of the networked computing model
- The deployment of smart, autonomous software applications
- A demand for more accessible and intuitive user interfaces driven by the increasing complexity of software systems
SRI designed OAA as a framework for constructing a multiagent system that could accommodate distributed software agents, with specialist agents such as “facilitators” and “support agents” that could communicate and perform tasks across networks.
OAA and Agents
OAA was developed to build distributed communities of agents. SRI designed OAA to include a series of conventions that defined how software processes could fulfill the criteria for being an agent. OAA guidelines explain: “Software agents running on distributed machines can work together on tasks assigned by human or non-human participants in the community.”
For an agent to work within the structure of OAA, it must be built according to specific communication and functional standards. These standards required that an agent be based on a programming language known as Interagent Communication Language. This language was platform-independent, logic-based and translatable to a form understandable by humans, making research easier. Agents used this common language to collaborate by delegating and receiving work requests via a Facilitator Agent.
Each agent had a common set of functions, including the ability to install local or remote triggers. Four triggers were:
- Task triggers: i.e., “If something happens, do this.”
- Communication triggers: “If an agent does this, then do that.”
- Data triggers: “When an email arrives, send a notice.”
- Time triggers: “Every day at 2 pm, send me a reminder.”
Other Agent types provided new functionality. Support agents were able to deliver Natural Language Parsing, Speech Recognition, Text-To-Speech and so on. Mobile agents were bits of code that could move between computers under their own autonomy. Mobile agents were further developed by IBM (“Aglets”), Mitsubishi (“Concordia”) and ObjectSpace (“Voyager”).
Where did OAA go?
Computing is constantly changing; technologies come and go. However, what is often seen in computing is an ebb and flow of ideas and technologies in which ideas morph to become seemingly something else altogether. OAA became a foundation for the DARPA-funded Cognitive Agent that Learns and Organizes (CALO) project. From CALO sprang forth Siri, the first virtual personal assistant, widely known as the iPhone’s voice.
Research into agent technology continues to this day; with an overlay of artificial intelligence, agents are being normalized in the form of chatbots, data mining agents and personal lifestyle agents.
Martin, D.L., et al., The Open Agent Architecture: A Framework for Building Distributed Software Systems, SRI International, Menlo Park
SRI International, OAA FAQ: http://www.ai.sri.com/~oaa/distribution/doc/oaa-faq-v2.html#PG_1.1
SRI International, The Interagent Communication Language: http://www.ai.sri.com/~cheyer/papers/aai/node12.html
United States Patent Cheyer et al. US 6,851,115 B1, SOFTWARE-BASED ARCHITECTURE FOR COMMUNICATION AND COOPERATION AMONG DISTRIBUTED ELECTRONIC AGENTS, filed 1999: https://patentimages.storage.googleapis.com/80/cd/7b/ecba8da93bd965/US6851115.pdf
75 Years of Innovation: CALO: https://sri.com/story/75-years-of-innovation-calo-cognitive-assistant-that-learns-and-organizes/
The Dish, 75 Years of Innovation: Siri: https://medium.com/dish/75-years-of-innovation-siri-75244a25c741