This chapter describes a design agent model, called Generative Design Agent (GDA), whose computational processes are specifically developed for reasoning and designing in 3D virtual worlds. The agent model is wrapped around the design grammar, providing the mechanisms to sense and change the virtual world. Each GDA can be associated with a user of 3D virtual worlds and serves as his/her personal design agent to automatically and dynamically design places in virtual worlds, satisfying the person’s changing needs and capturing his/her style. By automating the generative design grammar application using GDAs, adaptive place design in 3D virtual worlds is realized.
While agent-based computing started in the 1970s, recently the concept of agents has become important for internet applications, drawing on ideas from artificial intelligence and artificial life.
There is no universal definition for the term agent. However, in the context of computer science, agents as intentional systems operate independently and rationally, seeking to achieve goals by interacting with their environment (Wooldridge & Jennings, 1995).
An agent is always located in an environment; it receives inputs from the environment, and acts autonomously upon the environment. According to Russell and Norvig (2009), agents are distinguished from objects and other computer programs, by a constraint of rationales on the agent’s beliefs, goals and actions. As shown in Figure 4.1, Russell and Norvig’s reflex agent diagram (2009) illustrates the basic interaction between an agent and its environment. The agent reasons about the condition of its environment and acts based on condition-action rules. Their utility agent diagram (2009) shown in Figure 4.2, illustrates a rational agent with additional beliefs and more complex reasoning processes.
We build on the definition of an agent as situated in an environment, capable of reasoning about the environment, and acting upon its beliefs and desires (Wooldridge, 2000). This definition distinguishes agents from other computational applications that perform actions based on predefined events, such as search engines on the web.
Figure 4.1: Reflex agent (after Russell and Norvig, 2009).
Figure 4.2: Utility agent (after Russell and Norvig, 2009).
An agent has the ability to operate usefully by itself. However, the increasing interconnection and networking of computers make this situation rare. Most problems require the agent to interact with other agents (Huhns & Stephens, 1999). Hence the concept of the multi-agent system is introduced and associated with distributed artificial intelligence. Ferber (1999) defines a multi-agent system to include the following elements:
Maher and Gero (2002; 2003) develop a common agent model for 3D virtual worlds for increasing the level of interactivity of virtual worlds. The agent model is applied so that virtual world objects can respond more generally to their uses. Such responses can result in a dynamic world that configures and reconfigures itself as needed.
As shown in Figure 4.3, using this model each virtual world component can be represented as an agent element, and a virtual world can be represented by a society of agents; for example, wall agents, door agents, room agents or building agents. Each agent is able to sense and respond to its use in the virtual world by reasoning about the current state of the virtual world. The agent model provides a common vocabulary for describing, representing, and implementing agent knowledge and communication. In this common agent model, key agent components and computational processes are outlined for supporting interactions between the agents and the virtual world, and interactions among different agents in the virtual world. An agent developed using this common model interacts with the virtual world via sensors and effectors, and has five kinds of reasoning: sensation, perception, conception, hypothesizer and action.
Figure 4.3: A virtual world as a society of agents (after Maher and Gero, 2002; 2003).
This agent approach to virtual worlds provides new kinds of interactions not only among the virtual world elements, but between these elements and the virtual world users. Using such a reasoning mechanism, agents can function in three different modes: reflexive, reactive, and reflective (Figure 4.4). Each successive mode requires a more sophisticated reasoning mechanism.
Figure 4.4: A common agent model for 3D virtual worlds (after Maher and Gero, 2002; 2003).
Taking together the advantages of agents being capable of operating independently and rationally, and who seek to achieve goals by interacting with their environment, we propose that agents serve as design assistants for virtual world users in order to automatically and dynamically design, implement and manipulate virtual worlds as needed through real-time interactions.
We consider some of the existing agent models as the basis for developing the Generative Design Agent (GDA) model. Russell and Norvig’s reflex agent diagram (2009) illustrates the basic concepts of an agent (Figure 4.1). The agent reasons about the condition of its environment and acts based on condition-action rules. Russell and Norvig’s utility agent diagram (2009) illustrates an agent with additional beliefs and more complex reasoning processes (Figure 4.2). For the development of the GDA model, we draw attention to the way Russell and Norvig’s models define basic relations between an agent and its environment and provide mechanisms for establishing such relations.
With the common agent model for 3D virtual worlds (Figure 4.4) by Maher and Gero (2002; 2003), each virtual world component can be represented as an agent element, and a virtual world can be represented by a society of agents; for example, wall agents, door agents, room agents or building agents. Each agent is able to sense and respond to its use in the virtual world by reasoning about the current state of the virtual world.
In this common agent model, key agent components and computational processes are outlined, for supporting interactions between the agents and the virtual world, and interactions among different agents in the virtual world. As shown in Figure 4.4, an agent developed using this common model has five kinds of reasoning: sensation, perception, conception, hypothesizer and action. Using such a reasoning mechanism, agents are able to behave in three different modes: reflexive, reactive and reflective, with each mode requiring more complex reasoning.
In contrast to this common agent model for 3D virtual worlds, the GDA model takes a different approach by giving the agency to virtual world users, rather than to the virtual world components that make up the environments. Using the GDA model, a virtual world can also be represented by a society of GDAs. Each GDA can be associated with a user’s avatar in the virtual world and serves as the user’s personal design agent in the virtual world. Because the agencies are given to the users, rather than to existing virtual world components, the virtual world therefore does not need to be pre-defined. GDAs reason, design and act on behalf of the virtual world users, and automatically and dynamically design places in the virtual worlds, satisfying the people’s changing needs and capturing their own design styles and preferences.
The reasoning mechanism of the GDA model is developed based on the framework shown in Figure 4.4, where sensors and effectors act as the interface between a GDA and the virtual world. The five computational processes of the GDA model are sensation, interpretation, hypothesizing, designing and action. They are illustrated in Figure 4.5. Compared to the common agent model for 3D virtual worlds, the differences of the GDA model may be briefly outlined thus:
Figure 4.5: Five computational processes of the GDA model.
A situated view of design (Gero & Kannengiesser, 2004) assumes a non-static environment where the act of designing takes place. Adopting such a view, the process of designing in the GDA model can be modelled as the interactions of three representation layers of the virtual world: the external world, the interpreted world and the expected world. The external world comprises representations outside a GDA. The interpreted world is the internal representation of the external world that exists inside the GDA, in terms of its knowledge and experience. The expected world is a part of the interpreted world in which the results of designing are predicted based on the GDA’s current design goals and its interpretations of the current state of the world. Figure 4.6 illustrates the interactions among these three representation layers.
Figure 4.6: Interactions among the external world, the interpreted world and the expected world (after Gero and Kannengiesser, 2004).
The development of the GDA model adopts the three representation layers for the context of designing virtual worlds in order to capture the characteristics of virtual worlds being adaptive and non-static. For GDAs, a virtual world W can be viewed as the union of the external world Wext, the interpreted world Wint, and the expected world Wexp.
W = Wext U Wint U Wexp | (4.1) |
At any given moment, a virtual world is comprised of various components that construct the environments, the representations of its users (avatars), and events that occurred in the world. These entities exist outside a GDA. Depending on the GDA’s capability and focus, the external world Wext of the GDA can include the whole or parts of these entities. The interpreted world Wint is the GDA’s internal representation of Wext, which reflects on the GDA’s interpretations of Wext. The current design needs in the virtual world and the current state of the virtual world are interpreted in Wint. The expected world Wexp is where the GDA hypothesizes its design goals and generates virtual world designs, or initiates other changes in the virtual world for satisfying the goals. The GDA’s design goals are hypothesized by matching against its interpretations of the current design needs and the current state of the virtual world. A virtual place design is then generated to satisfy the current design goals by applying the GDA’s generative design grammar.
The external world Wext comprises Aext, Eext, wAext and Oext.
Wext = Aext U Eext U wAext U Oext | (4.2) |
where Aext, Eext and Oext are each represented by a set of elements of the same kind, and wAext is represented by an ordered list of properties.
Aext = {avatarext_1, avatarext_2, ..., avatarext_n} Eext = {eventext_1, eventext_2, ..., eventext_n} wAext = (sizeext, capacityext, ownerext, serverext, system_timeext,) Oext = {Oext_1, Oext_2, ..., Oext_n} |
Symbol Aext is the representation of the users’ avatars in the virtual place, that is, GDAs, and other avatars (with no agency in the virtual world).
Symbol Eext represents various events in the virtual world.
Symbol wAext represents the attributes of the virtual world; for example, size, capacity and ownership of the virtual place, server location, system time in the virtual world and so on.
Symbol Oext represents objects in the virtual world. In an object-oriented virtual world, an object may refer to a virtual place; for example, a virtual gallery or a virtual meeting room. An object may also refer to an entity in a virtual place, or it can form a part of the place; for example, a digital picture in a virtual gallery, or a wall of the virtual meeting room.
The interpreted world Wint comprises Aint, Eint, wAint and Oint.
Wint = Aint U Eint U wAint U Oint | (4.3) |
where Aint, Eint, wAint and Oint are the GDA’s internal transformations of Aext, Eext, wAext and Oext:
Aint = τ(Aext)
Eint = τ(Eext)
wAint = τ(wAext)
Oint = τ(Oext)
Symbol Aint, Eint, wAint and Oint represents the GDA’s interpretations of Aext, Eext, wAext and Oext. Further, the GDA interprets the current design needs in the virtual world N and the current state of the virtual world sT:
N = τ(Wint)
sT ∈ Wint
The expected world Wexp comprises Aexp, Eexp and Oexp
Wexp = Aexp U Eexp U Oexp | (4.4) |
where Aexp, Eexp and Oexp are used to represent design goals hypothesized by the GDA that aim at eliminating or reducing the mismatches between N and sT:
Aexp ∈ τA(N, sT)
Eexp ∈ τE(N, sT)
Oexp ∈ τO(N, sT)
Symbol Aexp represents the expected attributes of the GDAs and other avatars; for example, the expected location of a GDA or an avatar.
Symbol Eexp represents the expected events in the virtual world; for example, to send a message to users who connect to the virtual world.
Symbol Oexp represents the expected objects and their attributes in the virtual world.
The GDA’s expected world does not include wAexp, as the attributes of the virtual world are generally not changeable.
We adopt the Function-Behavior-Structure (F-B-S) framework (Gero, 1990) to the context of designing virtual worlds for representing virtual world objects. In general:
Oi = OiF U OiB U OiS | (4.5) |
where Oi represents any virtual world object.
For the GDA model, the representation of a virtual world object in the external world includes structures Oext_iS. Functions Oext_iF and behaviors Oext_iB of the object are assumed nil, and are addressed in the GDA’s interpreted world.
Oext_iS = {structureext_1, structureext_2, ..., structureext_n}
Oext_iB = ø
Oext_iF = ø
Every object in the interpreted world has a counterpart in the external world. The interpreted functions Oint_iF and behaviors Oint_iB are derived from the interpreted structures Oint_iS.
Oint_iS = τ(Oext_iS)
Oint_iB = τ(Oint_iS)
Oint_iF = τ(Oint_iB)
An object in the GDA’s expected world may or may not have a counterpart in the interpreted world, since a place design in the virtual world can either be generated based on existing structures or by new creations. The GDA’s design goals are hypothesized in terms of the expected functions Oexp_iF and the expected behaviors Oexp_iB, both according to the current design needs N and to the current state of the virtual world sT.
Oexp_iF ∈ τ(N, sT)
Oexp_iB = τ(Oexp_iF)
Once a design goal is hypothesized, the GDA applies its generative design grammar to generate structures represented by Oexp_iS, to be realized in the virtual world, in order to satisfy the design goal or parts of the design goal.
Oexp_iS = τ(Oexp_iF, Oexp_iB) | (4.6) |
In summary:
Using the above representations, the five computational processes of a GDA can be defined as below. Figure 4.7 illustrates these processes.
In the process of sensation, a GDA retrieves relevant raw data from the external world to prepare for the processes of interpretation.
In the process of interpretation, the raw sense data are filtered, focused and transformed to construct the GDA’s interpreted world Wint:
Wext → Wint | (4.7) |
Wext = Aext U Eext U wAext U Oext | (4.2) |
Wint = Aint U Eint U wAint U Oint | (4.3) |
More importantly, the GDA further interprets the current design needs in the virtual world N and the current state of the virtual world sT.
N = τ(Wint)
sT ∈ Wint
In hypothesizing, the GDA sets up goals in its expected world Wexp to eliminate or reduce the mismatches between N and sT:
Wint → Wexp | (4.8) |
Wexp = Aexp U Eexp U Oexp | (4.4) |
There can be at least three different types of goals hypothesized by the GDA. The first type of goals are design goals - goals that are related to designing in virtual worlds, which are the focus of this book. These design goals are represented by expected functions OexpF and expected behaviors OexpB:
OexpF = {Oexp_1F, Oexp_2F,… , Oexp_nF} | (4.9) |
OexpB = {Oexp_1B, Oexp_2B,… , Oexp_nB} | (4.10) |
for any expected function Oexp_iF and expected behavior Oexp_iB:
Oexp_iF ∈ τ(N, sT)
Oexp_iB = τ(Oexp_iF)
Sometimes, to eliminate or reduce the mismatches between N and sT requires not only virtual place designs, but also other changes in the virtual world. The second type of goals involve initiating changes of attributes to the GDAs or other avatars in the virtual world: Aexp. The third type of goals involve initiating events that occur in the virtual world: Eexp.
Aexp ∈ τA(N, sT)
Eexp ∈ τE(N, sT)
In designing, the GDA applies its generative design grammar to generate a place design in the virtual world for the moment in order to satisfy the current design goals. The design is represented by expected structures OexpS:
OexpS = {Oexp_1S, Oexp_2S,… , Oexp_nS} | (4.11) |
where any expected structure Oexp_iS = τ(Oexp_iF, Oexp_iB).
The processes of action include action planning and action activation. The GDA first plans actions for implementing the generated virtual place design: OexpS, and for realizing other initiated changes: Aexp and Eexp. Next, these planned actions are activated via the GDA’s effectors in the virtual world:
OexpS → OextS | (4.12) |
Aexp → Aext | (4.13) |
Eexp → Eext | (4.14) |
The process of sensation is straight forward. Interpretation, hypothesizing, designing and action are further elaborated and illustrated below. These five computational processes form a recursive loop. New creations and changes in the virtual world will trigger the GDAs to start a new cycle of reasoning and designing. In this manner, virtual worlds are able to be automatically and dynamically designed, implemented and manipulated as needed, adapting to their uses.
At any given moment, a virtual world comprises various components that construct the environments, the representations of its users, and events occurred in the world. Interpretation has three separated processes. They are marked as 1, 2 and 3 in Figure 4.8. The GDA’s interpreted world Wint is constructed based on the external world Wext:
Wext → Wint | (4.7) |
Wext = Aext U Eext U wAext U Oext | (4.2) |
Wint = Aint U Eint U wAint U Oint | (4.3) |
Figure 4.8: Three processes of interpretation.
In the first process of interpretation, the sense data from the external world Wext are filtered, focused and transformed into information that are relevant and can be understood by the GDA:
Aint = τ(Aext)
Eint = τ(Eext)
wAint = τ(wAext)
Oint_iS = τ(Oext_iS)
In the second process of interpretation, for any virtual world object, the interpreted functions Oint_iF and interpreted behaviors Oint_iB are derived from the interpreted structures Oint_iS.
Oint_iB = τ(Oint_iS)
Oint_iF = τ(Oint_iB)
In the final process of interpretation, the current design needs in the virtual world N, and the current state of the virtual world sT, are interpreted based on the information gained from the first two processes:
N = τ(Wint)
sT ∈ Wint
To support each computational process, a GDA’s reasoning mechanism is developed as a general rule base, where each rule can be expressed using the formula of “IF… THEN…”. In the processes of interpretation, the following formulas are applied to develop rules for interpreting Aint, Eint, wAint, Oint_iS, OintB, OintF, N and sT. Symbol C used in the formulas represents certain general conditions. To demonstrate the uses of these formulas, each formula is presented with an example rule.
In the process of hypothesizing, the GDA establishes design goals in its expected world Wexp in order to eliminate or reduce the mismatches between the current design needs (N) and the current state of the virtual world (sT). The process of hypothesizing is illustrated in Figure 4.9.
Wint → Wexp | (3.8) |
Wexp = Aexp U Eexp U Oexp | (3.4) |
An object in the GDA’s expected world may or may not have a counterpart in the interpreted world, since a virtual place design can be generated based either on existing structures or by new creations. There can be at least three different types of goals hypothesized by the GDA. The first type of goals are design goals for designing virtual worlds. These goals are represented by expected functions OexpF and expected behaviors OexpB:
OexpF = {Oexp_1F, Oexp_2F,… , Oexp_nF} | (4.9) |
OexpB = {Oexp_1B, Oexp_2B,… , Oexp_nB} | (4.10) |
for any expected function Oexp_iF and expected behavior Oexp_iB:
Oexp_iF ∈ τ(N, sT)
Oexp_iB = τ(Oexp_iF)
The second type of goals are used for initiating changes of attributes to the GDAs or other avatars in the virtual world: Aexp; for example, to change the location of a GDA or an avatar through hyperlinks. The third type of goals are used for initiating events in the virtual world: Eexp; for example, to send a message to users who connect to the virtual world.
Aexp ∈ τA(N, sT)
Eexp ∈ τE(N, sT)
In the processes of hypothesizing, the following formulas are applied to develop rules for hypothesizing Oexp_iF, OexpB, Aexp, and Eexp. Symbol C used in the formulas represents certain general conditions. To demonstrate the uses of these formulas, each formula is presented with an example rule.
Formula 9: | Example rule: |
IF N AND sT THEN OexpF |
IF A gallery area is needed for displaying an exhibition. AND The current state of the virtual world is interpreted as having no exhibition place available. THEN The expected function is a gallery area in the virtual world for displaying the exhibition. |
Formula 10: | Example rule: |
IF OexpF AND C (C ∈ Wext) THEN OexpB |
IF The expected function is to provide a gallery area in the virtual world for displaying an exhibition. AND The exhibition contains X number of digital images. THEN The expected behavior of the gallery area (to be generated) is to display X number of digital images. |
Formula 11: | Example rule: |
IF N AND sT THEN Aexp |
IF A visitor is invited to an exhibition. AND The current state of the virtual world is interpreted as: The exhibition is displayed in a gallery area located at (x, y, z). The visitor is outside the visual boundary of the gallery area. THEN The expected location of the visitor is set to (x, y, z). |
Formula 12: | Example rule: |
IF N AND sT THEN Eexp |
IF A gallery area is needed for displaying an exhibition. AND The current state of the virtual world is interpreted as that a gallery area is available at location (x, y, z). THEN Send a message to inform the artist about the gallery area. |
In the process of designing, a GDA generates a virtual place design for the moment to satisfy its current design goals. The virtual world design is represented as OexpS:
OexpS = τ(OexpF, OexpB) | (4.6) |
The process of designing requires the GDA to have generative power for providing virtual place designs as needed. The design component of the GDA is supported by the application of a generative design grammar. Driven by the GDA’s design goals, the GDA applies its generative design grammar to generate a place design in the virtual world, in order to satisfy the relevant design goals or parts of the goals.
The process of designing is followed by the process of action, which includes action planning and action activation. The GDA first plans actions for implementing the generated design, OexpS, and for realizing other initiated changes, Aexp and Eexp. Next, these planned actions are activated via the GDA’s effectors in the virtual world. Figure 4.10 illustrates the process of designing and the process of action.
We have discussed that the basic components of a generative design grammar are design rules. Each design rule can be expressed in the following form:
LHO + sL → RHO
where LHO refers to left-hand-side object, and RHS refers to right-hand-side object. The term “object” used here can mean a virtual world object, a set of virtual world objects or virtual world object properties. Each design rule is associated with certain state labels sL, which represent specific design contexts that are related to the GDA’s design goals. In order for a design rule to be applied the following conditions need to be met:
To demonstrate how a generative design grammar is applied by the GDA, we use a similar rule example shown in Section 3.4.1. A design rule for generating layouts of a virtual gallery can be illustrated as shown in Figure 4.11.
In Figure 4.11, the LHO of the design rule is a reception area, and in the RHO, a virtual gallery area is added and placed spatially adjacent to the reception area.
Symbol represents a gallery area in the virtual gallery for displaying exhibitions.
Symbol represents the reception area of the virtual gallery.
Figure 4.11: An example design rule for generating layouts of a virtual gallery.
The meaning of state label sL=g1 is to generate a certain gallery area in the virtual world. In order for this design rule to be applied, the following two conditions need to be met:
The application of each design rule replaces the LHO with the RHO, which forms the OexpS or parts of the OexpS. An example grammar for dynamic design of a virtual gallery is presented in Chapter 5, with its application by a GDA demonstrated in Chapter 6 using a design scenario.
A GDA is a computational agent, which has five computational processes defined specifically for reasoning and designing in 3D virtual worlds. The design component of a GDA is supported by the application of a generative design grammar. Applying the GDA model, rule-based place design in 3D virtual worlds can be automated for the current needs. Virtual worlds can be distinguished from the physical world and other static virtual worlds that are pre-defined prior to their uses, and become dynamic as the GDA model enables virtual places to be designed, implemented and manipulated as needed, adapting to their uses.
The GDA model is a design agent model. Each GDA is capable of reasoning, designing and manipulating the virtual world as needed. The Function-Behavior-Structure (F-B-S) framework (Gero, 1990) uses F, B and S as variables to describe designing in general. Eight processes are depicted from the framework. They are marked as 1 to 8 in Figure 4.12 and named formulation (1), synthesis (2), analysis (3), evaluation (4), documentation (5) and three different kinds of reformulation (6, 7 and 8) accordingly.
Figure 4.12: The F-B-S framework for describing designing (after Gero, 1990).
In Figure 4.12, symbol F represents functions, Be represents expected behaviors, S represents structures, Bs represents actual behaviors that derive from the structures, and D represents design descriptions. The eight processes proceed in the following order:
The GDA model as a design model is developed based on the above understandings, but with adaptation for designing in 3D virtual worlds. As discussed earlier, at any moment a GDA views a virtual world W as the union of the external world Wext, the interpreted world Wint, and the expected world Wexp:
W = Wext U Wint U Wexp | (4.1) |
Place design in virtual worlds can be represented as interactions among Wext, Wint and Wexp. There are four processes depicted from the framework of designing virtual worlds. They are marked as 1 to 4 in Figure 4.13: hypothesizing (1), designing (2), action (3), and (re)interpretation (4).
Firstly, in hypothesizing, the GDA sets up design goals in terms of the expected functions OexpF and the expected behaviors OexpB, in order to eliminate or reduce the mismatches between the current design needs in the virtual world N, and the current state of the virtual world sT, interpreted by the GDA.
OexpF = {Oexp_1F, Oexp_2F,… , Oexp_nF} | (4.9) |
OexpB = {Oexp_1B, Oexp_2B,… , Oexp_nB} | (4.10) |
for any expected function Oexp_iF and expected behavior Oexp_iB:
Oexp_iF ∈ τ(N, sT)
Oexp_iB = τ(Oexp_iF)
Secondly, in designing, the GDA applies its generative design grammar to provide a virtual place design for the moment to satisfy its current design goals or parts of the goals.
OexpS = τ(OexpF, OexpB)
Thirdly, in action, the actions for implementing the generated virtual world design are planned, and the planned actions are activated in the virtual world via the GDA’s effectors.
OexpS → OextS | (4.12) |
The implementation of the generated place design in the virtual worlds causes further changes to the virtual world, which triggers (re-)interpretation.
Oint = τ(Oext)
For any interpreted virtual world object Oint_i:
Oint_iS = τ(Oext_iS)
Oint_iB = τ(Oint_iS)
Oint_iF = τ(Oint_iB)
The GDA interprets the new sense data from the virtual world. If the newly interpreted N and sT has no mismatch, designing in the virtual world will terminate for the moment. Otherwise, a new cycle of hypothesizing, designing and action will start.
Comparing Figure 4.12 with Figure 4.13, in place design for virtual worlds, by applying the GDA model, the design life-cycle is shortened. This highlights the characteristics of such a kind of virtual world as a different kind of architecture that exists for the moment. They are responsive and proactive to changes in the environments.
The characteristics that make the GDA approach to designing in virtual worlds distinctive are summarized below.
In terms of representation:
In terms of designing:
In terms of the roles of human designers:
The GDA model presented in this book focuses on its support for rule-based place design in virtual worlds. This book hence focuses on detailing the five computational processes of the model, which are specifically developed for a GDA to reason, design and act in the virtual worlds. Designing in virtual worlds has so far been explored in terms of individual processes by each GDA; for example, when a design problem arises in a multi-GDA virtual world it is assumed that a dominant GDA will reason, design and act on behalf of all users in that virtual place.
However, the reasoning mechanism of the GDA model enables each GDA to reason about the virtual world as well as other GDAs in the world. The GDA model is applicable to collaborative design or collective design (Maher et al, 2010) scenarios in virtual worlds if agent communication is established. Although agent communication is beyond the scope of this book, it is one of the major future development areas for designing in virtual worlds. These will be discussed further in the end of the book.
Ferber, J. (1999), Multi-agent Systems: An Introduction to Distributed Artificial Intelligence, Addison-Wesley, England.
Gero J.S. (1990), Design Prototypes: a Knowledge Representation Schema for Design, AI Magazine, (11)4, pp. 26-36.
Gero J.S. and Kannengiesser U. (2004), The Situated Function-Behaviour-Structure Framework, Design Studies, 25, pp. 343-351.
Huhns, M.N. and Stephen, L. (1999), Multiagent Systems and Society of Agents, in G. Weiss (ed), Multiagent Systems, a Modern Approach to Distributed Artificial Intelligence, MIT Press, Cambridge MA, pp.79-120.
Maher, M.L. and Gero J.S. (2002), Agent Models of Virtual Worlds, Proceedings of ACADIA 2002, California State Polytechnic University, pp. 127-138.
Maher, M.L., Gero, J.S., Smith, G. and Gu, N. (2003), Cognitive Agents in 3D Virtual Worlds, International Journal of Design Computing, 6 (online).
Maher, M.L., Paulini, M. and Murty, P. (2010), Scaling Up: From Individual Design to Collaborative Design to Collective Design, Proceedings of DCC 10, Stuttgart, Germany, pp. 581-600.
Russell, S. and Norvig, P. (2009), Artificial Intelligence: A Modern Approach (Third Edition), Prentice Hall, Englewood Cliffs, NJ.
Wooldridge, M. (2000), Reasoning About Rational Agents, MIT Press, Cambridge, MA.
Wooldridge, M. and Jennings, N.R. (1995), Intelligent Agents: Theory and Practice, Knowledge Engineering Review, 10(2), pp. 115-152.