Document 11080414

advertisement
HD28
.M414
^1
ALFRED
P.
WORKING PAPER
SLOAN SCHOOL OF MANAGEMENT
are Semistructured Objects?
Semiformal Structure to Hypertext
What Good
Adding
Thomas W. Malone*
Keh-ChiangYu**
Jintae Lee*
SSM WP#3064-89-MS
June, 1989
MASSACHUSETTS
INSTITUTE OF TECHNOLOGY
50 MEMORIAL DRIVE
CAMBRIDGE, MASSACHUSETTS 02139
What Good
Adding
are Semistructured Objects?
Semiformal Structure to Hypertext
Thomas W. Malone*
Keh-ChiangYu**
Jintae Lee*
SSM WP#3064-89-MS
June, 1989
•Massachusetts Institute of Technology, Sloan School of Management
**University of Kansas
OCT
A 10^9
What Good Are Semistructured Objects?
Adding Semiformal Structure to Hypertext
Thomas W. Malone, Keh-Chiang Yu,
Jintae Lee
Massachusetts Institute ofTechnology
Conventional hypertext consists primarily of nodes containing unstructured text or graphics and links
between these nodes (see reviews by Halasz, 1988; and Conklin, 1987).
these systems
is
represented informally
(e.g.,
Thus most information
in
as unstructured text or graphics) for processing by
humans. The links provide only a small amount of formal structure
for
automatic processing, but the
current interest in hypertext suggests how powerful even this small amount of structure can be.
At the other end of the spectrum are conventional knowledge-based systems where
is
all
the knowledge
represented formally (using structures such as frame inheritance networks and production rules) for
These systems provide quite powerful
automatic processing by the systems.
reasoning, but encoding
many
&
Yu, 1988; Conklin
& Begeman,
It is
only very recently that a few
1988, Fikes, 1988, Harp, 1988)
systems
(e.g.,
begun
experiment with the semiformal middle ground between these two extremes.
to
In this paper,
Lai,
automatic
kinds of knowledge using their rigid formal representations requires
significant- -and often completely infeasible-amounts of effort.
Malone
tools for
we are concerned with two
questions:
structure provide for hypertext users? and
complexity for users'' Our answer.-,
to these
(2)
(1)
What
benefits
(if
have
any) can additional semantic
Are these benefits worth
their cost in additional
question are derived primarily from our early experience
with the Object Lens system, a general tool for cooperative work and information management (Lai,
Malone &Yu,
1988).
to the first question,
we
will
provide significant benefits for
(a)
summarizing the contents of objects and
In
answer
conclude that adding semantic structure to hj'pertext nodes can
their relationships,
and
(b)
automatically searching and manipulating collections of objects. In particular, the Object Lens system
illustrates the surprising usefulness of customizable folders for
rule-based agents for manipulating them.
summarizing
collections of objects
and
We
conclude that the additional complexity required
will also
is "soft"
the structure in the objects
are incremental
(i
e
,
users
who
e
the objects are semi-structured),
,
don't use
them
don't need to
(b)
reduced when
(a)
the additional features
know about them), and
(c)
the primitives
an appropriate level of abstraction
for these additional features are at
We
(i
for these benefits is
believe these properties characterize
many
the paper briefiy defines such systems and
successful semiformal systems, and the final section of
summarizes principles
for their design
OVERVIEW OF OBJECT LENS
Object Lens
Goldstein
&
intended to be a general tool for cooperative work and information
is
Bobrow, 1987; diSessa, 1985). One of its key goals
create and modify their
own
is,
unsophisticated computer users
problem
defining a set of primitives at the "right" level,
is
not so low-level that they require significant effort to do anything useful, nor so high-level that
they require significant modification whenever the users' needs change (see diSessa, 1986).
case of Object Lens,
folders,
(Lai,
(cf,
applications without requiring the intervention of a skilled programmer.
In designing such a general tool, a critical
that
is to let
managment
and
the following key primitives: (1) semistructured objects, (2) customizable
semiautonomous agents. Much more
(3)
Malone,
we chose
&
Yu, 1988)
Semistructured objects.
In the
detail about the Object
Lens system
is
given by
Here we provide only a brief summary
By defining and modifying templates
for various
semistructured objects,
Object Lens users can represent mfdimalion about people, tasks, products, messages, meetings,
companies and many other kinds
people and their computers.
sense that
(
1
)
of information in a
form that can be processed intelligently by both
The system provides an
interface to an object-oriented database in the
each object includes a collection of fields and
actions that can be performed upon
it,
and
(3)
field values, (2)
the objects are arranged in a hierarchy of increasingly
specialized types with each object type "inheriting" fields, actions,
"parents"
fill
in as
(e.g.,
much
see Stefik
&
each object type has a set of
and other properties from
Bobrow, 1986). The objects are semistructured
or as little information in different fields as they desire
not necessarily of any specific type (c g
.
it
may
in the
its
sense that users can
and the information
in a field is
be free text, a link to another object, or a combination
of text and links).
Users can see and change individual objects, object type definitions, and object
display formats through a particularly natural form of template-based user interface.
These
templates can also contain editable embedded objects.
Customizable folders. By collecting objects
displays that
summarize
in
customizable folders, users can easily create their own
selected information from the objects in table or tree formats. For instance,
they can select certain fields to be displayed in a table with each row representing an object in the
folder
and each column representing a
field.
They can
also select fields from which the links between
objects will be used to create a tree (or graph) display with each object represented as a node in the tree
and each link
in the selected field represented as a line
Semiautonomous
agents.
between nodes.
By creating semiautonomous agents, users can
specify
rules
for
automatically processing the information in objects in different ways at difi"erent times. Agents can be
triggered by events such as the arrival of new mail, the appearance of a
the arrival of a pre-specified time, or an explicit selection by the user.
applies a set of rules to a specified collection of objects.
A
new object
When
in a specified folder,
an agent
is
triggered
it
rule contains a description of objects to which
the rule will apply and an action to be performed on objects which satisfy the description. Descriptions
are partially filled in templates specifying the values required in particular fields
descriptions can be used to specify prop>erties of objects to which the original object
is
Embedded
linked. Actions
can be general actions such as retrieving, classifying, mailing, and deleting objects or object-specific
actions such as loading files or adding events to a calendar.
We call
a
these agents "semiautonomous" because they can take actions without the explicit attention of
human
easily see
user, but they do not try to solve entire problems by themselves
and change their processing
Status of the system.
demonstration system;
implemented
rules.
The current version
it is
in Interlisp-D
and human users and can
of Object Lens
is
intended as a "proof of concept"
not engineered for regular use by large groups of people. This version
on Xerox 1100 series workstations connected by an Ethernet.
It
is
makes
heavy use of the object-oriented programming environment provided by Loops and the built-in
te.xt
As
editor, Tedil
group
for
of this writing, the
almost one year, and several other people have used
An example: Representing the
To
system has been used regularly by three people
illustrate
it
in
our research
regularly for shorter periods
structure of arguments
the benefits of adding semistructured objects to hypertext,
we
will
describe an
increasingly powerful series of sample applications in Objects Lens, each adding a class of benefits not
present in the ones before.
sample applications are designed
All these
manipulate the structure of arguments.
and against each one, and the rationale
help
make
program
is
help people represent and
For instance, a team of programmers designing a new
computer system might use such applications
for
to
to
represent alternative design choices, the arguments
for the choices finally
made. The application could thus
the decision originally and store the decision rationale for later reference, such as
when
the
being modified
A number of systems
& Begeman,
have been built or proposed
to
provide this general kind of functionality [Conklin
1988, Stefik, Foster, Bobrow, Kahn, Lanning,
et al, 1987; Lee, 1989).
Our examples
will be
& Suchman,
1987; Lowe, 1986. Smolensky
modeled primarily on the gIBIS system, since
it
is
a
recent and appealingly simple example of this class of systems.
Our primary purpose here
how
easily
many
is
not to extend the state of the art in argumentation systems, but to
of these capabilities can be
includes semistructured oiijeci^
implemented
special
in
In
all
implemented
but the very
in a general
last
framework
show
like ours that
examples, these capabilities can be
Object Lens b\ knowledgeable end users in a matter of minutes or hours, with no
programming required
F'or
example, our
first
implementation of most of these capabilities
required less than two hours and used only the features of our system that are exposed to
non-programming
users.
Stepl: "Simple "hypertext
Figure
1
shows an example of how a "simple" hypertext system might support our argumentation
application. This
example
links between nodes
is
from the Object Lens system, but
Note that
is
it
uses only unstructured text nodes and
entirely up to you, the user of this system, to structure the
information in the node and to put in the proper links
will use
it
(In this
example, and throughout the paper, we
"you" to refer to users when that simplifies the explanation of system features.)
Step 2: Creating individual nodes
The next step
our series
is to
create semistructured object types that are appropriate for our
For instance, the gIBIS system has three types of nodes:
application.
issue),
in
and Arguments (which support or object
to positions).
supports one position and objects to another one.
positions to
which
to", respectively).
for that field.
and
if
it
Issues, Positions (about
Figure 2 shows an argument node that
The relationships between
this
node and the
refers are represented by links in the appropriate fields ("Supports"
When users click
on a
field
it is
and "Objects
name, a menu pops up containing suggested alternatives
For instance, when you click on the Keyword
they select one,
an
field a list of
suggested keywords appears
automatically inserted in the field
To define the new node types
(Issue, Position,
instance, you can create the
new node types as
and Argument), you specialize existing object types. For
specializations of
Thing
To do
this,
you select the
"Create Subtype" action on the type derinition for Thing and then use the "Add Field" action on the
new
type to add the
not in Thing.
field (that
new
fields
(eg, Supports, Objects
to,
and Author) that are present
In this case, the user also used the "Edit Field
was inherited from Thing)
to be "Subject".
Names"
action to
list
of alternatives for a field, or to specify a folder
be displayed as the alternatives.
rename the "Name"
To change the alternatives that are suggested by
the pop-up alternatives menu, you can use the "Edit Alternatives" action.
either directly edit a
in this type, but
This action allows you
whose contents
to
at run-time will
At
this point, the
system helps you create nodes with appropriate
fields
and alternatives, but
doesn't
it
help you view the structure of the argument as a whole.
Step 3: Summarizing the contents and relationships in groups of objects
The next
step
The
folders.
is to
add ways of displaying the overall structure of the argument using customizable
original gIBIS system has a graphical browser that
shows a tree format display of the
nodes in the argument, and Figure 3(a) shows a similar display from Object Lens
To create such
a display in Object Lens,
you can simply put
into a folder, select the "tree" display format for the folder,
shown
Objects
For instance,
in the tree
to,
shown with
and Responds
in
Figure
As the
to fields.
if
you
specializations are Issue, Position, and
children
It is also
to be
to display the
in the table (see
to select objects
Figure 4 selects
At
and
select
which links you want
to
have
figure shows, links from each of these different fields
first
(Note:
It is
more convenient
all
to specify the
say "gIBIS Node," whose
create an abstract type,
Argument, and which contains
is
the fields contained in any of
)
easy
shown
the nodes you wish to have displayed
the user chose to display links from the Supports,
a different kind of line (eg., solid, dashed, etc.)
display format for this folder
its
3(a),
all
same nodes
Figure
3(b)).
from another folder
ail
in a table
to
format display, selecting whichever
fields
you wish
Figure 4 shows an additional feature of folders: the ability
be inserted into this one.
For instance, the selection rule in
the coiinlfrargunicnls to a specific position.
this point in the
example, the system has most of the basic user interface functionality of the
original gIBIS system.
(Unlike the original glBlS system, however,
connections to a remote database server, nor have
used reliably by a large group of people.)
we hardened the system
we have
not implemented
to the point
where
it
can be
Step 4: Automatically selecting and manipulating objects
The
last step in
our example
is
to
add intelligent agents
to
help search and modify the network of
For instance, Figure 5 shows an agent like one you might use
nodes.
add arguments that support positions you have entered. This agent
new
objects are
agent uses
added
to the folder
to select the
group
people
(i.e.,
selects
to specify structural queries that
arguments that object
who have a
information from throughout a
triggered automatically
when
specific person's positions. This rule illustrates
to positions
specific supervisor).
user's
how
depend on the link structure
in
Figure 7 shows another (multiply
the network as well as on the contents of intividual nodes.
embedded) rule that
you whenever people
containing the discussion of interest. Figure 6 shows the rule this
arguments that support a
embedded descriptions can be used
is
to notify
authored by people in a particular
This rule illustrates how queries can use
knowledge base (such as knowledge about people and their
supervisors).
Other applications
In addition to the argumentation example,
number
of other sample applications (e.g., see Lai,
applications
(e.g.,
we have used
we implemented
Malone
the Object Lens system to
&
Yu, 1988)
For instance, one of the
a
first
did local mail sorting like that done by the Information Lens system
see Malone, Grant, Turbak, Brobst,
&
Cohen, 1987). To do
this,
we simply defined various kinds
of messages as object types, created agents that were triggered by the arrival of
We
specified rules to
move new messages
applications to
support bug tracking in our research group,
(a)
implement
into folders
research center track sponsors and projects, and
(c)
new
mail, and
have also recently developed demonstration
(b)
help the administrative director of a
serve as a personal to-do
list.
BENEFITS OF SEMISTRUCTURED OBJECTS
Now
that
we have seen examples of how end users can create powerful applications using
semistructured objects and the other primitives provided by Object Lens, this section will analyze
more
detail the benefits this additional structure provides.
in
More powerful
The
tools for creating
and acting upon individual objects
When
the system
can suggest appropriate actions for different types of objects
at different
benefits of structure for manipulating individual objects are mostly obvious:
knows
the type of an object,
times.
it
For instance, message objects that have just been composed can be Sent, and message objects
received from elsewhere can be
Answered or Forwarded. Semistructured
objects can also help you
create consistently structured nodes without having to retype or explicitly copy information from
previous nodes. All
format, and
Argument nodes
in
Object Lens, for example, contain the same fields in the
when you create them you can
sense in each
get consistent guidance about
same
what alternatives make
field.
Powerful tools for summarizing the contents of objects and their relationships
The
fact that the
system "understands" something about the structure of nodes and the meaning of
text or links in different fields allows the system to create
much more
useful
summaries of the nodes
in
a folder than would otherwise be possible.
General display formats: Table and
Two
tree
display formats for folders, tables and tree, are useful for a wide range of object types and
relationships
objects.
The
For instance, Figures 8(a) and 8(b) show two examples of folders containing task
first
folder
summarizes the due
table format, the second folder
resembles a
important
PERT
shows
a tree
dates, status, and responsible person for each task in a
format display of the same objects
chart that summarizes the prerequisite relationships
to realize that users
can create displays like this
only need to define the task object with
and tree formats, and
its
for
shown
in the folders.
create and place in the folders will be displayed appropriately
among
the tasks.
It
is
themselves. In this case, they would
appropriate fields (as in Figure
select the fields to be
In this case, the display
9),
create folders with table
Then any task instances the users
Specialized display formats: Calendar
Most of our work so
far has used
two display formats for
tables and trees. These formats are
folders:
applicable to a very wide range of object types and relationships.
more specialized
It is
folder display formats for special kinds of objects.
specialized display format called "Calendar."
also possible, however, to create
For instance. Figure 10 shows a
The calendar format
used to diplay objects of type
is
"Event." All Events (including specializations such as Meeting and Seminar), contain fields called
"Date," "Start time," and "End time
event
to locate the
(Figure 10(b)).
in the
"
When
events are displayed in a calendar, these fields are used
proper day of a month (Figure 10(a)) and at the proper time within a day
Users can select a month display
like that in
Figure 10(a); they can click on one day
within the month display to bring up a day folder like that in Figure 10(b); and
if
they display an event
within the day folder, the event itself is shown as in Figure 10(c).
Automatic agents for searching and manipulating networks
In addition to
to
summarizing the contents of semistructured
objects, the
system can use their structure
perform even more powerful automatic actions such as searching and restructuring
Lens system uses rule-based agents
to
perform these automatic actions
shows an agent that maintains a folder of "Overdue Tasks."
The Object
For example. Figure 11
Every night at midnight,
this agent is
automatically triggered and searches the "*A11 Tasks" folder, a system-maintained folder that
contains
passed,
it
all
move? them
into the
Overdue Tasks
specified criteria.
and
to
automatically maintain folders according to
But other kinds of actions can be defined as
implementing several new types of actions
argumentation networks
that
the agent finds tasks whose due date has
folder.
In general, agents can be used to retrieve objects
in
When
task objects in the local workstation
we created new types
like the
one
in
of nodes called
to help
well.
For example we are currently
provide facilities for automatic truth maintenance
our example above (see Lee, 1989). Imagine, for instance,
"Assumptions" with links
to the
arguments that depend on
them. Then, agents could look for assumptions whose truth value had changed, and ujxlate the truth
values of the arguments and positions that depend on these assumptions.
10
LESSONS
In designing
and using the Object Lens system we have been struck with two kinds of lessons about
The
semistructured objects.
involves
how
first
involves the nature of semiformal systems in general, the second
"soft" the object type definitions should be.
Semiformal systems
Elsewhere
it
(Lai,
Malone,
&
Yu, 1988), we defined a semiformal system as having three properties:
represents and automatically processes certain information in formally specified ways,
make
represents and
it
easy for
formally specified; and
(3)
it
humans
to
process the
or other information in
understand enough about a situation
to
Semiformal systems are most useful when we
We believe that this characterizes a
of the situations in which computers are likely to be used, both
this definition, hypertext
to
hypertext
overwhelming
it
ways that are not
formalize in a computer system some, but not
to acting in that situation.
By
(2)
allows the boundary between formal processing by computers and
informal procesing by people to be easily changed.
knowledge relevant
same
(1)
now and
in
either
the
losing
of the
very large number
the future.
systems are clearly semiformal systems. In order
systems without
all,
advantages of their
to
add more structure
semiformal
their users with excessive complexity, our experience with the Object
nature
or
Lens system (and
our observation of other systems as well) has led us to believe that the following principles are useful:
(1)
The knowledge represented
in the
system
is
exposed
to users in a
way
that
is
both visible and
changeable (cf Turbak, 1986). For example, users of the Object Lens system are able to easily see and
,
change the object types and processing rules included
in the
system.
There are successive layers of exposure of features
in the
system, and people can use features at one
(2)
level without
needing
to
know about deeper (and more complex)
levels
For instance, some Object
Lens users can create and edit instances of predefined object types and display them in predefined
folders without ever
knowing how
to define
new
object types, folders, or agents.
11
(3)
The primitives
know what
system are at an appropriate
of the
the "right" level of abstraction really
As we saw
desirable properties in this regard
level of abstraction. It
would use anyway
of course, difTicult to
but the primitives in Object Lens appear to have
is,
in the
examples,
created without excessive effort, and the customizations that users
of abstraction they
is,
many
useful applications can be
make seem
close to the
same
level
thinking about their task domain.
in
How "soft" should the structured objects be?
We
anticipated in our original design of the Object Lens system that the structure in objects should be
any combination of text or links
"soft" in the sense that fields could contain
softness allows the advantages of semiformal
accomodated informally without trying
however, by a need
to
systems:
to "defeat" the
to other objects.
This
unexpected situations can be easily
system's restrictions.
We
were surprised,
have objects that were--paradoxically-both "harder" and "softer" than we had
originally intended
"Softer" types.
Our
initial
the type of an object after
type to be
made by
implementation of the Object Lens system did not allow people
it
had been created, and
editing the type definition
"Change type" action on
all
it
bottom of the pop-up alternatives menu
Add
itself.
to
all
We now
changes
in the properties of
We
an object
believe the system should include a
change their minds after originally creating an
For instance, there should probably be an option at the
change the alternatives.
It
should also probably be possible
Fields to an instance of a type and to save modified instances as definitions of
"Harder" types.
change
should be easier to change object type definitions without
leaving the context of editing an instance.
to
required
objects to allow users to
More importantly, we believe
object.
it
to
we
also believe that object types should be "harder" than
new
types.
originally intended, in
the sense that they should specify (but not rigidly enforce) expectations about the type of objects to be
inserted in specific fields.
Having the system know what
allows the system to do useful things such as;
you try
to
put an unexpected type in a
field),
(1)
and
t.vpes of objects
"soft" type
(2)
checking
are expected in each field
(i.e.,
give you a warning
when
suggesting the type of object to be inserted in a
12
*l
field (for
example, the type of embedded description
to
be inserted in a rule like that shown in Figure
6).
Conclusions
We
have seen
in this
paper how traditional hypertext and traditional knowledge-based systems
lie
near opposite ends of a continuum that measures the amount of formal structure and automatic
processing embedded in the system.
We
have also seen how moving toward the structured end of this
continuum can provide significant additional benefits
to
hypertext users.
In particular, adding
customizable folders provides powerful ways of summarizing collections of objects and adding
rule-based agents provides j>owerful automatic tools for searching and manipulating collections of
objects.
Much
of the usefulness of these
nature allows users
when
to
systems appears
have the best of both worlds:
to
come from the
fact that their
semiformal
formal representation for automatic processing
appropriate, and informal representations for processing by people otherwise.
13
REFERENCES
Conklin,
J. (1987).
Conklin,
J.
Hypertext:
diSessa, A.
(1985).
Computer Interaction,
A &
L.
A
1
,
(1986, September).
I.
hypertext tool for exploratory
Human-
August
D.
Programming Environments,
A
reconstructable computational medium.
Integrating hypertext and frame-based domain models.
23).
& Bobrow,
Boxer:
29, 859-868.
Workshop on AI and Hypertext,
Goldstein,
A
1-47.
Abelson, H.
(1988,
gIBIS:
principled design for an integrated computational environment.
Communications of the ACM,
Fikes, R.
(1988, September 26-28)
Computer, 20(9), 17-41.
ACM Transactions on Office Information Systems, 6, 303-331.
policy discussion
diSessa,
M
& Begeman,
A survey and introduction. IEEE
St.
AAAI
1988
Paul, Minnesota.
(1987).
A
layered approach to software design.
D. Barstow, H. Shrobe, and E. Sandewall, Eds.
In Interactive
McGraw-Hill,
New
York, pp. 387-413.
Halasz, F. G.
(1988, July) Reflections on notecards:
Seven Issues
for the next generation of
hypermedia systems. Communications of the ACM, 3, 836-852
Harp, B.
(1988,
August
structure on notes.
Position paper:
Facilitating intelligent handling by imposing
AAAI 1988 Workshop on Aland Hypertext,
Lai, K. Y., Malone, T.
work
23).
W. & Yu, K
C.
St.
some
Paul, Minnesota
(1988, October). Object Lens:
ACM Transactions on Office Information Systems, 6, 332-353.
A
'spreadsheet' for cooperative
14
DLL
(1989)
Lee, J
(Decision Representation Language) and
support environment.
its
Massachusetts Institute of Technology, Artificial Intelligence Laboratory, Working Paper #325
Lowe,
D
(1984, February). Co-operative structuring of information:
The representation of reasoning
and debate. InternationalJouranl of Man-Machine Studies, 23(1), 112-125.
Malone,
T. W.,
Grant,
K
Turbak,
R.,
F. A., Brobst,
information sharing systems. Communications of the
Smolensky,
Computer Science and
Stefik,
M &
Magazine,
Stefik, M.,
(1987).
P., et. al.
S
ACM, 30,
Cohen,
M
D
(1987).
(1986).
Intelligent
390-402.
Constraint-based hypertext for argumentation.
Linguistics, University of Colorado
Bobrow, D.
A &
Department of
Working Paper #CU-CS-358-87.
Object-oriented programming:
Themes and
variations.
AI
6(A), 40-62.
Foster, G.,
Bobrow, D.
G.,
Khan,
K.,
Lanning,
S.
& Suchman,
L
(1987)
Beyond the
chalkboard: Computer support for collaboration and problem solving in meetings. Communications
of the
ACM. 30.
Turbak,
32-47.
F. A.
Unpublished
(1986).
M
S.
Grasp;
thesis,
a visible
Department
Massachusetts Institute of Technology.
and manipulable model
of Electrical
for procedural
programs.
Engineering and Computer Science,
1
Move
Add Link
Choice
Programming
Language
FOLDER:
Selection
Close
Delete Selection
^Others
Supports
Responds To
Objects
Tc
fpTj SITIOri'
lL*t' JtJJeC
\\
ISSUE'
—OSITIOri———^—^—Ll
Which ianqu3q<
LiiFr
u:re
lijQOO int^rfjice with
»|
*
y
1
F
Let'.-
/
JJiiF,C-Uf..ierjT'
irJu mheritaiMi.
\
I
j
\'
I
-F,C.Mf,,iErjT'
TTTTTTyi
I
I
I
M ITTTTrPTTTTTrm
I
I
I
I
II
I
I
J
Pro V 1.3 1:-- Oyngmic classej
rTTTrTTTTTTTTTTTTTTTm
M
II
rPTTTTTTTTTTTTT
(a)
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
1
1
1
1
1
1
1
1
'
ij Ij 1
ec
(b)
I
I
I
I
I
I
M
I
I
rrrTTTTTfTTTT'
l^ri^^MiUyb^U.iiA.U>
Others*
Add Link
tff.^
Author
Date
t
Which lariguage?
Let's use LISP
Provides dynamic class
Let's use C
Good interface with X
No inheritance
I
'
FOLDER: Programming LanguagffCholce
•
I
1
Delete Selection
Display
Close
I
Tree format display
'
1
I
1-May-S9
1-May-S9
3-May-39
2-May-39
2-May-59
1-May-S9
2 5
24:02
M
23
23
23
23
23
24 32
24; 02
J ij
:
24:02
24 02
24 02
:
:
1
r
t"i
f"i r^i
ae 1
Mc
Meeker
nes
15 1 ri
David Rosenfield
&eth Ritchie
Susan Klein
John McGinnes
Table format display
Figure 3.
Customizable folders can summarize the contents of objects
easilv tailorable bv users
in a variety of
formats
)7
'
'
*---"-'
iii.iiiii.il
I
•
I
,.
I
......
.•.,•.•,,,•,•,,,'.
•.'.
Plesie lelect obiect (or its link)
Delete Selection
Display
Close
Add Link
Others*
FOLDER: Counter Arguments
Date
Sub.iect
Author
Provides dynaimc cla 3-May-89 23:24:02
l-May-89 23:24:02
No inheritance
Add Link
Cancel
Close
David Rosenfield
John McGinnes
Apply Rule
Selection Rule
JEFl'
IFOLDE
AddIV to; iProgramminq
Select
Languaq'? Chon:
If:
ARGUMENT
DGS-cnpUon
Dale:
Author.
Supports:
Ot3)€<:t3 To;
POSITION'
Uie C
L-it'f
Key wards:
Comments:
l|
I
I
I
I
I
I
I
I
I
I
I
M
I
I
I
I
I
I
I
I
I
I
I
I
I
I
rrrrm-FmiTTT"iim-r!-i-rm
I
Figure
I
I
I
I
I
I
ITTTTTT"!
M
4.
Folders can use selection rules to select from another folder the objects they will include.
I
I
I
I
I
I
I
I
M
I
I
I
I
\6
^\\\\\\\\\\\\\\\\\\\\^.\\\\\\\.\\\\\\^//t\'ll^'^A^'x\\\\]^\\\..\\\ ^^^|J^J^J^^
Close
Tnqqer Add Link *Others'
Cancel
AGENT: Notify if further argument
Name:
M^
ify
if
furth-er arqurrient.
FOLDEF,
Apply
Alternatives for Automatic
Ne vv Link3
Update
Tnaaera
to:
Pru'qri.nimin;q Ljri'qujiqe Choi:-;
Automatic T riggers:
r
J
e v
Linl- s
FOLDER'
Rule Folder:
1
notify Fuiej
Daily at midnight
Keywords:
hour
On
the
TTTTTTIIIT
rTTTTITTTTTIII IfTTIII
^^^ Comments:
I
I
I
Figures.
Agents can either be triggered manually or automatically under various conditions.
When
triggered, they apply a set of rules to the objects in a folder
19
Close
Cancel
Add Link
Hardcopy
Others*
If:
ARGUMENT
D€s<:ription
Author;
Supports,
POSiJiON DGs-crptton
SubjG<:t;
DatG:
Author; Beth Ritchie
SubjG<:t;
FiGsponds Jo;
Keywords;
CommGnts;
Ob)G<:ls Jo;
Keywords;
CommGnts;
Then:
COPY
FOLDEF,'
To:
Figure
6.
Rules in agents describe the objects to which they will apply and the actions they will take
For example, this rule selects all arguments that support positions authored by a certain person
zo
Cancel
Close
Add Link
RULE:
If:
ARGUf^ENl
DGs-cnplion
SubjG<:t.
DalG.
Author:
Supports:
ObjG-cts To;
POSITION Desc
Hardcopy
Others*
11
Display
Close
Delete Selection
Add
Lin k
*Gthers
FOLDER: Tasks
Sraru:
Due Dare
Name
Select sue
Select architect
Select contractor
Preliminary design
Order materials
Final design
Begin construction
10-Jan-9y
Done
20-Jan-9ei
Overdue*
15-Jan-90
01-Mar-90
30-Mar-90
15-Jun-90
15-Jul-90
Done
Richard Berenson
Elesse Brown
Richard Berenson
Mr
c
h
1 r
ec
t
Maya Bernitein
Architect
Maya Bernstein
(a)
Close
Person Responsible
Table display format
Move
Add Link
Selection Delete Selection
*Others'
FOLDER: PERT chart
Pr erequis
T
A
: y-
iTTTFirijl Oenq
(b)
i
tes
I
}
1
Vrrr
]
Tree display format
Figures.
These
folders display task objects in a table format, highlighting due-dates and responsibilities,
a tree format, highlighting the kind of task dependencies shown in a PERT chart
and
in
2T
March 19o9
Sunday
Monday
Tuesday
Wednesday Thursday
Friday
Saturday
Delete Selection
Display
Close
Add Link
^Others*
FOLDER: 3/24/1989
D.ate
Njfilr
Meet wuh Tom
CS Forum
Lunch wnh Dave
Lens project meeting
3/24
3/24
3/24
3/24
otar
folder
T
1
e
fii
30 WM
11 00 AM
12 15 PM
2:00 PM
f
A day
T
Figure 10(b)
shows the events from one day of a calendar
W
l
f f f f
M
f
I
f
>
TTT^T^FI
I
I
M
I
>
rTTT^TTT^FT'
IS
k******itafe**ri
Cancel
Close
GENT: Overdue
Trigger
Add Link
*Others*
Add Link
Others*
tasks"
Name: Ov erdue
ta sks
IFOLOER: J
to: ^Aii TasKJ
Apply
Automatic T riggers: Daily at midnight
Rule Folder: '""'"
'
Comments:
Close
Display
Delete Selection
FOLDER: Rules
Then
If
Due Date:
<
Today
Copy To; Overdue tasksj
;
Figure
11.
This agent automatically moves overdue tasks
to a special folder
e)
r
6Q
\
Date Due
JUL 19 mi)
m 22
^««
1995?
Lib-26-67
MfT LIRRflRiEs
3
lOfiO
00577702
1
Download