\relax \@writefile{toc}{\vskip -8pt} \@writefile{toc}{\contentsline {chapter}{\numberline {\ }Preface}{xvii}} \@writefile{toc}{\vskip -8pt} \@writefile{toc}{\contentsline {chapter}{\hbox to\@tempdima {\ \hfil }Acknowledgments}{xix}} \@writefile{toc}{\vskip -8pt} \@writefile{toc}{\contentsline {chapter}{\numberline {\ }Acronyms}{xxi}} \@writefile{toc}{\contentsline {part}{I\hspace {1em}Fundamentals}{1}} \citation{vrml} \@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}} \citation{activeworld} \citation{blaxxun} \newlabel{function-approach}{{1}{3}} \@writefile{lot}{\contentsline {table}{\numberline {1.1}{\ignorespaces Relation between the functions and the approaches}}{3}} \@writefile{toc}{\contentsline {chapter}{\numberline {2}Logic Programming}{5}} \@writefile{toc}{\contentsline {section}{\numberline {2.1}What is Prolog }{5}} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Structure of Prolog }{6}} \newlabel{prolog1}{{2.2}{8}} \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Search in Directed Graph}}{8}} \@writefile{toc}{\contentsline {section}{\numberline {2.3}How Prolog works: Unification and Backtracking }{8}} \newlabel{search1}{{2.3}{10}} \@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Search in Directed Graph}}{10}} \newlabel{search2}{{2.3}{10}} \@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces Backtracking}}{10}} \@writefile{toc}{\contentsline {section}{\numberline {2.4}Working on Lists }{11}} \@writefile{toc}{\contentsline {section}{\numberline {2.5}Built-in Predicates in Prolog }{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.5.1}Arithmetic evaluation }{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.5.2}Arithmetic comparison }{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.5.3}Cut and Fail }{13}} \@writefile{toc}{\contentsline {section}{\numberline {}Exercises}{14}} \@writefile{toc}{\contentsline {chapter}{\numberline {3}Distributed Logic Programming}{15}} \newlabel{dlp}{{3}{15}} \@writefile{toc}{\contentsline {section}{\numberline {3.1}Object declarations }{15}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Statements }{16}} \@writefile{toc}{\contentsline {section}{\numberline {3.3}Examples }{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Hello World }{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}File I/O }{20}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Buffer Producer and Consumer }{21}} \@writefile{toc}{\contentsline {section}{\numberline {}Exercises}{25}} \@writefile{toc}{\contentsline {chapter}{\numberline {4}DLP and Virtual Worlds}{27}} \newlabel{dlp-on-vw}{{4}{27}} \newlabel{dlpve}{{4}{27}} \@writefile{toc}{\contentsline {section}{\numberline {4.1}VRML EAI and DLP }{27}} \@writefile{toc}{\contentsline {section}{\numberline {4.2}Design 3D Virtual Worlds for DLP }{27}} \@writefile{toc}{\contentsline {section}{\numberline {4.3}Loading 3D Virtual Worlds }{30}} \@writefile{toc}{\contentsline {section}{\numberline {4.4}VRML Predicates }{31}} \@writefile{toc}{\contentsline {section}{\numberline {4.5}Manipulating VRML worlds: Examples }{32}} \newlabel{title-moving0}{{4.5.1}{33}} \@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Screenshot of title moving}}{33}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}title moving }{33}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.2}Bus Driving }{35}} \newlabel{bus-xz00}{{4.5.2}{37}} \@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Initial Situation of Bus Driving}}{37}} \newlabel{bus-xz0}{{4.5.2}{38}} \@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces The initial rotation values}}{38}} \newlabel{bus-xz1}{{4.5.2}{38}} \@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces User turns to the right}}{38}} \newlabel{bus-xz2}{{4.5.2}{39}} \@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces User turns to the left}}{39}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.3}The Vector Library in DLP }{39}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.4}Ball Kicking }{41}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.5}Soccer Kicking with Goalkeeper }{42}} \newlabel{kick-xz0}{{4.5.4}{43}} \@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces kicking ball to a position}}{43}} \@writefile{toc}{\contentsline {section}{\numberline {}Exercises}{44}} \@writefile{toc}{\contentsline {part}{II\hspace {1em}3D Web Agents}{45}} \citation{rn95} \citation{rn95} \@writefile{toc}{\contentsline {chapter}{\numberline {5}Agents}{47}} \newlabel{agent}{{5}{47}} \@writefile{toc}{\contentsline {section}{\numberline {5.1}Simple Reflex Agents }{47}} \citation{fr88} \@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Simple Reflex Agents}}{48}} \newlabel{simple-reflex-agent}{{5.1}{48}} \@writefile{toc}{\contentsline {section}{\numberline {5.2}Decision-making Agents }{48}} \citation{rao:1991} \citation{rao:1995} \@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Decision-making Agents}}{49}} \newlabel{decision-making-agent}{{5.2}{49}} \@writefile{toc}{\contentsline {section}{\numberline {5.3}BDI Agents }{49}} \citation{be95b} \citation{be95b} \@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Belief-Desire-Intention Agents}}{50}} \newlabel{bdi-agent}{{5.3}{50}} \@writefile{toc}{\contentsline {section}{\numberline {5.4}Extended BDI Agents }{50}} \citation{roadmap:1998} \@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Extended-BDI Agents}}{51}} \newlabel{bellagent}{{5.4}{51}} \@writefile{toc}{\contentsline {section}{\numberline {5.5}Main Features of Intelligent Agents }{52}} \citation{liu01} \citation{knoblock97} \citation{klusch99} \citation{klusch03} \citation{antonio01} \citation{beer99} \citation{roth99} \citation{huang:2000} \citation{agents} \citation{search} \citation{negro} \citation{maes} \@writefile{toc}{\contentsline {chapter}{\numberline {6}Web Agents}{53}} \newlabel{web-agent}{{6}{53}} \newlabel{webagent}{{6}{53}} \@writefile{toc}{\contentsline {section}{\numberline {6.1}Introduction }{53}} \citation{adaptive} \citation{roadmap:1998} \@writefile{toc}{\contentsline {section}{\numberline {6.2}Intelligent services on the web -- an overview }{54}} \newlabel{service}{{6.2}{54}} \citation{alpha} \citation{blaxxun} \@writefile{toc}{\contentsline {section}{\numberline {6.3}Agents in virtual environments }{55}} \newlabel{agent-virtual-environment}{{6.3}{55}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Agents in 3D Community Server }{55}} \newlabel{blaxxun}{{6.3.1}{55}} \citation{watson:1996} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Information retrieval in virtual environments }{57}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}Adaptive environments -- presenting information }{58}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.4}Discussion }{59}} \citation{fipa} \@writefile{toc}{\contentsline {section}{\numberline {6.4}A taxonomy of web agents }{60}} \newlabel{taxonomy}{{6.4}{60}} \@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Lattice of Web Agents}}{61}} \newlabel{lattice}{{6.1}{61}} \@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces Configuration of 3D-server-multiple-agent}}{62}} \newlabel{3D-server-multiple-agent}{{6.4.1}{62}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}3D-Server-Multiple-Agent }{62}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}3D-Server-Single-Agent }{62}} \citation{mud} \@writefile{lof}{\contentsline {figure}{\numberline {6.3}{\ignorespaces Configuration of 3D-server-single-agent}}{63}} \newlabel{3D-server-single-agent}{{6.3}{63}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}3D-Client-Multiple-Agent }{63}} \@writefile{lof}{\contentsline {figure}{\numberline {6.4}{\ignorespaces Configuration of 3D-client-multiple-agent}}{64}} \newlabel{3D-client-multiple-agent}{{6.4}{64}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.4}2D-Server-Multiple-Agent }{64}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.5}3D-Client-Single-Agent }{64}} \@writefile{lof}{\contentsline {figure}{\numberline {6.5}{\ignorespaces Configuration of 2D-server-multiple-agent}}{65}} \newlabel{2D-server-multiple-agent}{{6.5}{65}} \@writefile{lof}{\contentsline {figure}{\numberline {6.6}{\ignorespaces Configuration of 3D-client-single-agent}}{65}} \newlabel{3D-client-single-agent}{{6.6}{65}} \@writefile{lof}{\contentsline {figure}{\numberline {6.7}{\ignorespaces Configuration of 2D-server-single-agent}}{66}} \newlabel{2D-server-single-agent}{{6.7}{66}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.6}2D-Server-Single-Agent }{66}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.7}2D-Client-Multiple-Agent }{66}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.8}2D-Client-Single-Agent }{66}} \@writefile{lof}{\contentsline {figure}{\numberline {6.8}{\ignorespaces Configuration of 2D-client-multiple-agent}}{67}} \newlabel{2D-client-multiple-agent}{{6.8}{67}} \@writefile{toc}{\contentsline {section}{\numberline {6.5}Research issues }{67}} \newlabel{research}{{6.5}{67}} \@writefile{lof}{\contentsline {figure}{\numberline {6.9}{\ignorespaces Configuration of 2D-client-single-agent}}{68}} \newlabel{2D-client-single-agent}{{6.9}{68}} \@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Demonstrators of agent technology}}{69}} \newlabel{demonstrator}{{6.1}{69}} \@writefile{toc}{\contentsline {paragraph}{Demonstrators for agents in virtual environments}{69}} \@writefile{toc}{\contentsline {section}{\numberline {6.6}Conclusions }{70}} \@writefile{toc}{\contentsline {chapter}{\numberline {7}3D Web Agents in DLP}{71}} \@writefile{toc}{\contentsline {section}{\numberline {7.1}Implementation of 3D Web Agents }{71}} \newlabel{wasp-soccer}{{7.2.1}{72}} \@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Screenshot of Soccer Playing Game}}{72}} \@writefile{toc}{\contentsline {section}{\numberline {7.2}Soccer Playing Agents: An Example }{72}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}General Consideration }{72}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}Design of virtual worlds }{73}} \newlabel{field1}{{7.2.2}{74}} \@writefile{lof}{\contentsline {figure}{\numberline {7.2}{\ignorespaces The Field of Play}}{74}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}Multiple Thread Control }{76}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.4}Formalizing Behaviors Soccer Ball }{78}} \citation{fifa} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.5}Cognitive Models of Soccer Players }{81}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.6}Controlling Goalkeepers }{85}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.7}Behaviors of Soccer Player Users }{86}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.8}Discussion }{87}} \newlabel{lineup}{{7.2.8}{88}} \@writefile{lof}{\contentsline {figure}{\numberline {7.3}{\ignorespaces Line-up phenomenon in Soccer Playing Game}}{88}} \@writefile{toc}{\contentsline {section}{\numberline {7.3}Dog World }{88}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Design the virtual world }{88}} \newlabel{dogworld}{{7.3}{89}} \@writefile{lof}{\contentsline {figure}{\numberline {7.4}{\ignorespaces Screenshot of the dogworld example}}{89}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2}Behavioral model of the dogs }{89}} \citation{reynolds87} \newlabel{flockcenter}{{7.3.3}{90}} \@writefile{lof}{\contentsline {figure}{\numberline {7.5}{\ignorespaces Flock and Distributive Function}}{90}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.3}Flock and Distributive Function }{90}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.4}Implementation }{91}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.5}Discussion }{92}} \@writefile{toc}{\contentsline {section}{\numberline {}Exercises}{93}} \@writefile{toc}{\contentsline {chapter}{\numberline {8}Avatars Design}{95}} \@writefile{toc}{\contentsline {section}{\numberline {8.1}Avatars }{95}} \citation{hanim} \citation{hanim} \@writefile{toc}{\contentsline {section}{\numberline {8.2}H-anim 1.1 Specification }{96}} \newlabel{hanim-diagram}{{8.2}{98}} \@writefile{lof}{\contentsline {figure}{\numberline {8.1}{\ignorespaces A Standard Joints/Segment Diagram of H-anim 1.1}}{98}} \@writefile{toc}{\contentsline {section}{\numberline {8.3}Creating H-anim Compliant Avatars }{100}} \newlabel{simple-avatar}{{8.3}{101}} \@writefile{lof}{\contentsline {figure}{\numberline {8.2}{\ignorespaces A Simple H-anim 1.1 Compliant Avatar}}{101}} \citation{curiouslab} \newlabel{avatar-with-hair-clothes}{{8.3}{103}} \@writefile{lof}{\contentsline {figure}{\numberline {8.3}{\ignorespaces A H-anim 1.1 Compliant Avatar with Hairs and Clothes}}{103}} \@writefile{toc}{\contentsline {section}{\numberline {8.4}Avatar Authoring Tools }{103}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.4.1}Curious Labs Poser 4 }{103}} \@writefile{toc}{\contentsline {subsection}{\numberline {8.4.2}Blaxxun Avatar Studio }{103}} \newlabel{poser4}{{8.4.1}{104}} \@writefile{lof}{\contentsline {figure}{\numberline {8.4}{\ignorespaces A Screenshot of Poser 4}}{104}} \newlabel{avatar-studio}{{8.4.2}{104}} \@writefile{lof}{\contentsline {figure}{\numberline {8.5}{\ignorespaces A Screenshot of Avatar Studio}}{104}} \newlabel{sportman}{{8.4.2}{105}} \@writefile{lof}{\contentsline {figure}{\numberline {8.6}{\ignorespaces Soccer Player Avatar blue2}}{105}} \newlabel{sportman-texture}{{8.4.2}{105}} \@writefile{lof}{\contentsline {figure}{\numberline {8.7}{\ignorespaces Texture of Soccer Player Avatar blue2}}{105}} \@writefile{toc}{\contentsline {section}{\numberline {8.5}Avatar Animation Control in DLP }{106}} \@writefile{lof}{\contentsline {figure}{\numberline {8.8}{\ignorespaces Facial Animation}}{107}} \newlabel{pamela01}{{8.8}{107}} \@writefile{toc}{\contentsline {section}{\numberline {}Exercises}{108}} \citation{huang:2000} \citation{step} \@writefile{toc}{\contentsline {chapter}{\numberline {9}STEP : a Scripting Language for Embodied Agents}{109}} \newlabel{step}{{9}{109}} \@writefile{toc}{\contentsline {section}{\numberline {9.1}Motivation }{109}} \citation{harel84} \@writefile{toc}{\contentsline {section}{\numberline {9.2}Principles }{110}} \newlabel{design}{{9.2}{110}} \citation{harel84} \citation{pg96} \@writefile{toc}{\contentsline {section}{\numberline {9.3}Scripting Language STEP }{112}} \newlabel{script}{{9.3}{112}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.3.1}Reference Systems }{112}} \@writefile{toc}{\contentsline {paragraph}{Direction Reference}{112}} \@writefile{lof}{\contentsline {figure}{\numberline {9.1}{\ignorespaces Direction Reference for Humanoid}}{113}} \newlabel{direction}{{9.1}{113}} \@writefile{lof}{\contentsline {figure}{\numberline {9.2}{\ignorespaces Combination of the Directions for Left Arm}}{114}} \newlabel{leftarm}{{9.2}{114}} \@writefile{toc}{\contentsline {paragraph}{Body Reference}{114}} \@writefile{lof}{\contentsline {figure}{\numberline {9.3}{\ignorespaces Typical Joints for Humanoid}}{115}} \newlabel{joint}{{9.3}{115}} \@writefile{toc}{\contentsline {paragraph}{Time Reference}{116}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.3.2}Primitive Actions and Composite Operators }{116}} \@writefile{lof}{\contentsline {figure}{\numberline {9.4}{\ignorespaces Walk}}{117}} \newlabel{walk}{{9.4}{117}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.3.3}High-level Interaction Operators }{117}} \@writefile{toc}{\contentsline {section}{\numberline {9.4}Examples }{117}} \newlabel{application}{{9.4}{117}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.4.1}Walk and its Variants }{117}} \citation{fa97} \@writefile{lof}{\contentsline {figure}{\numberline {9.5}{\ignorespaces Poses of Run}}{119}} \newlabel{run0}{{9.5}{119}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.4.2}Run and its Deformation }{119}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.4.3}Tai Chi }{120}} \@writefile{lof}{\contentsline {figure}{\numberline {9.6}{\ignorespaces Tai Chi}}{121}} \newlabel{taichi}{{9.6}{121}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.4.4}Interaction with Other Agents }{122}} \@writefile{toc}{\contentsline {section}{\numberline {9.5}XSTEP: the XML-encoded STEP }{123}} \newlabel{xstep}{{9.5}{123}} \@writefile{toc}{\contentsline {section}{\numberline {9.6}Implementation Issues }{124}} \newlabel{implementation}{{9.6}{124}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.6.1}STEP \ Components }{124}} \@writefile{lof}{\contentsline {figure}{\numberline {9.7}{\ignorespaces STEP \ and its interface with embodied agents}}{125}} \newlabel{modules}{{9.7}{125}} \@writefile{toc}{\contentsline {subsection}{\numberline {9.6.2}Parallelism and Synchronization }{125}} \@writefile{lof}{\contentsline {figure}{\numberline {9.8}{\ignorespaces Processing Parallel Actions}}{126}} \newlabel{parallel}{{9.8}{126}} \citation{shoemake85} \@writefile{toc}{\contentsline {subsection}{\numberline {9.6.3}Rotation Interpolation }{127}} \newlabel{slerp}{{9.6.3}{127}} \citation{pg96} \@writefile{toc}{\contentsline {section}{\numberline {9.7}Conclusions }{128}} \citation{ps2002} \@writefile{toc}{\contentsline {part}{III\hspace {1em}Virtual Communities}{131}} \citation{vesl} \citation{mimaze} \citation{blaxxun} \citation{messmer} \citation{activeworld} \citation{blaxxun} \citation{liu99} \citation{rcr:1999} \citation{capin97} \citation{living-worlds} \@writefile{toc}{\contentsline {chapter}{\numberline {10}Virtual Communities}{133}} \newlabel{virtual-community}{{10}{133}} \@writefile{toc}{\contentsline {section}{\numberline {10.1}Introduction }{133}} \citation{broll:2000} \citation{ea98} \citation{watson:1996} \citation{huang:2002} \@writefile{toc}{\contentsline {section}{\numberline {10.2}Living Worlds }{134}} \@writefile{toc}{\contentsline {section}{\numberline {10.3}Agent-based Virtual Community }{134}} \@writefile{toc}{\contentsline {chapter}{\numberline {11}DLP for Virtual Communities}{137}} \newlabel{virtual-community-dlp}{{11}{137}} \@writefile{toc}{\contentsline {section}{\numberline {11.1}DLP Networking Predicates }{137}} \newlabel{network-predicate}{{11.1}{137}} \@writefile{lof}{\contentsline {figure}{\numberline {11.1}{\ignorespaces virtual community based on server-client mode}}{141}} \newlabel{server-client}{{11.1}{141}} \@writefile{toc}{\contentsline {section}{\numberline {11.2}Distributed Communication }{141}} \newlabel{distributed-communication}{{11.2}{141}} \citation{kqml} \citation{fipa} \citation{se69} \@writefile{lof}{\contentsline {figure}{\numberline {11.2}{\ignorespaces Communication among Multiple Threads in DLP}}{143}} \newlabel{dlp-communication}{{11.2}{143}} \@writefile{lof}{\contentsline {figure}{\numberline {11.3}{\ignorespaces Communication among Agents in DLP}}{144}} \newlabel{dlp-communication-agent}{{11.3}{144}} \@writefile{toc}{\contentsline {section}{\numberline {11.3}Example: VRML-based Multiple User Soccer Game }{145}} \newlabel{agentvc-example}{{11.3}{145}} \@writefile{toc}{\contentsline {subsection}{\numberline {11.3.1}Distributed Soccer Game Protocol }{145}} \@writefile{lof}{\contentsline {figure}{\numberline {11.4}{\ignorespaces Screenshot of Soccer Game with Multiple Users}}{146}} \newlabel{soccer-multiple-user-screenshot}{{11.4}{146}} \@writefile{toc}{\contentsline {subsection}{\numberline {11.3.2}Performance Improvement }{147}} \newlabel{protocol}{{11.3.1}{148}} \@writefile{lot}{\contentsline {table}{\numberline {11.1}{\ignorespaces Distributed Soccer Game Protocol}}{148}} \@writefile{toc}{\contentsline {subsection}{\numberline {11.3.3}Implementation }{149}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {11.3.3.1}$wsserver$}{149}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {11.3.3.2}$wsclient$}{153}} \@writefile{toc}{\contentsline {section}{\numberline {}Exercises}{155}} \@writefile{toc}{\contentsline {chapter}{\numberline {12}Conclusions}{157}} \@writefile{toc}{\contentsline {chapter}{Appendix A DLP Built-in Predicates}{159}} \@writefile{toc}{\contentsline {paragraph}{Arithmetic comparison}{159}} \@writefile{toc}{\contentsline {paragraph}{Arithmetic evaluation}{159}} \@writefile{toc}{\contentsline {paragraph}{Atomic term processing}{160}} \@writefile{toc}{\contentsline {paragraph}{Character input/output}{160}} \@writefile{toc}{\contentsline {paragraph}{Logic and control}{160}} \@writefile{toc}{\contentsline {paragraph}{Stream selection and control}{161}} \@writefile{toc}{\contentsline {paragraph}{Term comparison}{161}} \@writefile{toc}{\contentsline {paragraph}{Term creation and decomposition}{161}} \@writefile{toc}{\contentsline {paragraph}{Term input/output}{161}} \@writefile{toc}{\contentsline {paragraph}{Term input from constant terms}{162}} \@writefile{toc}{\contentsline {paragraph}{Term output to constant terms}{162}} \@writefile{toc}{\contentsline {paragraph}{Term unification}{162}} \@writefile{toc}{\contentsline {paragraph}{Type testing}{162}} \@writefile{toc}{\contentsline {paragraph}{List Processing}{162}} \@writefile{toc}{\contentsline {paragraph}{Miscellaneous}{162}} \@writefile{toc}{\contentsline {paragraph}{Java run-time system property predicates}{163}} \@writefile{toc}{\contentsline {paragraph}{TCP / IP Networking}{164}} \@writefile{toc}{\contentsline {paragraph}{Node::Field Attribute Storage and Retrieval Predicates}{164}} \@writefile{toc}{\contentsline {paragraph}{Get / Set Field Predicates}{165}} \@writefile{toc}{\contentsline {paragraph}{Get / Set Queue Predicates}{165}} \@writefile{toc}{\contentsline {paragraph}{Conditional Queue Lookup Predicates}{166}} \@writefile{toc}{\contentsline {paragraph}{Get / Set Array Predicates}{166}} \@writefile{toc}{\contentsline {paragraph}{DLP Regular Expression Library Predicates}{167}} \@writefile{toc}{\contentsline {paragraph}{Pattern Predicates}{167}} \@writefile{toc}{\contentsline {paragraph}{Pattern Matcher Creation}{167}} \@writefile{toc}{\contentsline {paragraph}{URL predicates}{167}} \@writefile{toc}{\contentsline {paragraph}{Matcher Predicates}{168}} \@writefile{toc}{\contentsline {paragraph}{Atom / String Predicates }{169}} \@writefile{toc}{\contentsline {paragraph}{DLP / JavaScript Interface}{170}} \@writefile{toc}{\contentsline {paragraph}{DLP / XML : Extensible Markup Language Predicates}{171}} \@writefile{toc}{\contentsline {paragraph}{Multi-threaded Objects (Syntax Summary)}{171}} \@writefile{toc}{\contentsline {paragraph}{DLP Foreign Language Interface}{172}} \@writefile{toc}{\contentsline {paragraph}{Vectors / Quaternions (vectorlib)}{173}} \@writefile{toc}{\contentsline {paragraph}{DLP / EAI: VRML External Authoring Interface Library (Summary)}{174}} \@writefile{toc}{\contentsline {chapter}{Appendix B Source Codes}{177}} \@writefile{toc}{\contentsline {section}{\numberline {B.1}Soccer Game: Single User/Multiple agents }{177}} \newlabel{waspsoccer}{{B.1}{177}} \newlabel{field1}{{B.1}{178}} \@writefile{lof}{\contentsline {figure}{\numberline {B.1}{\ignorespaces The Field of Play}}{178}} \@writefile{toc}{\contentsline {section}{\numberline {B.2}Dog world }{182}} \@writefile{toc}{\contentsline {chapter}{Appendix C}{189}} \bibcite{activeworld}{ActiveWorld, 2000} \bibcite{alpha}{AlphaWorld, 1999} \bibcite{antonio01}{de Antonio, et al., 2001} \bibcite{bandai}{Bandai, 1997} \bibcite{beer99}{Beer, 1999} \bibcite{be95b}{Bell, 1995} \bibcite{bh97}{Bell and Huang, 1997} \bibcite{blaxxun}{Blaxxun, 2000} \bibcite{broll:2000}{Broll et al., 2000} \@writefile{toc}{\contentsline {chapter}{\numberline {References\hss}}{191}} \bibcite{adaptive}{Brusilovsky, 1996} \bibcite{agents}{Caglayan, 1997} \bibcite{capin97}{Capin et al., 1997} \bibcite{carson99}{Carson et al., 1999} \bibcite{search}{Cheong, 1996} \bibcite{cl90}{Cohen and Levesque, 1990} \bibcite{creative}{Creature Labs, 1999} \bibcite{curiouslab}{Curious Labs} \bibcite{dlp}{DLP web site, 2001} \bibcite{ea98}{Earnshaw, et al., 1998} \bibcite{eliens:1992}{Eli\"ens, 1992} \bibcite{OO}{Eli\"ens, 2000} \bibcite{platform}{Eli\"ens et al., 2002} \bibcite{fa97}{Faure, 1997} \bibcite{fifa}{FIFA, 2001} \bibcite{kqml}{Finin and Fritzson, 1994} \bibcite{fipa}{FIPA, 1999} \bibcite{fr88}{Freach, 1988} \bibcite{gw96}{Graham, 1996} \bibcite{hanim}{H-anim, 2001} \bibcite{harel84}{Harel, 1984} \bibcite{huang:2000}{Huang et al., 2000} \bibcite{huang:2001}{Huang et al., 2001} \bibcite{huang:2001b}{Huang et al., 2001b} \bibcite{huang:2002}{Huang et al., 2002} \bibcite{step}{Huang et al., 2002b} \bibcite{living-worlds}{Living Worlds} \bibcite{liu99}{Liu, 1999} \bibcite{liu01}{Liu and Ye, 2001} \bibcite{vrml}{ISO, 1997} \bibcite{vrmleai}{ISO, 1997b} \bibcite{roadmap:1998}{Jennings et al., 1998} \bibcite{klusch99}{Klusch, 1999} \bibcite{klusch03}{Klusch et al, 2003} \bibcite{knoblock97}{Knoblock, 1997} \bibcite{maes}{Maes, 1997} \bibcite{messmer}{Messmer} \bibcite{mimaze}{MiMaze} \bibcite{mud}{MUD, 2000} \bibcite{negro}{Negroponte, 1995} \bibcite{pg96}{Perlin and Goldberg, 1996} \bibcite{intelligent}{Petrie, 1997} \bibcite{ps2002}{Prendiner et al., 2002} \bibcite{rao:1991}{Rao and Georgeff, 1991} \bibcite{rao:1995}{Rao and Georgeff, 1991} \bibcite{rcr:1999}{Reitmayr et al., 1999} \bibcite{reynolds87}{Reynolds, 1987} \bibcite{re99}{Reynolds, 1999} \bibcite{robocup}{Robocup, 1999} \bibcite{roth99}{Roth, 1999} \bibcite{rn95}{Russell and Norvig, 1995} \bibcite{shoemake85}{Schoemake, 1985} \bibcite{se69}{Searle, 1969} \bibcite{su98}{Subrahmanian, 1998} \bibcite{takahashi:1999}{Takahashi, 1999} \bibcite{vesl}{VESL} \bibcite{wasp}{WASP, 2000} \bibcite{watson:1996}{Watson, 1996} \@writefile{toc}{\contentsline {chapter}{\numberline {Glossary\hss}}{197}} \@writefile{toc}{\contentsline {chapter}{\numberline {Index\hss}}{198}}