1. the user touching the agent to activate it, and
2. the user sending a message in the agent's vicinity.
3.5.1 Reuse of Components We have a growing set of behavioral components which can be reused to build tutors for several learning situations. For example, as shown in the example in the previous section, the TutoringManager and the TutoringActor can be used to include tutoring scripts developed for the TuTalk system within the agent's interactive behavior. The agents discussed in the next section show extensive reuse of these components.
Furthermore, the interaction with the Second Life environment is isolated to the SLListener and SLActor components. These components can be replaced to make the same agent work in other similar environments (like chatrooms or other multiuser virtual environments). It is useful to allow agents to operate in multiple environments with comparable affordances especially in the online learning situation to allow the students to be able to interact with the agent from an environment of their choice.
Overall, decomposing agents into small, loosely coupled components that encapsulate behavior allows application of object-oriented programming principles that facilitate incremental and distributed development in teams. Just as these principles have enabled large-scale software development, we believe that they will facilitate development of complex and highly interactive instructional agents for mass use.
3.5.2 Development Tools Besides the core classes of the architecture, Basilica provides a variety of debugging utilities through loggers and observer classes. A visual debugging interface is available as a part of these utilities to help developers verify the connections between components and track event propagation as developers proceed through the agent development iterations. Fig. 7 shows a screenshot of this debugging interface. The component network shown in the interface is animated as events propagate through the network. Developers can click on any component or connection to get a detailed look at the events generated and processed by each component.
To support the deployment of agents built using the Basilica architecture for large experiments, the architecture provides an operation class that can launch and manage several agents. Another utility built within the architecture is the Timer, which has been useful for implementing behaviors that require periodic involuntary stimuli rather than external stimuli from the environment (e.g., to regularly check for student participation).
1. Basilica provides a rich representational capability unlike other agent development frameworks by not restricting agent behavior to a small set of communicative acts/operators.
2. A component network can be built using Basilica to address situation-specific complex interaction dynamics encountered in extended multiparty interactive situations like collaborative learning.
3. Adoption of objected-oriented programming principles and availability of a variety of support tools along with the architecture helps in making the development process systematic, distributable, and efficient.
• R. Kumar is with the Language Technologies Institute, Carnegie Mellon University, Gates Hilman Center, 5000 Forbes Avenue, Pittsburgh, PA 15213. E-mail: email@example.com.
• C.P. Rosé is with the Language Technologies Institute and the Human Computer Interaction Institute, Carnegie Mellon University, Gates Hilman Center, 5000 Forbes Avenue, Pittsburgh, PA 15213.
Manuscript received 13 Apr. 2010; revised 16 Aug. 2010; accepted 3 Oct. 2010; published online 10 Dec. 2010.
For information on obtaining reprints of this article, please send e-mail to: firstname.lastname@example.org, and reference IEEECS Log Number TLT-2010-04-0065.
Digital Object Identifier no. 10.1109/TLT.2010.41.
1. Researchers interested in using this architecture may contact the first author. Updates and other information about the architecture are aggregated at http://basilica.rohitkumar.net/wiki/.
Rohit Kumar received the bachelor's degree in engineering from Punjab Engineering College, Chandigarh, in 2003, and the master's degree in language technologies from Carnegie Mellon University in 2007. He is a PhD student at the Language Technologies Institute at Carnegie Mellon University. He was a research scientist at the Language Technologies Research Center, IIIT Hyderabad, from 2003 to 2005. His research interests include conversational agents and their applications to variety of complex interactive situations. Since 2000, he has been a member of the IEEE and the IEEE Computer Society.
Carolyn P. Rosé received the master's degree in computational linguistics and the PhD degree in language and information technologies from Carnegie Mellon University in 1994 and 1998, respectively. She is an assistant professor with a joint appointment between the Language Technologies Institute and the Human-Computer Interaction Institute at Carnegie Mellon University. She has more than 100 peer-reviewed publications, mainly in top-tier conferences and journals, spanning the fields of language technologies, learning sciences, educational technology, and human-computer interaction. She serves as the secretary/treasurer of the International Society of the Learning Sciences.