From Susan Farrell Shared Knowledge in Cooperative Problem-Solving Systems--Integrating Adaptive and Adaptable Components Gerhard Fischer as told by Susan Farrell Cooperative problem-solving systems support human problem-domain communication by making information relevant to the task at hand and tailoring information to a specific user or class of users. The shared knowledge between a user and a system will increase and change over time by 1. making system adaptable (users can modify system) 2. and adaptive--systems act differently depending on the specific task situation or user. 1 Cooperative problem-solving systems support users in a symbiotic relationship to generate products. These systems may interact with their users in several ways: doing deciding advising tutoring critiquing The main emphasis of this team's work has been to augment human designers with domain-oriented design environments containing an embedded critiquing component. Models are very important to this type of system because the problem-solving activity and knowledge is shared by the cooperating agents. Two models are especially important: 1 the models that users have of systems and tasks 2 the models that systems have of users and tasks High-Functionality Systems Cooperative problem-solving systems require high-functionality systems, which create a dilemma: on one hand, the systems urgently need good models, but on the other hand, it is unclear how to design these systems so that models can be built by the users. Models for high-functionality computer systems cannot be based only on experience because there are too many experiences to go through. Learning complex systems is an incremental, fuzzy process requiring an understanding of how users increase their knowledge, and understanding that in a naturalistic context over a long period of time. High-functionality systems confront users with too much information, so the challenge is to make the information presented relevant to the task at hand...the right knowledge at the right moment for the user. Making the information relevant is extremely challenging for system designers. Usage patterns provide important insights into design requirements. This qualitative analysis of users' knowledge about complex systems reveals 2 interesting findings: 1. users believe concepts are present in the system that are not actually there, which means that users' models of the system must be changed to reflect what *is* there; and 2. There are parts of the system of which users are unaware, which creates a need for intelligent support systems that can point out to users existing functionality in the system that may help with their tasks. The Users' Models of a System is a cognitive construct that describes a user's understanding of a particular content domain in the world. These models are based on the user's experience. The System's Models of Users and Tasks, in this research, involves systems' models of users in connection with active help systems and critics. Unlike tutorial systems, which can track a user's expertise over a path of instruction, computer-based critics must work with users having a variety of background experiences. So to operate effectively, critics should have a model of the task space in which the users operate. If the system has an accurate model, - it can cover exactly what the users need to know - It can provide descriptions of new concepts in the context of known concepts - it can present information most relevant for a specific user - and active system would remain quiet most of the time. Critics as Embedded System Components Critiquing systems were first developed as standalone systems, but current prototypes demonstrate that they are more powerful as embedded systems. Most domains have grown so complex that no single person can be considered an expert familiar with all aspect of the domain. Support tools must include explanation of domain-specific knowledge and how that knowledge can assist users by critiquing their work. Experiments demonstrated that in order for these systems to be truly cooperative, they must be tailored to the specific tasks and knowledge backgrounds of individual users. As cooperative problem-solving systems move away from fine-grained analysis of simple interactions with a computer toward a focus on skilled users of high functionality systems, the systems must adapt to their users. These systems' models of users need to be dynamic, persistent, and domain-oriented. Achieving these goals requires a coadaptive system where both user and software environment adapt to each other. Malleable, or changeable, sysb: 1. they would support mutual understanding and shared knowledge about typical situations 2. they would communicate minimally, since shared knowledge and assumptions could be unspoken. 3. they would make tools and artifacts handy and invisible, which would allow users to attend to the task more directly. 2 Integrated domain-oriented knowledge-based design environments Based on experience in designing kitchens, user interfaces, and computer networks, the researchers have developed a general architecture for integrated domain-oriented knowledge-based design environments based on 5 components and 3 integrating mechanisms. Components: 1. a construction kit--used for modeling a design. Provides a palette of domain concepts and supports construction using direct manipulation and electronic forms. 2. an argumentative hypertext system--contains generic issues, answers, and arguments about the design domain. Users can annotate and add to this argumentation. 3. a catalog--a collection of prestored designs illustrating the range of possibilities in the domain and supporting reuse and case-based reasoning. Catalogs serve as a group memory and so support long-term indirect communication among groups of designers by providing a cumulative record of rationale, solutions, information about prior projects, etc. However, it is important to plan carefully how information gets into the memory, how it accumulates, and how it can be made available to the individual designer. 4. a specification component.--allows designers to describe characteristics of the design they have in mind. These specs are used to retrieve design objects from the catalog and to filter information in the hypertext. 5. a simulation component--allows designers to play "what-if" games with the artifact being designed. At each state during the design process, the partially completed design serves as a stimulus to suggest to users what they should attend to next. For this power to be exploited fully, the individual components must be integrated. Currently, the architecture supports three linking mechanisms: Construction analyzer--Critics point out suboptimal aspects of the artifact being designed and find corresponding discussion in the argumentation component. Argumentation illustrator--Finds concrete design examples in the catalog matching the explanation in the argumentative hypertext to help users understand that information. Catalog explorer-- Helps users search the catalog by retrieving design examples similar to the current construction and specs. 3 Why design environments need to be adaptive and adaptable Adaptive systems change themselves based on the user's behavior, and so must contain models of the domain, the task, and /or of the users to adapt appropriately. Some of the goals of adaptive systems are 1. to filter information in a user and task-specific way and 2. to present to users new information that supports learning on demand. Adaptable systems 1. make the system fit new requirements by adding or changing knowledge structures and 2. creating functional enhancements Adaptable systems allow users to modify the systems while working with them: e.g. Microsoft Word, EMACS, NoteCards, BUTTONS, and Object-lens. *Difference between adaptive and adaptable systems Adaptive systems change themselves contain knowledge require little or no effort and no special knowledge from the user Problems: user has difficulty developing a coherent model of the system user loses control except for humans, few success models exist of this kind of system. require models of users, tasks, and dialogs knowledge base of goals and plans r powerful matching capabilities incremental updates of models Applications: active help systems critiquing systems differential description user interface customization Adaptable systems are changed by the user with system support extend knowledge let the user be in control. System knowledge fits better success models exist. Problems: systems become incompatible users must do substantial work complexity is increased (users need to learn how to interact with the adaptable component) Requires layered architecture human problem-domain communication back-talk from the system design rationale Applications: end-user modifiability tailorablilty information filtering design in use Design environments need to be adaptive because: If you are designing a kitchen, and the system knows that "the stove should be in front of a window, or the work-triangle should be less than 23 feet" and the system is not adaptive, it will be stuck with this generic advice and will be unable to respond to specific situations, such as "a person in the household is only 5 feet tall or the family has a large number of small children". Design environments need to be adaptable because: humans know more than they can say (have lots of background knowledge and common sense) the domains change over time Malleable systems combine adaptive and adaptable components in several ways. The systems keep track of the rules (like building codes, for instance), which constrain the design, while the users keep track of the unique aspects of a particular design situation, which makes the design interesting. combining these skills means that a system can focus on generating design-specific rather than domain-specific critiquing and the designer can understand the design in terms of its unique characteristics rather tan its common ones. Conditional critics in the system can detect situations where specifications are in conflict, and the user can choose which one to keep or modify. To support this type of reasoning, specification items can be weighted, which allows users to shift priorities and thereby explore different design consequences quickly. Support for understanding tradeoffs is vital for complex problems where goals and priorities cannot be known beforehand. Machine learning can be seen as another approach for integrating adaptive and adaptable systems. Users could show the system examples which the system could learn new principles from. Other possibilities for integration include modification critics, or adaptive system components that suggest to users how to adapt systems. these components would be enhanced by making them adaptable also, so that users with different skills could make changes to the system easily. EXAMPLES An example of integration is the In Vision system, which addresses the information overload problem in organizations to help answer questions like "who do I tell and who do I ask". In Vision relies on models of the knowledge and information needs of users, allows users to build models and also infers users' information needs based on observations of their interactions with database systems, and it supports conflict resolution techniques for resolving problems with contradicting information. INFOSCOPE allows users to evolve the predefined system structure for reading USENet News to suit their own semantic interpretations by allowing users to define virtual newsgroups. FLEXCEL adds flexibility to EXCEL by assisting users in the adaptation process by preparing them to adapt the system, presenting clues about when to turn from the task to the metatask of adaptation, and achieving a balance between massive interruption and mute potential. 4 Shared knowledge systems In an example of a policeman trying to give directions to a tourist, Fischer points out that the policeman is unable to model the background knowledge of the visitor, which indicates that shared understanding is not a one-shot affair but a cooperative problem-solving effort requiring followup questions and detail-on-demand. Adaptive and adaptable systems are desirable: 1. to support mutual understanding by using common conventions and shared knowledge about typical situations 2 to support economy in communication between users and systems Design environments can be interpreted as shared knowledge system when they: 1. support human problem-domain communications by eliminating the need for users to deal with the computer, so they can focus on the task 2. allow users to articulate their specific problem-solving situation 3. system presents its knowledge in the context of the task at hand Opponents argue that there is little evidence that adaptive components based on using a model of users and tasks can be constructed so that they work. Since no successful systems exist outside of research environments, this criticism is justified, Fischer says. These opponents favor adaptable systems and support mechanisms instead, because they believe that users know more about their own interests, goals, and state of knowledge than what can be communicated, defined, abstracted and exploited by most modeling mechanisms. They also say that because human knowledge is so well-understood that it does not need to be talked about, back-talk with the system is required to trigger additional knowledge. Conclusions Interaction between people and computers requires essentially the same interpretive work that interaction between people demands, but in the case of people interacting with computers, the participants have very different available resources. People use linguistic, nonverbal, and inferential resources to understand actions and events, which are in most cases not available or understandable by computers. Cooperative problem-solving systems need to take this asymmetry seriously and find other ways to enhance problem-solving, instead of just trying to simulate human communication. Design environments offer interesting possibilities for integrating adaptive and adaptable components to increase the shared knowledge between users and computers. Questions What other problem-solving domains, besides design, might be enhanced by the use of malleable systems? How can computers be taught human-like background knowledge? For instance, could systems become better at assisting users at high-level tasks if they were taught kindergarten lessons long before kitchen design? Do the constraints built in to a design system, such as building codes and the laws of physics, need to be visible to the user at some point, for instance, so the designer can decide when to break a rule? Does this mean that adaptability needs to be implemented down to the lower levels of decisionmaking? Does this mean that rules must be weighted from never-break to break-under-some-circumstances? If computers can accumulate the acquired experience of human experts, how can their experience be indexed so that it remains both retrievable and of a practical size even when the amount of information becomes huge?