Coffein: Construction and Presentation of
Design Knowledge
Stefanie Thies
(University of Paderborn, Germany,
thies@hni.uni-paderborn.de)
Abstract: Design is a hard problem: ill defined and openended.
Schön [Schön 83] characterized the process
of designing an artifact as a successive refinement of reflection and redesign.
Critiquing the communication of reasoned opinion about an artifact
plays a central role in the design process. A computational critiquing
mechanism provides an effective form of humancomputer interaction
to support these important aspects of design [Fischer
91]. Systems which realize such a computational critiquing mechanism
are called Critiquing Systems. These systems provide context sensitive
advice and rationale for an artifact designed by a user. This is realized
by delivering socalled critiques, which contain relevant information
for the user to the task at hand and are some kind of rule of thumb. But
design experts are not programmers and programmers are not designers. So
we need a module which supports design experts in stating their knowledge
in form of critiques. The basis for this module is a a visual critiquing
language (here called visual CiLa), completed by a knowledge construction
supporting component. Furthermore a single design expert normally does
not have all existing design knowledge. So the necessary information for
building a complete design system is distributed among different stakeholders.
Therefore we additionally need concepts and algorithms to combine and structure
the critiquing knowledge of different design experts to construct a trustful,
consistent and wise codesigner. This aspect is done by a module constructing
the knowledge base and a module for constructing the virtual codesigner.
These two aspects design knowledge construction and presentation
are realized in a tool called Coffein. This article deals with the
way Coffein works and how it influences the design process.
Key Words: visual language, knowledge construction, multiexpert
system, scientific visualization, knowledge based sysem, lifelonglearning,
infotmation systems.
Category: Multimedia Information Systems (H.5.1)
1 The Concept of Coffein
Design is a hard problem: ill defined and openended. Schön
[Schön 83] characterized the process of designing
an artifact as a successive refinement of reflection and redesign. Critiquing
Systems are successfully applied in design tasks as shown with the systems
HERMES [Stahl 93], JANUS [Fischer
90], VDDE [Harstad 93] and IDIAS [Gutkauf
97]. Computational critiquing is the communication of a reasoned artifact
by socalled critiquing systems. So these systems support the necessary
underlying actionreflectioncycle of design: a user designs an
artifact, the critiquing
system analyses the artifact and delivers socalled critiques (this
cycle is presented in [Fig. 1]).

Figure 1: Structure of a Critiquing System
A critique contains three parts of information [see also Tab.
1]:
- For which kind of artifact is the critique valid; e.g. how to analyse
the artifact. This information is called metric and correlates to
the ifcondition of a rule.
- The second information is what a user can do to solve the problem.
This is called advice and correlates to the thenpart of the
rule.
- Third a critique contains information why there is a problem with the
artifact. This is called reason.
Structure of Critique
|
If
(metric)
|
Then
(advice)
|
Because
(reason)
|
Leading Question
|
In which situation is the critique valid? |
What can you do to solve the problem? |
Why should you think about another solution, why is there a problem? |
Example
|
If two colors of pie slices in a pie chart are not distinguishable |
Then change one of the colors, to make them distinguishable |
Because the correlation between legend and pie slices is harder
if two colors are very similar. |
Formalism
|
first order logic |
text, scriptlanguage |
text |
Table 1: Specification of the Three Parts of a Critique Critiquing
System Artifact critique
Critiques are knowledge carrying pieces and build the knowledge base
of critiquing systems. These systems are easy to extend and to update by
adding and modifying critiques step by step. But designers who are
able to formulate design critiques are not programmers'. Therefore
we need a module for knowledge acquisition and construction [see right
part of Fig. 2]. Another problem is that collecting
domain knowledge from different domain experts can lead to inconsistencies
resulting from the different point of views as well as to an information
overload through information redundancy and overlaps. So we have to structure
knowledge from different point of views; this can be done in the knowledge
base. Last but not least, these structure (as
well as the design knowledge) must be presented to the user by providing
the metaphor of a virtual codesigner. This means a virtual person who wants
to adapt to our perspective and who wants to give us consistent information
and advice about a given designed artifact.

Figure 2: Concept of Coffein as Knowledge Transfer Medium
The following information is structured as follows. First (in Section
2) we explain the knowledge construction module, focusing on the basis,
the visual critiquing language. Then (in Section 3)
we show what inconsistencies can occur if different experts modify the
knowledge base and how we can handle this situation. In Section
4 we show the method to construct a virtual codesigner. Specially we
want to show how Coffein influences the design process on both sides: (a)
influence for a user designing an artifact and (b) for domain experts formulating
their knowledge. This article ends with a summary and an outlook.
2 The Knowledge Construction Module
Supporting domain experts in stating their knowledge is a difficult
task, especially, if we want to have more than text (which is hard to analyse
by a computer). This problem is well known in the context of knowledge
based systems and this also applies to our problem of programming a metric.
Different techniques of knowledge acquisition and construction have been
explored in the last years. In principle three kinds of knowledge acquisition
and construction by learning are distinguished [Knopik
91]: (1) rote learning, (2) learning by being told, and (3) machine
learning. These classes are ordered by the load to the user: rote learning
puts all the load on the user, but the
user is aware of what s/he is doing and this technique works quickly.
Prolog, Lisp, Agentsheets and CLIPS are examples of this technique. Learning
by being told is similar to the technique of programming by demonstration
[Cypher 93]. The problem in the context of design
is that changing the chart to a good chart is cannot be learned by simply
looking at some examples.
The third technique of machine learning has no impact on the user. But
a lot of examples are needed. If we assume that a designer works 2 hours
on a design and that there are at least 129 different kinds of design,
then we need at least 43 positive and negative examples (we assume, that
we need at least 33% examples to learn the complete tree with ID3 as mentioned
in [Görz 95]); e.g. 86 h of work for every designer.
So we selected rote learning as the basic technique for constructing
the metric. This technique is provided by visual CiLa, a visual critiquing
language. The other two parts of the critique the advice and the
reason are primarily text, which is quite easy to write. So we only
have some simple supporting components for this. There is also a supporting
component for investigating given abstracta and advice statements. We also
need the specification of the connection between the design tool and the
critiquing system, which is specified by the artifacts' hierarchy.

Figure 3: Structure of the Knowledge Construction Module
So we get the structure of the knowledge construction module as displayed
in [see Fig. 3]. The included supporting components the artifact
hierarchy editor, visual CiLa, the solution editor, the reason editor and
the inspection support are explained in the following sections. Please
notice that after describing the artifact hierarchy as the basis for all
submodules, we put emphasize on the critiquing language for specifying
the metric, because this is the hardest task for the user. We further assume
that a designer creates a artifact, sees a problem with the artifact and
starts to formulate the referring critique. This initiating artifact will
be seen as the first negative example for the critique. Negative means
that the critique fires; e.g. the system detects that the artifact has
a shortcoming.
2.1 The Hierarchy of the Artifact
Basically the artifact hierarchy editor specifies the connection between
the critiquing system and the design tool. But further on it was shown
[Thies 95] that defining a hierarchy of the artifact
eases the process of formulating a critique. Furthermore it lowers the
burden of finding names of objects, describing parts of the artifact. Liebermann
[Liebermann 89] points out that free defined labelling
allows users to construct their own vocabulary and to model their concept
of the artifact. As mentioned in the context of JANUS [Girgensohn
92] it is hard for nonprogrammers to identify the right object
by name. By allowing users to define their own hierarchy and naming, we
overcome this problem. Because of the similarity to the needs of software
specification languages, we use a subset of UML for describing the artifacts'
hierarchy. Brown [Brown 89] also points out that design
in general contains a hierarchical structure. So an adapted UMLsupporting
editor allows to define the artifacts hierarchy and to specify the connection
between the design tool and the critiquing system (by Apple Script TM or
Live Connect TM ) and is used as the artifact hierarchy editor.
2.2 Visual CiLa
The metric of a critique has to specify when a given artifact has a
shortcoming. In the context of design such decisions depend on how different
objects influence each other and on the relation between them. For example
a yellow square does not attract the eye because it is just coloured yellow.
But it attracts the eye because all other surrounding squares have less
saturated colours [see Fig. 4].

Figure 4: Visual Attributes of several objects influence
each other. This in an example that good design often depends on several
influencing factors and relations.
The challenge for the metric is to express the relations of the involved
objects and to present this interactions easily. In JANUS [Girgensohn
92] it becomes obvious that debugging and testing facilities for the
inference process are necessary to support nonprogrammers. A visual
language for the metric which can visualize the inference process
and the relations between the involved objects can serve this purpose.
Experts [Schiffer 98] in the area of visual languages
argue that visual programming languages can be easier to understand than
linear textbased programming languages, because the visual expression
of a programming task can more closely mirror the programmers
way of thinking than the textual expression does. They are able to lower
the load of identifying objects by allowing users to select an object from
a given palette. We want to take these advantages and to support the visual
recognition process, especially in the context of formulating critique
metrics.
But first we want to examine the needed expressiveness and structure
of the critiquing language: For example as mentioned above critiques can
be seen as rules. This simple interpretation of critiques as a special
kind of production rule also relies on the results of testing nonprogrammers'
problem solving skills (see [Pane 98]). Tests showed
that 54 percent of the nonprogrammers use some kind of production
rule as programming style; 95 percent of the test subjects used set and
subset specifications for performing operations on multiple objects. This
leads to the conclusions that some kind of rulelike programming is
an appropriate programming method for nonprogrammers. So the basic
concept of rules or more general first order logic can be used
for formulating metrics of critiques. This concept was applied in JANUS
[Girgensohn 92], IDIAS [Gutkauf 97]
and VDDE [Harstad 93]. Also the concept of abstracta,
introduced in Hermes [Stahl 93], can be seen as a
predicate concept of first order logic. Referring to the known results
[Wason 59], that expressing negative concepts is more
difficult than expressing affirmative ones, no explicit negation is provided.
So an easy to program critique has a DNF clause as condition. The
predicates are called abstracta.
In order to provide a visual programming method for this language, we
first look at existing innovative approaches of visual logic programming
languages in order to construct an appropriate visual language for the
metric of the critique. Agentsheets [Repenning 95]
introduced the successful concept of spreadsheets and palettes to select
predicates for a rule. Pictorial Janus [Saraswat 90]
allows the display the inference mechanism by transporting objects between
rules and VLPL [Puigsegur 96] has a completely visual
defined inference process. TPM [Eisenstadt 88] shows
the structure and inference process of Prolog programs. However, the challenge
for the metric is that the relations of the involved objects are important.
So the approaches used in Agentsheets, Pictorial Janus and VLPL fall short.
The approach used in TPM is based on And/Or Trees and describes relations
between objects, but there is no intuitive understanding of the meaning
of the tree itself. We decided to realize a spreadsheetbased
visual language, which visualizes the inference process via floating objects
and represents a real inference process. In order to allow an intuitive
understanding of the structure of the critique, we transferred the And/OrTree
to a pipe, collector, and filtermetaphor. These are explained
in the following.
2.2.1 The Metaphors
To plug a critique metric together, one can select tiles from a palette
and place them on a spreadsheet. We distinguish three kinds of tiles corresponding
to the underlying metaphors: pipe tiles, filter tiles and collector tiles.
These allow an intuitive understanding of the metric (i.e. the DNFclause).
The Pipe Metaphor. Pipe tiles can have at most two inputs and
two outputs. The basic concept is that the data flows from left to right
and top down. Pipes can simply connect components of the puzzle as well
as perform a kind of ORconnection: [Fig. 5] shows an example pipe
tile with one data input and two data outputs. This means the datum a comes
out at the right side of the tile and at the bottom side of the tile and
the data a can fulfil the right or the lower part.

Figure 5: Pipe Tile
The Filter Metaphor. A filter represents a predicate and is build
out of a headfiltertile, an arbitrary number of inputtiles
and an endfiltertile. This allows us to formulate each ninputs
predicate. The principle is that the filter waits until all inputs received
data. Then the predicate associated with the filter is checked
for the given data. If it becomes true the data will be sent through the
filter from left to right, as in a pipe. If not, the data will get stuck
in the filter.

Figure 6: Fiter Tiles
The Collector Metaphor. A collector represents a connection of
different pipes. It is based on the idea that a collector waits until the
data pressure is high enough and then allows the data to flow.

Figure 7: Collector Tiles
At the data inputs is a set of involved objects. [Fig. 7] shows the
variables a and b at the inputs. At the data output
right side is the set of a and b. The logic interpretation
of this collector is that it presents the set of variables which are bounded
by the interpretation I to fulfil it.
Other tiles in visual CiLa are the object tank tile and the critique
tile. An object tank represents the need of a logical variable. Critique
tiles present the advice as tile. The interaction between these tiles is
shown in the following example.
2.2.2 An Example
It is clear that visual CiLa is able to present each kind of DNF clause.
Now let's make clear how we present such an expression visually. Below
[see Fig. 8] you see the expression in the form of a DNFclause. The
next diagram [see Fig. 9] shows the same expression
represented by visual CiLa. In general you can distinguish two parts of
the visual critique: the upper part presenting the first ANDclause
and the lower part presenting the second ANDclause.

Figure 8: A typical DNFClause used for a critiquemetric.
Metric presented in CiLa

Figure 9: Example for an first order logic expression in visual CiLa.
This example shows what the given logic expressions look like in visual
CiLa. The upper part presents the first ANDClause the lower part present
the second ANDClause. The numbers indicate special points in the graphic:
(1) start of the orconnection (2) end of the orconnection (3)
collector indicating that both objects are involved in this clause.
The frame of the critique is build by two object tanks at the left side
and the critique tile at the right side. The object tank represents the
connection to the given artifact and the critique tile represent the connection
to the user; i.e. the critique tile contains the textual advice and textual
reason for the user. The numbers in the diagram indicate interesting aspects
of the visualization: (1) start of the orconnection (2) end of the
orconnection (3) collector indicating that both objects are involved
in this clause
2.2.3 Debugging Facilities
In general two faulty situations can occur: (a) a user gets a critique
and does not know why, and (b) a user expects a specific critiques to appear
but it doesn't. To overcome these problems, we must give the user the possibility
to understand why s/he gets this critique and what the delivered texts
mean. So s/he has to take into consideration which objects are involved
in the critical situation and what relations they fulfil. Therefore the
visual language has to represent the structure of the critique and must
be able to simulate the process of inference. Visual CiLa shows the connection
between the inferred objects and allows the visualization of the inference
process by sending data through the pipes. So both requirements are fulfilled.
[Fig. 10] demonstrates the concept of such a simulation.

Figure 10: Simulation example of a critiquing metric in visual
CiLa. After connecting two concrete objects of the artifact to the object
tanks, the simulation starts. Pipes transport the data following their
own form. Predicates check if the received data fulfils the predicate and
then send it further to the right, or the data get stuck. Above both predicates
are false see marked as red and the datum get stuck.
Such a simulation builds the starting point for debugging. On a more
abstract level, debugging a critique means to compare the systems's actual
behaviour against the user's expectations and intentions. With poor debugging
technology, this comparison must take place largely within the user's head,
and often overwhelms the ability of the users to deal with complexity [Liebermann
97]. [Liebermann 95] shows, that people first
want to locate the source where the mismatch between their expectation
and the system's behaviour takes place and then go into detail to correct
the critique.
So one needs a visualization of the process of checking a critique for
a given artifact and the inference mechanism has to be presented in a linear,
animated way. The integrated
debugger of visual CiLa provides such a simulation. To allow an easy
location of the mismatch, the control structure of the debugger is reversible;
i.e. the user has bidirectional control over the debugging process. So
a user can run forward until an error occurs and can then step backwards
until the precise source of the error is located. The state or internal
operation of the critiquing system is visualized by showing the data flow
and the actual checked subcondition. This demonstrates another advantage
of abstracta: the structure to simulate remains simple and the textual
description of the underlying predicate allows an easy understanding on
a more detailed level.
2.2.4 Concept Summary of Visual CiLa
The language Visual CiLa allows the programming of critique metrics
directly and is based on a special subset of first order logic. Visual
CiLa is build on top of a pipe, filter and collectormetaphor
and allows users to plug critiques together by placing tiles on a spreadsheet.
Furthermore Visual CiLa supports users in simulating the inference mechanism,
which is represented by the flow of objects through the pipes. Filters
and collectors visualize the functionality of inference and support the
debugging process of such critiques.
2.3 The Supporting Modules
Besides the main component of the knowledge construction module, using
visual CiLa, we realized socalled supporting modules which are mentioned
only to get a complete view of the tool Coffein.
2.3.1 The Solution and the Reason Editor
In order to give a reason for a critique, one has to specify a reasoned
opinion about an artifact; in the context of design this is called the
design rationale. A design rationale gives the reason for designing an
artifact the way it is or should be designed. To give a hint, i.e. to argue
for a design rationale, one tries to make clear why a general rule can
be applied to a given context. A critique has to allow these things: by
defining a metric, one defines the condition of the referring rule. Like
mentioned in Section 2, we assume that a user provides
a negative example at the beginning of the process of constructing a critique.
So the metric is valid for the given situation. The concrete objects
fulfilling the metric are provided as a starting point to formulate
the reason for the rule textually. In IDIAS it becomes obvious that people
formulate the critiques referring to the concrete critical situation.
For example one user specified, that it is better to write long labels
belonging to a bar topdown and not leftright. He constructed
such a critical situation with a long label belonging to a blue bar, to
make clear the spacing problem. Writing the text he referred to the blue
bar, which was the critical bar with the long label in the given example;
it was hard for him to translate from the given example back to the general
rule.
Visual CiLa supports the user in formulating the advice and reason in
the context of the general rule: the concrete objects and cases of the
metric can be referenced by
clicking on them, and so errors like the one mentioned above are prohibited.
The validation of the applied general rule can be provided by examples,
pro and cons of the rule, links to related background knowledge and so
on. Also suggestions on how to solve this conflict can help to get an understanding
of the general rule.
If the user is also aware of a concrete solution, we ask him/her to
identify the critical objects. Now we ask the user to solve the problem
and trigger these action and generate a list of selfdisclosure examples,
as provided by Chart'n Art [DiGiano 95]. These actions
are textually described by the user and build the basis for providing a
solution.
2.3.2 The Exploring Module
The exploration module allows the user to explore the already implemented
functionality of the critiquing system. This means that users are able
to find existing abstracta and to find already typed in reason and
advicetexts. So we implemented an abstraction parser that helps people
to find the right abstracta for their metric and a text comparer, by finding
similar texts to a given list of keywords.
The Abstraction Parser. Sometime users have problems in formulating
their knowledge on a more formal level, such as first order logic. So we
provide the possibility of describing the critical textual and interactively
construct the first order logic expression. Let's assume we have the following
textual description of the metric:

Referring to the artifact hierarchy, we parse the sentence looking for
numbers, objects, objects attributes and colour names. The rest of the
sentence without expletives or fillers are assumed as predicates
(where the logical context is considered). So we look for similar predicates
implemented in the database of abstracta. The determined abstracta are
displayed.
The Text Comparer. We simply use the technique of LSA [Deerwester
90] for finding the relation between the query given by the user and
the texts stored in the database as reasontexts and advicetexts.
We provide the matching documents as a list similar to those used in traditional
search engines like AltaVistaTM , LycosTM, metacrawlerTM
and so on.
3 The Knowledge Base Module
When a critique is formulated it is stored in the knowledge base. But
not every update or extension of a knowledge base will lead to a better
knowledge base, even if every part if the knowledge base is correct. This
fact is called Knowledge Anomaly [Dücker 99].
For example a user adds a critique stating that printing text in blue is
bad based on the fact that blue does not attract the eye. Another user
suggests using a blue colour, which reminds us of the ink used for writing
in school. A user who gets the first critique, changes the colour and then
gets the second critique will be very confused, especially if this situation
not only occurs with one pair of critiques but several pairs. To overcome
this problem, we have to detect such inconsistencies and we must make them
transparent to the user. So the knowledge base module checks each critique
being placed in the knowledge base. It looks for inconsistencies between
new critiques and the critiques already checked in. To do so, we first
have to define what inconsistencies are (Section 3.1) and then we show
how to store and use this information effectively (Section
3.2).
3.1 Definition of Inconsistency
For productionrules Ojelanki et. al. [Ojelanki
92] identified four types of rule inconsistencies: (1) logical equivalence,
(2) logical inclusion, (3) condition inconsistency, and (4)
action inconsistency, like shown in the following table [see Table
2]:
Inconsistency in
the field of AI
|
conditions are
equivalent
|
conditions are
not equivalent
|
conditions are
inclusions
|
actions are
equivalent
|
logical
equivalence
|
condition
inconsistency
|
logical
inclusion
|
actions are not
equivalent
|
action
inconsistency
|
|
|
Table 2: Inconsistencies of Production Rules
Another type of inconsistency [Ojelanki 92]
a kind of rulebase inconsistency is logical incompleteness;
this means that no computation can be done for at least one situation.
Our problem is that we have no secure information about the actions the
user is told, especially considering that the advice in a critique can
contain different suggestions for solutions (e.g. different actions are
recommended). This action inconsistency is an important part of
the design process and traditional definitions of inconsistency fall short.
So we must take a closer look at the conditions, assuming that the information
we have about the action the advice and the reason of the rules
is very fuzzy. For example the fact that two actions are not textually
identical does not ensure that the actions i.e. the resulting actions
of the user are different.
First we want to check the consistency of the conditions of the two
critiques. Let's assume the following formalism: critiquei
: (condi > advicei, reasoni).
Now let's define a condition inconsistency for two critiques criticue1,
critique2. Now we can formulate consistency constraints
valid for all designs. All possible relations between the two conditions
can be formulated as a boolean function f2 in this form:

Additionally we can assume that each of both conditions (at least for
one design) becomes true and that this condition is false for at least
one design. So has to fulfil the following:

Now let's look at all possible boolean functions f2[see
Tab. 3]:

Table 3: Possible Relations between two critiques
The rows with a white background contain boolean functions which hurt
the condition given above. So the red rows present possible boolean functions
for the relation between two critiques. As seen, we identified six situations
[see Tab. 4]:
Name
|
Description
|
Problem
|
identity
|
both conditions are either true
or both are false. |
the critiques criticise the same design, but have different lines
of argument. |
generalisation
|
whenever cond2 is true also
cond1 is true. |
cond1 is a more general case
of cond2. |
refinement
|
whenever cond1 is true also
cond2 is true. |
cond1 is a special case of cond2. |
completeness
|
every time critique with cond1
or cond2 occurs; e.g. no design
without a critique. |
It is not possible to create a
critique without a critique. |
alternatives
|
It is not possible that both critiques
occur at the same time; e.g. their compete |
These are potential conflicting
points of view. |
separation
|
Everything can happen. |
no problem |
Table 4: Condition Inconsistencies for Critiques
Condition identity, condition refinement, condition
generalisation and completeness are seen as inconsistencies
caused by overload and redundancy of information. Condition alternatives
and condition separation are relations with cause no problems. The
same situations can be defined between n conditions of critiques
[Thies 99a].
3.2 Usage of (In)Consistency Information
After determining which inconsistencies exist, we build up a graph which
presents these relations. The algorithm for construction is as follows:
- Each node represents a class of equivalent conditions, and has a link
to all line of arguments. Formal: if critiquei and critiquej
are condition identical we have a node nodet which has
a link to condi, advicei, reasoni,
and a second link to condj, advicej,
reasonj.
- Each black directed edge in the graph represents a condition refinement
of two critiques. Formal: if condi is a refinement of
condj and nodes has a link to condi
and nodet has a link to condj then
there is a black edge from nodet to nodes.
- Each red undirected edge in the graph represents a condition completeness
between two critiques. Formal: if condi is condition
complete to condj and nodes has a link
to condi and nodet has a link to condj
then there is a red edge from nodet to nodes.
- Each blue undirected edge in the graph represents an alternative between
the two critiques. Formal: if condi is an condition alternative
to condj and nodes has a link to condi
and nodet has a link to condj then
there is a blue edge from nodet to nodes.
Please notice that all critiques linked to a node have the same relations
to other critiques; that is to other nodes. Let's assume the graph looks
like presented in [Fig. 11].

Figure 11: Critique Inconsistencies displayed as Graph (Example)
We can now use this graph for efficient evaluation of the critiques.
First we check all nodes with no incoming edges and label them with the
result; i.e. true or false. Then we follow the outgoing edges: nodes connected
by a red edge are labelled with the opposite of the own label. If the node
is labelled true, then the black connected nodes
are evaluated. If the node is labelled false, then the blue connected
nodes are evaluated and all black connected nodes are labelled with false.
This loop continues until no further nodes can be labelled. All nodes labelled
with true present critiques which are valid for the given context.
4 The Module for Knowledge Presentation
Designing an artifact is an openended problem (see [Rittel
73]) which allows a diversity of solutions. The situationally best
solution depends on the user's goals, as well as on his/her specific background
and abilities; i.e. on the users perspective. To obtain this solution,
we often want to have a codesigner: (1) Who tries to adapt to our perspective;
for example to our explicit and tacit goals. (2) Who has a consistent point
of view but (3) also mentions other people's opinions and point of views.
To construct such a codesigner, we use the knowledge base of critiques
from different designers as a basis.
But simply putting together these knowledge bases is no solution, as
shown in [Schekelmann 98] and [Harstad
93]. We identified four types of inconsistencies which can occur by
simply merging the knowledge bases: alternatives, identity, refinement
and completeness.
For each inconsistency, an algorithm and a concept is developed to construct
a consistent point of view for the virtual codesigner. The basis for all
algorithm is the graph introduced in Section 3.2 and
a user model which allows the comparison of the recipient of a critique
with the author of a critique. This model is constructed by looking at
the user's interactions with the critiquing system. This model will be
explained in the following section. Afterwards we show how we can implement
the user model and the graph to select a point of view for the virtual
codesigner.
4.1 The User Model
Visual CiLa allows users to formulate and modify critiques of the critiquing
systems. So users are not only recipients of delivered critiques, but they
are also able to adapt them to their special needs, vocabulary, background
and line of argument. So they become the authors of the adapted critique;
thus, recipients of critiques are normally also authors of critiques. So
a user has two roles: (a) recipient of critiques and (b) author of critiques.
Therefore we have two kinds of information about the user: (a) The critiquing
statistic; i.e. which critiques occur for the user; (b) the versions, lines
of argument of critiques which are adapted by the user. The purpose of
the user model is to get indicators of which texts are more comprehensible
and appropriate to a specific user than others. These two kinds of information
are used as follow. The statistic allows us to construct dependent sets
of critiques by graph partitioning; this means that critiques of one set
normally occur together and so present a specific lack of knowledge on
the user's part. The useradapted or formulated critiques are used
to extract information about the user's specific wording. Latent Semantic
Indexing [Deerwester 90] and also graph partitioning
allows us to group critiques which contain the same wording. So the user
model contains information which kind of wording
group s/he belongs to and which sets of critiques present the user's
lack of knowledge. We can compare users on the basis of lack of knowledge
and wording. Of course the user is also able to inspect his/her user model.
For more details see [Thies 99c].
Here we see that enduser modifiable critiquing systems used
as a basis for a group memory allows special input for user modelling.
Standard techniques of graph partitioning are used to establish a user
model which allows a measurement of comprehensibility of other people's
arguments for the user depending on the user's specific wording and
background knowledge. This helps to overcome the problem of information
overload and incomprehensible information. A small test case with 5 persons
produced promising results.
4.2 Selecting a Point of View
Let G be the graph of critiques as discussed in Section
3.2. Each directed path (i.e. each black path pathi
paths of length one are allowed) corresponds to one hint hinti
of the virtual codesigner. Say
is the set of all possible hints for the actual critique base. Define authorsi
is the list of authors connected to hinti; e.g. authorsi
is the set of all authors of all critiques linked to a node of
pathi. Formal: .
4.2.1 Step 1: Complete Critiques:
First we decide the point of view based on complete critiques: If there
is pathi, pathj and there is a node
nodei of pathi which is connected by
a red edge with nodej which is a node of pathj,
then calculate the minimal distance of the recipient user and all member
of authorsi and all users of authorsj.
Select the author authort of
so, that the distance between that actual user and the selected author
authort is minimal based on the calculated user model.
The referring patht t
{i,j} specially hintt is marked as "point
of view". Please notice that we cannot guarantee that the selected
author only occurs in authorsi OR authorsj.
But tests showed that this situation does not occur in real life. If this
situation occurs, we select the patht t
{i,j} especially hintt randomly and
mark the other hint as "contrary point of view".
4.2.2 Step 2: Alternatives of Critiques
If there is pathi, pathj and there
is a node nodei of pathi which is connected
by a blue edge with nodej which is a node of pathj
, and pathj e.g. hinti is labelled
with "point of view" then mark hinti with "out
of point of view".
4.2.3 Step 3: Refinement of Critiques
For the remaining unlabelled hints in Sethints we
select the point of view based on refinement critiques. If a path pathi
has no label and contains a subpath
which is labelled, then label pathi the same
way. Label each remaining unlabelled hint hintt with
"point of view".
After applying these three steps we get the where each element is labelled
with: "point of view", "out of point of view", "contrary
point of view". Now we use this information to construct the behaviour
of the virtual codesigner.
4.3 Construction and Behaviour of the Virtual CoDesigner
Let's assume the user provides a designer artifact and checks for critiques.
Say Glab is the resulting labelled graph of the critiques,
as defined in Section 3.2. Define
as the subgraph of Glab only containing the nodes which
are labelled true and only those edges which connect true labelled nodes.
For each maximal path pathi of look up label labeli
of the corresponding hint hinti. So labeli
is "point of view", "out of point of view" or "contrary
point of view".
Case 1: Point of View.
Select the most specific node nodet of the related
path pathj i.e. at the ending of the path. Select
the critique of this node nodet, whose author has a minimal
distance to the actual user. The advice and reason of the selected critique
are displayed directly.
All other critiques corresponding to this path are collected in a list,
then they are ranked depending on the user model. This list is also shown
as a selection list to the user. So the system provides information first
and directly which is assumed to be more comprehensibility for the user.
The selection list can be changed by the user and should be seen as support
and not as a dictate. The user is also able to inspect his/her user model
getting wording examples and examples of typical received critiques. The
texts of the complete critique (if they exist) are mentioned as a opinion
from another designer. So the display is structured as seen in Fig. 12.

Figure 12: Structure of Critique Display: (a) Point of view
critique, (b) other argumentations as list and (c) complementary/alternative
critiques
Case 2: Out of Point of view. Select the critique critiqueout,
like the selected and directly displayed critique in Case 1. In the same
way select critiquein, for the alternative connected
path. Display as selected critique:

Figure 13: Example, how to display a selected critique
The rest is calculated like Case 1.
Case 2: Contrary Point of View. Show nothing to the user. We
decide which critique based on the author's knowledge is the best fitting
for the user, also considering the existing inconsistencies. Those critiques
become the "point of view" of the constructed codesigner. The
other critiques are considered as different points of view the codesigner
knows and is able to mention or allude to. So the codesigner is also able
to prod the user to think about different aspects or point of view.
5 A Usage Scenario
The project Intersim [Arias 97] tries to get citizens
involved in the planning of bus routes and city design. They built a simulation
of a city including traffic and bus routes with Agentsheets [Repenning
95] in order to allow citizens to explore the possibilities and disadvantages
of new bus routes. One goal is to make this simulation available in different
public libraries. So that many citizen at different places have the opportunity
to get involved in the design process. We want to set up our usage scenario
in this context:
A citizen called John looks at the simulation at the public library
in Boulder. He looks at the bus route and realizes that a residential area
has no bus stop. So he formulates a critique that a living area should
have a "reachable" bus stop. The abstraction parser delivers
the abstracta "near", "very near" and "not far
away" as possible abstracta. John looks up, if "near" is
the appropriate abstracta, he formulates his critique with this abstracta.
Then he tests the critique in different situations and gets not satisfactory
results. He decides that near is a too rigorous restriction and he tries
"not far away" which works fine for his requirements. He places
a bus stop in the area, demonstrating a solution as well as for solving
the problem itself. After playing around a while he stops this session.
The next day a citizen group at the university of Boulder meets and
starts the same simulation as John did the day before. Sarah sees the new
bus stop and removes it because she lives near this place and hates traffic.
Immediately John's critique pops
up and informs Sarah about his motivation for placing a bus stop there.
Now Sarah has the possibility to make her own critique (referring her problem
with traffic) public for discussion. After pointing out her objection the
group argues that common issues are more important than personal issues.
So Sarah provides a compromise by moving the bus stop a few meters and
putting a critique into the system that she don't want to have a bus stop
very near of her house. If John looks at the simulation again he will see
the change and get the supporting information provided by Sarah's critique.
So the critiquing system is used as a group memory, even over distance,
and is context sensitive. People can be sure that their constraints are
considered, if they formulate the referring critiques. The argumentation
for personal constraints are placed on a logical level and are based on
hard facts, which can be proved and criticised. So compromises and solutions
are easier to find.
6 Conclusion
We introduced the tool Coffein, a development environment for critiquing
systems. The three main modules knowledge construction module, knowledge
base module and knowledge presentation module are described. Visual
CiLa (the basis of the knowledge construction module) is explained in detailed.
We believe that this language is a framework which allows design experts
to formulate, to test, and to debug their expertise as critiquing knowledge.
A test with 30 children showed that even 9th graders with no programming
skills were able to formulate critiques in the context of the game GO,
to test them and to debug them. It also became obvious in the test how
the visualization of the process supports the understanding of the mechanism
itself. We identified four types of inconsistencies and showed how they
can be stored and used as an effective inference mechanism in the knowledge
base module. This information about inconsistencies is used in the knowledge
presentation module: it selects a point of view depending on the user model
and represents the information user specific and consistent; it also alludes
to other point of views.
By providing support for expressing design knowledge in the form of
critiques and by delivering these constructed knowledge in a context sensitive,
consistent points of view, we provide a special kind of group memory. This
memory can be filled even by nonprogrammers by using the visual critiquing
language for formulating critiques as a piece of the designer's knowledge.
The structuring and combining of these pieces of advice is done automatically
and presented in a human manner, by a virtual codesigner. We therefore
lower two basic burdens of group memories: to populate a group memory and
to access information stored in a group memory.
Acknowledgements
I would like to thank Prof. Dr. Ernesto G. Arias, Prof. Dr. Gitta Domik,
Prof. Dr. Gerhard Fischer, Dipl. Inform. Michael Thies, as well as the
group Intersim.
References
[Arias 97] Ernesto, G. Arias: "The Bridging
of the Virtual and Physical: The InterSim as a Collaboration Support Interface";
Proceedings AIED 97, 8th World Conference On Artificial Intelligence
In Education (1997)
[Brown (89)] Browns, D.C., Chandrasekaran, B.:"Design
Problem solving (Knowledge Structures and Design Strategies)"; Morgan
Kaufmann Publischer (1989)
[Cypher 93] Cypher, A.: "Watch What I Do, Programming
by Demonstration``, MIT Press, ISBN 0262032139 (1993).
[Deerwester 90] Deerwester, S., Dumais, S. T.,
Furnas, G.W., Landauer, T. K., Harshman, R.: "Indexing by latent semantic
analysis"; Journal of the American Society for Information Science,
41, 6 (1990), 391407.
[DiGiano 95] DiGiano, C., Eisenberg, M.: "Self
disclosing design tools: a gentle introduction to enduser programming",
Proc. DIS'95 Symposium on Action Systems, G.Olson and S. Schon, ACM Press,
Michigan (1995).
[Domik 94] Domik,G., Gutkauf, B.: "User Modeling
for Adaptive Visualization Systems"; IEEE 1994, (1994).
[Dücker 99] Dücker, M., Gutkauf, B.,
Thies, S.: "A Collaborative Development Environment for DesignOriented
Critiquing Systems"; Proc. of the 32th Hawaii Int. Conference on System
Sciences (HICCS 99), (1999).
[Eisenstadt 88] Eisenstadt, M., Brayshaw, M.: "The
Transparent Prolog Machine (TMP): An Execution Model and Graphical Debugger
for Logic Programming"; Proceedings of the Conference on Logic Programming,
Austin, Texas, (1988).
[Fischer 91] Fischer, G., Mastaglio, T.: "A
conceptual framework for knowledgebased critic systems"; Proc.
Decision Support Systems 7, (1991).
[Fischer 90] Fischer, G., Girgensohn, A.: "EndUser
Modifiability in Design Environments"; Proc. Human Factors in Computer
Systems, CHI '90, ACM, Seattle, WA, (1990).
[Girgensohn (92)] Girgensohn, A.: "EndUser
Modifiability in KnowledgeBased Design Environments", Ph.D. Dissertation,
Department of Computer Science, University of Colorado (1992).
[Gutkauf 97] Gutkauf, B., Thies, S., Domik, G.:"A
UserAdaptive Chart Editing System Based on User Modeling and Critiquing";
Proceedings of the Sixth International Conference UM97, Sardegna, Italy,
Springer Verlag (1997).
[Görz (95)] Görz, G.:"Einführung
in die künstliche Intelligenz", AddisonWesley, Berlin (1995).
[Harstad 93] Harstad, B.: "New Approaches for
Critiquing Systems: Pluralistic Critiquing, Consistency Critiquing, and
Multiple Intervention Strategies", PHDThesis at: Department of
Computer Science, University of Colorado at Boulder, December, (1993).
[Knopik 91] Knopik, T.: "Methoden des maschinellen
Lernens für den interaktiven Wissenserwerb", Stuttgart Univ.,
Diss., (1991)
[Liebermann 97] Liebermann, H.: "Introduction
and Guest Editor, Special Issue on Debugging and Software Visualization",
Communications of the ACM, April (1997).
[Liebermann 95] Liebermann, H., Fry, C.: "Bridging
the Gap Between Code and Behavior in Programming"; Proc. ACM Conference
on Computers and Human Interface [CHI95], Denver, April (1995)
[Liebermann 89] Liebermann, H.: "Programming
Descriptive Analogies by Example"; Proc. Workshop on Inheritance Hierarchies
in Knowledge Representation, Viareggio, Italy (1989).
[Ojelanki 92] Ojelanki, K., Bryson, N.: "A
Formal Method for Analyzing and Integrating the RuleSets of Multiple
Experts"; Proc. Information Systems; Vol. 17, ISBN: 03064379
925500000, (1992).
[Pane 98] Pane, J. F., Ratanamahatana, C. A., Meyers,
B. A.:"Analysis of the Language and Structure in NonProgrammers'
Solutions to Programming Problems", Report at: Carnegie Mellon University,
School of Computer Science (1998).
[Puigsegur 96] Puigsegur, J. , Augusti, A., Robertson,
D.: "A Visual Logic Programming Language"; Proceedings of the
Conference on Visual Languages, Boulder, Colorado (1996).
[Repenning 95] Repenning, A., Summer, T.: "Agentsheets:
A Medium for Creating Domain Oriented Visual Languages``, Proc."IEEE
Computer``, Number 3, Volume 28, (1995)
[Rittel 73] Rittel, H. W. J., Webber, M.: "Dilemmas
in a general theory of planning``; Proc. Policy Sciences, 4:155169,
(1973).
[Saraswat 90] Saraswat, V., Kahn, K. M., Levy, J.:
"Janus: A Step forward towards Distributed Constraint Programming";
Proceedings of the North American Conference on Logic Programming, Austin,
Texas, MIT Press, October (1990).
[Schekelmann 98] Schekelmann, A.: "Materialflußsteuerung
auf der Basis des Wissens mehrere Experten"; HNIVerlagschriftenreihe,
ISBN 3931466469 (1998).
[Schiffer 98] Schiffer, S.: "Visuelle Programmierung",
Addison Weslay Longmann Verlag, Bonn, ISBN 382731271x, (1998).
[Schön 83] Schön, D.A.: "The Reflective
Practitioner How professionals think in action"; Basic Books,
Inc., Publishers, New York, ISBN 046506874X, (1983).
[Stahl 93] Stahl, G.: "Interpretation in Design:
The Problem of Tacit and Explicit Understanding in Computer Support of
Cooperative Design"; Ph.D. dissertation. Department of Computer Science.
University of Colorado at Boulder (1993).
[Thies 99a] Thies, S.: "Konstruktion von pluralistischem
Visualisierungswissen"; GIGraphik tag 1999, Rostock (1999).
[Thies 99b] S. Thies; "User Modeling for Critiquing";
Proc. User Modelling UM 99, Canada, Banff (1999).
[Thies 99c] Thies, S.: "Benutzeradaptivität
für Critiquing Systeme", Abis 99, Magdeburg (1999).
[Thies 95] Thies, S.: "Ein benutzeradaptives
Kritiksystem zur Erstellung von BusinessGrafiken, modelliert durch
eine Regelsprache"; Diplomarbeit, Universität Paderborn, FB17,
vorgelegt bei Prof. Dr. Gitta Domik (1995).
[Wason 59] Wason, P. C.: "The Processing of
Positive and Negative Information"; Quarterly Journal of Experimental
Psychology, Number 11, Volume 92, (1959).
|