An Appraisal-Based Architecture for Agents As Actors
|questions:||stefan(DOT)rank(AT)ofai(DOT)at (substitute ;-)|
ActAffAct is the product of the master's thesis of Stefan Rank. It is a small proof of concept program that extends a BDI architecture with an appraisal component. It tries to demonstrate the applicability of such an architecture to the area of emergent narrative.
By now, ActAffAct has also been improved substantially through work done by Sandro Pirkwieser for his bachelor degree.
Emotion plays a central role in engaging drama. The conflicts between the characters in a play and the emotions involved in resolving them are the constituents of a dramatic structure, a plot. This premise leads to the assumption that a cast of characters driven by a simulation of the process described by the appraisal theory of emotion might realize dramatic structures by simply interacting in an environment that is prone to conflict. This should even be possible without any directing entity that controls the characters. Using an appraisal-based architecture is thus seen as a key to construct emotionally and dramatically believable characters for interactive drama.
The ActAffAct project constitutes an effort to test these ideas with an implementation of such characters in order to gain experiences about the feasibility and the involved complexity. A belief-desire-intention architecture for software agents is extended by an appraisal component following a psychological model of the appraisal process. Key features of different theories of drama are considered during the construction of the environment and the internal setup of the synthetic actors.
The results provide a starting point for further work about emotional agent architectures and their use in virtual worlds.
There is no real documentation for the software but the master's thesis and some slides may give some hints.
- Rank S.: Affective Acting: An Appraisal-based Architecture for Agents as Actors, Institut fuer Medizinische Kybernetik und Artificial Intelligence, Universitaet Wien, Diplomarbeit, 2004. (Master's thesis as pdf)
- ActAffAct Slides as pdf
There are several diagrams that document static and dynamic relationships in the ActAffAct viewer application and the agent architecture. If you start at the first SVG file (and happen to have the SVG plugin from Adobe or something similar) this should work as a (rather bad) guided tour of the source code. The PNG alternatives should be viewable in any modern browser and are probably easier to print out. The last diagram is a tentative effort to visually relate parts of the architecture to concepts of different emotion theories.
ActAffAct's main parts are derived from JAM, the Java Agent Model (by Marcus J. Huber, http://www.marcush.net/IRS/irs_downloads.html).
Furthermore it uses the Batik Toolkit (http://xml.apache.org/batik) for rendering simple SVG graphics, and the non-commercial version of the JGoodies Looks library (by Karsten Lentzsch, http://www.jgoodies.com/freeware/libraries/looks/).
ActAffAct (zip, ~7MB) (including Sandro Pirkwieser's changes, a precompiled jar is inside for convenience)
the newest sources can be obtained if you happen to have darcs the revision control system with
darcs get http://www.ofai.at/~stefan.rank/repos/AAAViewer
Simply unpack and start with java -jar AAAViewer.jar (assuming a standard classpath setting and the java executable on the path).
The only requirement for running it should be a Java 1.5 Runtime Environment.
[Sound can be disabled by commenting out the corresponding line in aaas/basic.aaaStage]