Personal assistant agents for collaborative design environments

Personal assistant agents for collaborative design environments

Computers in Industry 57 (2006) 732–739 www.elsevier.com/locate/compind Personal assistant agents for collaborative design environments Shumin Wu a,1...

548KB Sizes 0 Downloads 40 Views

Computers in Industry 57 (2006) 732–739 www.elsevier.com/locate/compind

Personal assistant agents for collaborative design environments Shumin Wu a,1, Hamada Ghenniwa a,*, Yue Zhang a, Weiming Shen a,b a

Department of Electrical and Computer Engineering, University of Western Ontario, London, Ontario, Canada N6A 5B8 b Integrated Manufacturing Technologies Institute, National Research Council Canada, London, Ontario, Canada Accepted 27 April 2006 Available online 28 August 2006

Abstract Intelligent software agents have been recognized as a promising approach for the development of collaborative engineering environments. This paper presents our recent work on developing personal assistant agents to support users working within collaborative design environments (CDE). It describes a cognitive user model as a composition of the user’s interest and behavior models. An intelligent assistance architecture is proposed to integrate these models with other environment models as well as inference, knowledge update and collaboration components. All these models and components collectively enable personal assistant agents to effectively work with the corresponding users to achieve their goals in a collaborative environment. The proposed user model is implemented in a coordinated, intelligent, rational agent (CIR-Agent) model on a FIPA (Foundation for Intelligent Physical Agents)-compliant platform. Two case studies have been carried out to demonstrate the proposed agent-based intelligent assistance approach. # 2006 Published by Elsevier B.V. Keywords: Personal assistant agents; Collaborative design environments; User modeling; Intelligent user assistance

1. Introduction A collaborative design environment (CDE) is an automated environment that enables people (including designers, engineers, managers and customers) to collaborate and interact on the development of a new project regardless of their geographic locations and interaction means [18]. Generally, a CDE is constituted of workplaces that incorporate people, information and design tools amenable to goal-directed tasks. Complex collaborative engineering design projects involve multidisciplinary design teams and various engineering software tools. Three major problems thus arise. Firstly, while standards were in the works, usually tools were not interoperable with one another. Secondly, various collaboration modes and user interfaces within each workplace increase the difficulty to establish and develop collaborative design sessions. Thirdly, collaboration is a unique human activity, and therefore preserving the human element such as group awareness is

* Corresponding author. Tel.: +1 519 661 2111x88262; fax: +1 519 850 2436. E-mail addresses: [email protected] (S. Wu), [email protected] (H. Ghenniwa), [email protected] (W. Shen). 1 Present address: University of Southern California, CA, United States. 0166-3615/$ – see front matter # 2006 Published by Elsevier B.V. doi:10.1016/j.compind.2006.04.010

critical to a successful design of any computer-based system, including the design of a CDE. Intelligent software agents have been recognized as a promising approach to implement collaborative engineering design systems and to handle the aforementioned challenges and limitations [17]. This paper proposes an approach to develop agent-based intelligent user assistance in CDE. In this context, we employ a personal assistant agent for each user in the collaborative environment. The personal assistant helps the user participate in goal-directed collaborative tasks by advising the user, when needed, to take the appropriate actions, monitoring the routine task procedures and creating a user-adaptive environment. The objective is to provide the user with the ‘‘right’’ service at the ‘‘right’’ time in the ‘‘right’’ way [11]. We are working towards effective and appropriate user model representations, inference approaches and collaboration mechanisms to assist the users with their collaborative tasks. The rest of the paper is organized as follows: Section 2 provides a brief literature review; Section 3 presents the proposed approach on agent-based intelligent user assistance; Section 4 presents the prototype implementation including two case studies; and Section 5 concludes the paper and discusses the future work.

S. Wu et al. / Computers in Industry 57 (2006) 732–739

2. Literature review Early work on agent-based intelligent assistance mainly focused on tutoring/learning environments and information retrieval systems [19]. In these attempts, user modeling was employed to create intelligent adaptive user interfaces to assist users in acquiring required information using classical keyword based approaches. The concern was on the users’ interest and preferences as related to a specific application domain. The Lumie`re project [11] attached great importance to user behavior, exploring the Bayesian approach in handling the uncertainty about the user’s goals and needs. It involved building and assessing Bayesian models and obtaining a stream of events based on the user’s behavior. The user’s behavior affects the user’s expertise captured in the persistent profile. Therefore, based on the user’s profile and recent activities the Bayesian user model infers the likelihood of whether a user needs assistance. The user’s tasks and needs are also modeled in the user model. Utility theory has played an important role in user modeling. Brown et al. [3,4] designed a utility theory-based user model for an active user interface to cope with the dynamism in the user’s interests and preferences in information retrieval and knowledge discovery tasks. The objective was to capture the user’s shortterm and long-term interests, and combine the two in an ‘‘intuitive’’ manner [3]. This user model includes a user profile that stores the static knowledge about the user, a Bayesian network model that captures the uncertainty of the user’s actions and goals, and a utility model that computes utilities of achieving goals. The Bayesian network also stores the motivations (preconditions) of the user to pursue a goal, which is associated with utility functions. The results of the utility functions determine when the agent should offer assistance to achieve the parent goal and what action might be taken. Recently, some interesting work has been reported on the user profiling/modeling for Web-based applications. The user profiles/models allow the system to provide services fitting the individual users’ background knowledge and current needs, and thus to diminish the information-transferring load. One example is a hybrid user model for news story classification systems [2] that consists of a short-term and a long-term user model. The objective was to use a multi-strategy machine learning approach to update the user model. In these systems, the short-term model was used to store the recent news events and classify the event according to the user’s familiarity with it, while the long-term model was to induce the user’s general preferences and the predication of the new stories that cannot be classified by the short-term model. Another advantage of this approach is the freedom to choose algorithms suitable for problems with special issues. For example, the short-term model employs the nearest neighbor algorithm to track the user’s multiple and novel interests, while the long-term model uses a Naı¨ve Bayesian Classifier to learn the probabilities and to classify the news stories labeled with their probabilities of belonging to interesting classes. The research work presented in Refs. [6,7] describes a user modeling approach for interactive interface agents and mixedinitiative AI systems. The authors pointed out that due to the

733

ambiguity from inferring from the user model and the incoming information of system events, agents developed based on past user models were not effective enough to enable mutual understanding and trust between the user and agent. A refined model was proposed to address this problem by adding three new features: consulting rules defined by the user first, using Clarification Factor to determine whether to interrupt the user to make decisions and allowing the user to view and update the user models. However, limitations on user modeling still hamper the success of designing a collaborative environment. Firstly, modern intelligent systems involve heavy human–human and human–computer interactions. To capture the user’s behaviors, it is critical to gain access to the user’s actions. Secondly, since the user exhibits complex behaviors in a high-level collaboration, it becomes difficult to judge a user’s goal. Current research expands the application of intelligent agents into collaborative design environments [16,17] and user collaboration [5,10]. Intelligent software agents enable multimodal interactions between multifarious design tools, providing a solution to the ‘‘organizational boundary’’ problem [14]. This technology also contributes to the growth of the traditional electronic learning systems [13]. The advanced user model design for intelligent agents, as an explicit representation of the characteristics of an individual user, allows the software agents to offer appropriate assistance to users at the right time and in the right way, satisfying their needs. NASA has developed a collaborative engineering environment [15] to facilitate better aerospace systems life cycle design and analysis. The expensive and complex missions in NASA require the use of collaborative engineering environment capabilities to the greatest extent possible. There are three kinds of elements in this collaborative environment: data, team members and analysis hardware and software. The application of the collaboration concept got immediate payoff and benefit in NASA. It enables the implementation of a vision for geographically distributed team members and integrated system design capabilities. A collaborative framework of interface agents proposed in Ref. [12] overcomes the problem that the learning procedure takes a long time to cover most of the example space to work effectively. The basic idea behind the collaborative solution is simple: while a particular agent may not have any prior knowledge, there may exist a number of agents belonging to other users who do. Instead of each agent re-learning what other agents have already learned through experience, agents can simply ask for helps in such cases. The collaboration between these agents is in the form of request and reply messages. Through the proposed collaboration framework, the experienced agents help the new agents come up quickly in unfamiliar situations. Agent researchers have concentrated on negotiation and cooperation strategies that are used by autonomous agents who must compete for scarce resources. Collaborative interface agents are implemented not only to come up to speed much faster, but also to discover a large set of heterogeneous peers that are useful consultants to know in particular domains to

734

S. Wu et al. / Computers in Industry 57 (2006) 732–739

serve their users more effectively. The AACC project [5] addresses how a personal assistant can improve the collaborative work of a group of people and how a personal assistant can be implemented to support collaboration. In this project, the personal assistant keeps an internal representation for each user and saves it in a generic structure. The personal assistant tries to provide group awareness to the current user and the user is encouraged to communicate or reuse knowledge about tasks to save efforts. 3. Agent-based intelligent user assistance Our approach to intelligent user assistance in collaborative design environments is to adopt personal assistant agents. Although application assistance is important, our focus is on providing collaboration assistance to users working in distributed collaborative environments. This section particularly addresses the user modeling aspect of personal assistant agents. Knowledge about the environment and the user’s context is a necessity for intelligent user assistance in collaborative design environments. Context-aware enriched applications can automatically perform instant reactions to users. The context here refers to constitution of semantically enriched knowledge about the elements of the environment, especially the users. In this work, the knowledge about users is captured into a user model (denoted as UM), which constitutes of two sub-models: a user interest model (denoted as UMI) and a user behavior model (denoted as UMB). The objective of the design is to capture both the user’s interest within the context of the application domain as well as the user’s desired actions as related to the task (or goal) on hand. Information about the user’s interest and behavior enables the provision of proactive assistances. The context of a user is captured in terms of his/her goal, interest and behavior. The user’s goal is the desired end state within a domain. The user’s interest is the portion of the domain context that is related to the user’s goal. The user’s behavior is the user’s actions in achieving the goal. Formally, a user model UM is a triple (G, UMI, UMB), where G is a finite set of the user’s goals, UMI is a user interest model and UMB is a user behavior model. 3.1. The intelligent assistance architecture The proposed user model for personal assistant agents in CDE consists of the user interest and behavior models, to capture the user’s interest and behavior (Fig. 1). The inference, knowledge update, and collaboration components perform learning and inference on the user models. The proposed agent architecture integrates these models and components, which enable the intelligent assistant agent to effectively achieve the user’s goals in CDE. There are two types of assistances offered by the agents based on the user models. Firstly, the application assistance provides suggestions during the user’s interaction with a specific application. Secondly, the collaboration assistance supports user collaboration in a workplace. In addition, the application assistance exploits the application

Fig. 1. Intelligent assistance architecture.

model which maintains knowledge about the user’s current working applications. The collaboration assistance utilizes the other user’s models, which reflects the agent’s belief about other users (collaborators). 3.2. The representation of the intelligent assistance architecture The user interest model represents the portion of the domain context that is related to the set of the user’s possible goals. A domain context can be viewed as a structure S on the domain’s elements denoted by S = hD, RjWi, where D is a set of elements in the domain denoted as D = {C1, C2, . . ., Cn}, and R implies the relationships between them for any possible given world W. To capture the context explicitly we employ a language denoted as L with a vocabulary V that is used to represent S. An interpretation I maps V into the elements of S, such that I:V ! D [ R. Applying the aforementioned representation to modeling the user’s interest, we extend the structure representation as UMI = h(D  uD), (R  uR)i, where UMI is the user’s interest model, uD, uR 2 implies the utilities associated with the user’s interests and the relationship between these interests. For each goal G 2 } (} is the finite set of goals) and each concept C 2 D, let the domain utility uD(G, C, D) be defined as a positive realvalued function, where D denotes the set of discriminators such as the user’s expertise and environment context that might affect the utility over the node. Let the relation utility function be ug(G, r, D), and therefore the collective utility function along an expanding path from node containing concept Ci to node containing concept Cj can be denoted as: f U ðC i ; C j Þ ¼

t¼i X

uD ðG; Ct ; DÞuR ðG; r t ; DÞ

j

Therefore, different users might exhibit different user models within the same context (world). The user interest model can be further decomposed based on the user’s goals into

S. Wu et al. / Computers in Industry 57 (2006) 732–739

short-term and the long-term interest models. The short-term interest model represents the portion of the user’s interests that is related to the current goals. This approach provides a flexible way to handle the dynamism of the user’s short-term interests and the relative stability of the user’s long-term interests. In a short period, the topics chosen by the user may vary intensively in relation to different goals. This representation is further modified to incorporate the short-term and long-term interest models as follows. Let the user model denote as: UMI ¼ hUMShort-term ; UMLong-term i; where the user short-term interest model is denoted as: UMShort-term ¼ hðD  uD Þ; ðR  uR Þ; Gi; and the user long-term interest model is denoted as: UMLong-term ¼ hðD  uD Þ; ðR  uR Þi: The user long-term interest model captures the user’s interests over time which reflects the user’s persistence over a set of topics or concepts. The concepts in UMShort-term are a subset of the concepts in UMLong-term, which are essentially a subset of the domain knowledge D. Thus, we can map the UMLong-term to UMShort-term by: f mapping : UMlong-term  G ! UMshort-term : 3.3. Capturing the user’s behavior The user behavior model within the context of goal-directed tasks is designed to support the agent’s reasoning process. The appropriate modeling of the user’s recent activity and the user’s goal are keys to guarantee the success of agent planning and intelligent user assistance. The behavior model aims at modeling a sequence of actions with partial order and operational utility. The probability between two actions is also considered so that the prediction of the user’s next step may be made, and proactive assistance may be offered. As mentioned above, the user’s behavior represents a set of actions a user performs to achieve a goal within the context of his/her interests. Generally, the user’s actions are not always rational and performed towards the goal in an intuitive manner. In some cases, users deviate from the path to fulfill the task, e.g., users can be distracted by a prompting dialog. Although different action paths may exist to accomplish the user’s goal, actions may sequentially depend on each other in a plan in order to achieve the goal. Formally, a user behavior model can be defined as: UMB = h(a  u, a0  u0 , p(a/a0 ja,a0 2 A))  upjDi, where A is a set of the user’s actions in achieving some goal within the context of his/her interests, a 2 A one user’s action, u 2 the utility of taking one action or path, p 2 [0,1] the likelihood between two consecutive actions and D is the domain knowledge. Let a structure S describe the user’s behavior: S = hA, PjIntri, where Intr is a set of the user’s interests, A the set of actions and P is the probability between two consecutive actions. From the

735

structure, we can see that the user behavior model is constrained by the user’s interests as part of the entire domain. The relationship between the user short-term model and the user behavior model can be described using a function F as: F : fCjC 2 UMshort-term g  G ! UMB : Some of actions have multiple preceding actions and/or successive actions. The likelihood of two adjacent actions combined with the utilities of taking the actions/paths determine which path to choose. The function to calculate the overall utility of a path is denoted as: X X f U ðai ; a j Þ ¼ Pða j jai ÞuP ðG; r t ; DÞua ðG; a; DÞ ai ! a j

There are two approaches to obtain the user’s actions from the user interfaces. In most commercial applications, only simulation of the framework can allow the agent to access the stream of the user’s actions. While in experimental environments, observations and messages of events are available through the applications’ interfaces. In this case, the agent can either sit between the user and the application, or incorporate and transparentize the old user interfaces (refer to the case study in Section 4.3). 3.4. Inference on the user’s behavior The inference component of the agent is designed to obtain appropriate solutions related to the user’s goal and comprises of a variety of flexible inference strategies corresponding to the representation of the user model. As to user interest inference, once a new observation of the user’s interest concept comes in, the agent is capable to infer the related concepts in the interest model, denoted as: Set (C) = {Cjf u > Ustd}, Ustd 2 , where ustd is a constant that sets up the standard for a selection of concepts. Basic search algorithms such as depth-first, width-first, and unified utility search can be employed. The collective utility of the concept along the path to the given concept determines if this concept is possibly within the user’s focus. The user’s behavior model can be represented as a Bayesian network, with the utility associated with the user’s actions and the assistance the system can offer. To infer the agent’s belief about the user’s actions for a new given observation, we view each arc between two nodes in the behavior model as being associated with one probability represented as Pr(u/A, K), where u is the random variable that denotes a new observation of the user’s action, A denotes a set of other observed random variables, i.e., the original nodes of the arcs that come to u, and K is the domain knowledge. In order to find the branch with the maximum utility in the Bayesian network that represents the agent’s belief of the user’s behavioral preference, we compute the probability for each action. Initially, we give the value assignment for each node and then revise it as more information (or observation) is gathered and stored in a conditional probability table (CPT). As Bayesian inference is based on posterior probability, we can assign the initial value of the priori probability based on our

736

S. Wu et al. / Computers in Industry 57 (2006) 732–739

belief, then use Bayes theorem to calculate the posterior probability as follows: Pr ðu=A; KÞ ¼ Pr ðA=u; KÞPr ðu=KÞ=Pr ðA; KÞ; P where Pr(A, K) = Pr(A/u, K) Pr(u/K), and the Pr(A/u, K) is the prior probability and Pr(u/K) is the likelihood of u using the values in the CPT of each node. 3.5. Intelligent user assistance The utility-based approach allows the agent to select the optimized set of interests and to advise the user proactively (providing application assistance), e.g., pre-load a file from the server (see Section 4.3). The knowledge update component updates the user interest and behavior models based on new observations. The inference component mainly provides four types of assistances: (1) to find the user’s interested topics related to the user’s current goal; (2) to find the concepts that the user might be interested in; (3) to predict the user’s next step; (4) to extrapolate whether the user is on the right track based on the agent’s observations of the user’s behavior. Additionally, the execution of collaboration requires coordination and interaction devices [8,9] between the agents. The collaboration component provides intelligent assistances to users with their collaborative tasks. Currently, we are investigating how to identify users that share the common interests. Utilizing the user interest model, this type of collaborative tasks can be carried out through collaborative reasoning about collaborative users’ interest models. For D2 example, with two user interest models being UMD1 I1 and UMI2 0 0 represented as D1 = {C1, C2, . . ., Cn} and D = {C1 , C2 , . . ., Cn0 }, a potential collaboration between the two users (User 1 and User 2) may exist if D1 \ D2 6¼ f. In this case, the personal assistant agent of User 1 can ask the personal assistant agent of User 2 to share information of interest on behalf of User 1. The collaboration assistance will be explored in details through the first case study in Section 4.2.

modification) to the user. In that case, both the human agents and personal assistant agents can contribute their best to the system. To let the user share control over the user model sacrifices the automation of the construction process, but improves the accuracy of the user model and shorten the long learning curve that the fully automated methods take. Furthermore, the user will feel more comfortable to let the agent delegate his/her tasks and thus build trust between the user and the software personal assistant, which is a very important issue in agent design [14]. 4. Prototype implementation and case studies Our personal assistant agent is built as an interface agent, particularly based on the coordinated, intelligent, rational agent (CIR-Agent) model [9]. The CIR-Agent is being implemented in a way that conforms to the FIPA (Foundation for Intelligent Physical Agents) standards [21]. FIPA allows for interoperability among agents and interaction with other heterogeneous agent systems. FIPA standardized three types of interfaces: user–agent interface, agent–agent interface and agent–other software interface, and the protocols of interaction. A FIPAcompatible Java agent development open source framework called JADE [22] has been chosen for the implementation of prototype systems. 4.1. The CIR-Agent model for a personal assistant agent

3.6. User’s control over the user model

The CIR-Agent model is a generic agent model for cooperative distributed systems that can be applied in designing interface agents in collaborative design environments. The CIR-Agent model includes: problem-solving, interaction and communication components. A specified arrangement is used to reflect the agent’s mental state while reasoning to achieve a goal. Benefiting from this architecture, no specific assumptions are needed to design agent instances based on CIR-Agent model. The instantiated CIR-Agent model for the proposed personal assistant agent consists of the following elements:

In a collaborative design environment, the user should have the right to view and modify his/her model rather than being imposed to accept the user model. The user’s arbitrary actions at the beginning will affect the appropriateness of inference. Since the user always knows his/her own interest better (than the computer does), and makes the proper decision about whether an action is effective, the user model can be more accurate with the aid of the user. Two approaches can be adopted to let the user have some control over the modification of the user model. One approach is to allow the user to interact with the user model through periodically promoted dialogs. This time-oriented method avoids bothering the user when he/she is concentrating on what he/she is working on. The other approach is to implement the personal assistant as a ‘‘mixed-initiative’’ user interface [1]. Once the agent reaches a decision point to modify the user model, it will leave the decision (about whether to make the

 Knowledge—contains information about the user, domain knowledge and the agent environment (about other agents). In a personal assistant agent, the user model contains the aforementioned sub-models.  Problem solver—extrapolates and reasons from its knowledge in order to derive an optimized action plan for the user as related to application domain and the collaboration context.  Communication—allows the communication between personal assistant agents and the outside world. This acts as a fac¸ade interface between the agent–user, agent–agent and agent–other software.  Knowledge update component—updates the user and the environment models according to system or the user’s requirements.  Inference component—infers from the user model to predict the user’s next step so that the agent may offer assistance proactively.

S. Wu et al. / Computers in Industry 57 (2006) 732–739

737

 Collaboration component—encapsulates diverse collaboration strategies that can be applied to the user’s interest and behavior models to assist collaborative users with their collaborative tasks. 4.2. Case study 1—collaboration assistance in a collaborative design environment In this case study, a personal assistant agent is designed and developed for designers working in a collaborative gear box design project. Each project member has his/her own personal assistant agent. The project team is divided into three design groups: gear, case and shaft, which are related to the users’ long-term interests. Each part (gear, case or shaft) has several types, which are related to the users’ short-term interests. When users login the gear box design environment, they should select only one design group and one interested part type. The main agent container is initialized on one PC, and we use this PC as the server. The Directory Facilitator (DF) agent which maintains user profiles is deployed on the server. To simulate a distributed environment, we assume several users located in different geographic locations. Each user has his/her own personal assistant agent running on a container attached to the main container on the server. The personal assistant agent sends a message to the DF agent to register its user’s name, current goal and interest. When the personal assistant agent captures the change of user’s goal and interest, it will send a message to the DF agent to update the user’s profile. The collaboration can happen in various ways in such a collaborative design environment. The basic one is information sharing. This kind of collaboration can happen to users with the same goal. Usually a user has no complete knowledge of the application domain, and he/she needs information or helps from peers. When a user needs helps, his/her personal assistant agent first queries the DF agent about the qualified designers (or called collaborators). The DF agent searches its database, and finds a list of qualified designers, and sends the list to the requesting personal assistant agent (Fig. 2 shows the qualified collaborators found by Lisa’s personal assistant agent). In this design, each user’s personal assistant agent will keep a file of collaboration history. When it receives the potential collaborator list from the DF agent, the personal assistant agent selects one with the best record according to the collaboration history, and sends a message to that designer’s personal assistant agent requesting to open the message board. In current implementation, it opens the user’s message board automatically. In this way the two personal assistant agents work together to have the two designers work collaboratively. After the collaboration is finished, the personal assistant agent will ask the user if he is satisfied with this collaboration, and update the collaboration history according to the user’s feedback. This kind of collaboration helps form a collaborative environment in which users help each other to finish tasks efficiently in a way to reduce the repetitive work. Fig. 3 shows the interface of the sniffer agent, which captures the communications between the related agents. Another kind of collaboration can happen between users that have the same goal but different short-term interests. Users’

Fig. 2. Collaboration assistance window.

interests may be different even if they have the same goal. For example, in a multidisciplinary design environment, all engineers in a project team have the same goal. However, mechanical engineers are interested in the mechanical system design issues, and electrical engineers are interested in the electrical issues. The domain concepts in their interest models are different. When a user has no knowledge of a task, he/she may delegate it to others. His/her personal assistant agent will broadcast the request to all users’ personal assistant agents in the collaborative design environment. We may view the content of the request as a goal which is a final state composed of a subset of the domain concepts and their relationships. The personal assistant agents receiving the request may choose to respond or ignore the request according to the users’ situations. If a personal assistant agent chooses to respond, it should be able to reason on the user interest model and behavior model to calculate the performance utility according to the following reasoning steps:  First, the personal assistant agent checks if the domain concepts in the request message match with the domain concepts in its user interest model. If not, that means the user is not interested in that task and cannot provide help, thus the

Fig. 3. Sniffer agent interface.

738

S. Wu et al. / Computers in Industry 57 (2006) 732–739

personal assistant agent ignores the request message. If yes, that means the user has the capability to help, and reasoning goes to the next step.  Secondly, the personal assistant agent checks the behavior model utilizing the interested domain concepts. As mentioned in the previous section, the behavior model is constrained by the interest model, so the personal assistant agent can find the portion of the behavior model corresponding to the related domain concepts.  Thirdly, the personal assistant agent calculates the total utility associated with each action in that portion of the behavior model, and sends the performance utility to the requesting personal assistant agent. The requesting personal assistant agent compares all the responses and selects the one with the highest utility to ask for help. After this collaboration is completed successfully, the helping user’s personal assistant agent will update the user behavior model with increasing the related actions’ utility. This kind of collaboration helps a user finish a complex task though he/she has no complete knowledge. The user selects an expert to help finish part of the task to ensure the best performance of the task. In the current prototype, the task delegation process is implemented using the FIPA-Contract-Net interaction protocol [21]. 4.3. Case study 2—intelligent user assistance in an MDO environment A multidisciplinary design optimization (MDO) software environment [20] has been developed for the design and optimization of blow molded parts such as bottles, containers, toys, etc. The proposed approach includes distributed system integration using intelligent agents and Internet/Web technologies, as well as multiple optimization methods including gradient-based optimization techniques and soft computing techniques. Agents are used to wrap/represent software components as well as interfaces for human designers. Web server agents are implemented to facilitate the integration of various software components from remote locations and separated by firewalls. All these agents form a heterogeneous multi-agent system. In this MDO environment, designers initiate design and optimization projects, monitor design and optimization processes through Web-based graphical user interfaces. Each designer has his/her own interested projects/files and performs routine tasks such as uploading definition files, sending emails and viewing the results of blow modeling processes. A group of designers including a project manager and a number of project members collaborate through the Internet. A user (designer) may play different roles in several different projects. Users can change the parameters in definition files or through dialogs to control the blow molding processes provided that they have the rights and the changes they have made are consistent with other definition files. Personal assistant agents are employed to provide assistances to designers and to facilitate the collaboration among

project members in this software environment. A personal assistant agent guarantees the appropriateness of the user’s modification operations. It also finds the other agents who share the interest as its user. The user short-term interest model records the user’s recent accessed projects/files. At a certain period, the system stores the information with the highest weights in the user long-term interest model. The user’s actions are captured and kept in the user behavior model. The agent makes use of the captured information to assist the user, e.g., preload the definition files so that the user does not have to wait for the uploading of definition files, or set default parameters to be the ones that the user uses most often so that the user does not have to enter the data manually. The intelligent user assistances demonstrated in this case study are mostly application assistances though collaboration assistance is also important in this MDO environment. 5. Conclusions Intelligent assistance to a single user on a centralized application has been a research topic for several decades. However, providing intelligent user assistances in collaborative engineering environments is still a new research area which involves a number of challenging issues including user modeling, reasoning and decision making, collaboration and coordination mechanisms. In this paper, we present our recent work on the development of personal assistant agents to provide intelligent assistances, particularly collaboration assistance to users in collaborative design environments. The core of the proposed approach is a user model composed of a user interest model, a user behavior model, a knowledge update component, an inference component and a collaboration component. The user interest model and the user behavior model are designed to capture the user’s interests and behaviors in complex collaborative design environments. Based on these two models, we use the inference component and the collaboration component to apply various strategies to perform inferences and facilitate collaboration among users. Two case studies have been carried out to demonstrate the proposed agent-based intelligent user assistance approach. The personal assistant agent is implemented on the CIR-Agent model while conforming to the FIPA standards. Our ongoing work focuses on encapsulating the specific collaboration mechanisms into a generic collaboration component and offering more sophisticated assistances in collaborative design environments. Our long-term goal is to develop a general collaborative personal assistant agent framework which can be applied to various collaborative engineering environments. References [1] S.R. Amant, Navigation and planning in a mixed-initiative user interface, in: Proceedings of the 15th National Conference on Artificial Intelligence, AAAI Press, 1997, pp. 64–69. [2] D. Billsus, M.J. Pazzani, A hybrid user model for news story classification, in: Proceedings of the Seventh International Conference User Modeling, 1999.

S. Wu et al. / Computers in Industry 57 (2006) 732–739 [3] S.M. Brown, E. Santos Jr., S.B. Banks, Utility theory-based user models for intelligent interface agents, Lecture Notes in Artificial Intelligence 1418 (1998) 378–392. [4] S.M. Brown, E. Santos Jr., S.B. Banks, M.E. Oxley, Using explicit requirements and metrics for interface agent user model construction, in: Proceedings of the Second International Conference on Autonomous Agents, Minneapolis, MN, (1998), pp. 1–7. [5] F. Enembreck, J.P. Barthes, Personal assistant to improve CSCW, in: Proceedings of CSCWD2002, Rio de Janeiro, Brazil, 2002 , pp. 329– 335. [6] M. Fleming, R. Cohen, User modeling in the design of interactive interface agents, in: Proceedings of the Seventh International Conference on User Modeling, 1999. [7] M. Fleming, R. Cohen, A user modeling approach to determining system initiative in mixed-initiative AI systems, in: Proceedings of the Eighth International Conference on User Modeling, 2001, pp. 54–63. [8] H. Ghenniwa, Coordination in cooperative distributed systems, Ph.D. Thesis, University of Waterloo, 1996. [9] H. Ghenniwa, M. Kamel, Interaction devices for coordinating cooperative distributed systems, Automation and Soft Computing 6 (2) (2000) 173– 184. [10] S. Ho¨ppner, An adaptive user-interface-agent modeling communication availability, in: Proceedings of the Eighth International Conference on User Modeling, 2001, pp. 127–136. [11] E. Horvitz, J. Breese, D. Heckerman, D. Hovel, K. Rommelse, The Lumie`re project: Bayesian user modeling for inferring the goals and needs of software users, in: Proceedings of the 14th Conference on Uncertainty in AI, 1998, pp. 256–265. [12] Y. Lashkari, M. Metral, P. Maes, Collaborative interface agents, in: Proceedings of the 12th National Conference on Artificial Intelligence, vol. 1, AAAI Press, Seattle, WA, 1994. [13] F. Linton, B. Goodman, R. Gaimari, J. Zarrella, H. Ross, Student modeling for an intelligent agent in a collaborative learning environment, in: Proceedings of the Ninth International Conference User Modeling (UM’04), 2004. [14] P. Maes, Agents that reduce work and information overload, Communications of the ACM 37 (7) (1994) 31–40. [15] D.W. Monell, W.M. Piland, Aerospace systems design in NASA’s collaborative engineering environment, in: Proceedings of the 50th International Astronautical Congress, Amsterdam, The Netherlands, 1999. [16] W. Shen, J.P. Barthe`s, An experimental multi-agent environment for engineering design, International Journal of Cooperative Information Systems 5 (2–3) (1996) 131–151. [17] W. Shen, D.H. Norrie, J.P. Barthe`s, Multi-Agent Systems for Concurrent Intelligent Design and Manufacturing, Taylor and Francis, London, UK, 2001. [18] W. Shen, Editorial of the special issue on knowledge sharing in collaborative design environments, Computers in Industry 52 (1) (2003) 1–3. [19] J.W. Sullivan, S.W. Tyler (Eds.), Intelligent User Interfaces, ACM Press Frontier Series, Association for Computing Machinery, New York, NY, USA, 1991. [20] Y. Wang, W. Shen, H. Ghenniwa, WebBlow: a Web/agent-based multidisciplinary design optimization environment, Computers in Industry 52 (1) (2003) 17–28. [21] http://www.fipa.org/. [22] http://jade.tilab.com/.

739

Shumin Wu is a PhD candidate with the Computer Science Department at University of Southern California. She received a bachelor’s degree in computer science and technology at Zhejiang University (China) in 2001, and a master’s degree in electrical and computer engineering at University of Western Ontario (Canada) in 2003. Her research interests include software agents and multi-agent systems, especially in personal assistant agents for computer-assisted cooperative work. She is currently working on developing pedagogical agents for intelligent tutoring systems with the CARTE (Center for Advanced Research in Technology for Education) group at ISI/USC. Hamada Ghenniwa is an associate professor at the Department of Electrical and Computer Engineering, the University of Western Ontario. He received a BSc degree (1984) in computer engineering from AlFateh University, Tripoli Libya; MASc (1991) and PhD (1996) degrees in systems design engineering from the University of Waterloo, Waterloo, Canada. Dr. Ghenniwa is the head of the Cooperative Distributed Systems Engineering Group (CDS-EnG). His research expertise includes theoretical and engineering foundations of computational intelligence with a special focus on agentorientation, coordination and cooperation in distributed ‘‘systems’’ environments; engineering design of agent-oriented, service-oriented and grid computing to improve the ‘‘quality’’ of cooperative distributed systems. Application areas include enterprise integration, electronic business, collaborative manufacturing and complex real-time systems. His research has resulted in over 100 publications in world-class journals and conference proceedings. Yue Zhang received a bachelor degree in computer engineering and mathematics from Tianjin University of Technology (China) in 1995, and a master’s degree in electrical and computer engineering from the University of Western Ontario (Canada) in 2005. Currently she is working in a software company in Toronto, Canada.

Weiming Shen is a senior research scientist at the National Research Council Canada’s Integrated Manufacturing Technologies Institute. He is an adjunct professor in software engineering at the University of Western Ontario. He received his bachelor (1983) and master’s (1986) degrees from Northern Jiaotong University, China, and his PhD degree (1996) from the University of Technology of Compie`gne, France. He has been working on intelligent agents and their applications to engineering design, intelligent manufacturing, and virtual enterprises for about 14 years. He has published one book and about 200 papers in scientific journals and international conferences/workshops and co-edited 10 conference/workshop proceedings in the related areas. He is an associate editor or an editorial board member of six international journals and served as guest editor for eight other international journals.