SRED 1998 technical audit
SRED 1998 technical audit
Resolved
========
Technological Framework
-----------------------
Which technological framework to employ in the creation of the Idea
Engine was a technological uncertainty given that no publicly
documented efforts seem to exist which specifically support the
evolution (through human agency) of ideas richly represented in a
computer system. Analysis was conducted to identify the combination
of technologies most appropriate to the task. It was concluded that
knowledge representation implemented on top of an object oriented
three-tier foundation had the desired characteristics.
Distributed Knowledge Architecture
----------------------------------
How do we create a distributed system where the knowledge survives and
remains accessible even when the server it is on goes out of service?
How do we create a system where the load on servers containing core
system ontologies is not excessive? How do we also preserve the
objective of all the knowledge still being modifiable (versionable)?
How do we ensure that as the load on a particular knowledge base
increases, there is way for other knowledge servers to mirror and
carry some of that load? How do we do this transparently to the user?
How do we do this while still making versioning possible?
We have had some partial success in this area, that is, we have a
design for a Knowledge Name System which protects the portability of
frames across knowledge servers, and which seems likely to support the
scalability objectives outlined above. This design has not yet been
fully implemented, so design verification and performance testing have
not yet been done.
Foundational Ontologies
-----------------------
The Idea Engine essentially amounts to a new web content development
environment which is knowledge based and -- uniquely -- facilitates
the rapid evolution of that content. To be able to test the
suitability of the various design options which we experimentally
explore, it is necessary for there to be a number of 'applications' of
the TIE technology that testers can actually do interesting things
with. We have created several such applications, each of which
consists of both ontologies as well as some application-specific user
interface code.
In fiscal 1998 such work was focused on creating the so-called "Ground
KBs" and "TIE Core KBs" which are, respectively, the knowledge bases
(KBs) which are the ontological foundations for knowledge
representation itself and for the most fundamental aspects of the Idea
Engine: criteria and evaluations. The application- or domain-specific
ontological work we did in fiscal 1998 included an early version of a
project management ontology for managing the development of the
software itself. There were also a number of "toy" ontologies
including one for evaluating job candidates.
In fiscal 1999 we created a number of groupware applications for the
purposes both of challenging our knowledge representation technology
and for the purposes of providing testers with useful test
environments. These are not polished applications which are products
in their own right, they are applications of the technology which are
in some cases useful, precisely so that the interest and time of test
users can be harnessed. Given that the Idea Engine solicits high
order mental functioning from its users (discriminating subtle
distinctions, introspecting to make fine grained evalations, etc.), it
requires testers to be actively interested in using its applications.
Prospecto
A business prospect evaluation system and communication tracker
GroupsMarks
A facility for group management and evaluation of bookmarks to
webpages
MovieLines
Collect, explore, evaluate and find great movie lines
TheNameGame
A tool for choosing a name for something
Unresolved
==========
Ontology of Criteria, Evaluations, WorldViews and Depictions
------------------------------------------------------------
The literature does not reveal any existing set of ontologies for
criteria, evaluations, versions, worldviews or depictions. The task
here is to use both analysis and prototyping to develop explicit,
logical, ultimately 'deep' definitions of these concepts in the form
of frames in a knowledge representation system. The constraints which
provide the fitness tests for this effort include:
1) they must be mutually consistent
2) they must be capable of being efficiently indexed for
performance purposes
3) they must be supportive of the successively more refined understandings
we develop of how these entities all work.
At this stage we have come up with preliminary versions of Criterion,
and Evaluation and some support frames associated with them.
Conceptual, Perceptual and Procedural Requirements
--------------------------------------------------
How do we make a user interface which is capable of letting people
understand that they are navigating a multidimensional
evaluation-space? How do we make a user interface which lets people
remain oriented in a multidimensional evaluation-space? How do we
make a user interface which reduces to a minimum the burden of
evaluation entry and criteria and worldview creation. These questions
are being addressed through a combination of analysis of analogous
software and processes (to the extent that they can be found) and the
experimental testing of prototypes by groups of test users.
Taxonomy of Criteria
--------------------
The criteria used to apply evolutionary pressure on entities of
various classes may conform to a discoverable order or at least be
usefully described by some taxonomy. The benefit of discovering (or
devising) such an order is that there is considerable opportunity for
reuse of the sets of juxtaposed criteria which we call WorldViews.
These WorldViews (e.g. Fiscal Conservative, Shaman, Civil Libertarian)
are reusable abstract vantages which can be applied to arbitrary
topics so long as such a taxonomy of reusable criteria is available.
Ideally, we seek a means of representing this taxonomy which is
capable of diverse human natural languages. Disciplines which are
being mined by us for useful insights include: lexicographic research
into synonym sets (ala WordNet), library science, linguistics and
various multidiciplinary resources such as the excellent "Encyclopedia
of World Problems and Human Potential".
Mapping Conceptual Domains onto Graphical Representations
---------------------------------------------------------
How to graphically portray a collection of entities (say, job
candidates, items on a to-do list, tasks in a project, steps in a
chemical synthesis, or virtually any other set of things) depends on
what kinds of relations (if any) exist between them and what
information about the thing needs to be depicted for the item to be
identifiable and for the presentation to be informative. So between
the space of conceptual domains and the space of graphical (or even
textual) representations is a space of 'deep structures' onto which
conceptual domains may be mapped and which itself can be mapped onto
the space of graphical representations (such as ball-and-stick graphs,
line graphs, histograms and other business graphics, surface plots and
other scientific graphics, and so on).
The most elementary examples of these deep structures are simply set
theoretic and graph theoretic categories such as set, list, connected
graph, directed graph, tree and so on. More sophisticated structures
include state transition models and other abstractions even closer to
the conceptual domains themselves such as PERT models. So our task is
to ontologize not only some of these conceptual domains but also their
deep structures and then develop ontologies to organize the graphical
representations. This effort is being approached via domain analysis;
a search for organizing abstractions and experimental ontologizing and
programming with testing through the use of prototypes and volunteer
users.
Criteria and Evaluation Visualization
-------------------------------------
The task here is to create a general purpose, extensible architecture
for the presentation of criteria and evaluation information where the
criteria have differing rating systems associated with them and
consequently the evaluations themselves are of nearly every
conceivable data type. In short, we need to devise a system which not
only is capable of graphically representing essentially any kind of
data about any kind of thing, but also
- is highly configurable by the user
- permits the saving of such depictions either with or without
the context of the particular data being displayed
- exposes these depictions to evaluation
- permits the selection of these depictions according to
user selectable criteria
Some determinations which need to be made:
1) Which kinds of data can be meaningfully mapped onto which
graphical elements?
e.g. small integers -> sides of shapes
values between 0 and 1 -> graylevels
small controlled vocabularies -> icons
2) What is an object architecture suitable for mannaging such a
system.
3) What is an ontology suitable for representing all of the
entities described above and their interactions.
4) Which of the above tasks are best handled as knowledge (for
flexibility and runtime extensibility) and which are best handled
using object oriented coding practices (for performance and power).
|