A gent internal mechanisms form the basis for many of the languages proposed for describing agent behavior and interagent protocols. These mechanisms include Soar, 1 a general cognitive architecture for developing systems that exhibit intelligent behavior, and the Knowledge Query and Manipulation Language, 2 a language and protocol for developing large-scale sharable and reusable knowledge bases. For the Web, however, we should also consider the needs of application designers such as sales managers, travel agents, and schoolteachers. To this end, we have been developing Q, a language for describing interaction scenarios between agents and users based on agent external roles. Q can also provide an interface between computing professionals and scenario writers. Rather than depending on agent internal mechanisms, Q seeks to describe how scenario writers should request that agents behave. The change in focus from agent internal mechanisms to interaction scenarios significantly affects the language's syntax and semantics. For example, if an agent accepts only two requests, on and off, Q lets scenario writers use only the commands on and off. This does not mean the agent lacks intelligence, only that it is not controllable. Further, the only way to know the semantics of commands is to try them. For example, the semantics of the move command depend on whether the agent can run rapidly with a light step or move slowly, in a thoughtful manner. Since Q cannot control the agent's internal mechanism, it cannot use functions-such as Java function calls-to implement detailed agent behavior. Scenarios also help establish a bridge between the computing professionals who design agents and the scenario writers who design applications. We can expect an effective dialog to emerge from the interplay between the two different perspectives during the process of formalizing interaction patterns. Q is an extension of Scheme, a Lisp programming language dialect. We introduce sensing and acting functions and guarded commands in Scheme. Since Scheme is Q's mother language, all Scheme functions and forms can be used in any Q scenario. A cue is an event that triggers interaction. Scenario writers use cues to request that agents observe their environment. No cue can have any side effect. Cues keep on waiting for the specified event until the observation successfully completes. Comparable to cues, actions request that agents change their environment. Unlike functions in programming languages, Q scenarios do not define the semantics of cues and actions. Since different agents execute cues and actions differently, their semantics fully depend on the agent. The following example shows cues, which start with a question mark, and actions, which start with an exclamation point: (?hear "Hello" :from Jerry) (!walk :from bus_terminal :to railway_station) (!speak "Hello" :to Jerry) The Q language-which describes interaction scenarios between agents and users based on agent external roles-provides an interface between computing professionals and scenario writers.
REF has extended the Scheme language to describe interaction scenarios between agents inside a 3D environment.
Q: A Scenario Description Language for Interactive Agents
IEEE Computer
Computer Science