[
Lists Home |
Date Index |
Thread Index
]
- To: <xml-dev@lists.xml.org>
- Subject: Why is it important to distinguish between an extensible versus evolvable information system?
- From: "Roger L. Costello" <costello@mitre.org>
- Date: Wed, 2 Jun 2004 14:40:40 -0400
- Importance: Normal
Title: Message
Hi
Folks,
Again, many thanks
for all the excellent responses.
Kremena Gotcheva asked a particularly pertinent
question: "Why do I ask [about the distinction between extensible versus
evolvable]?"
There has been a lot of excellent
discussion on what the terms "extensible" and "evolvable" mean. I do
not think that it is important to get hung up on the terms. I would like
to choose a definition and move
forward.
The central issue, I believe, is this: "does an
information system provide support for accessing and using information in ways
that were never anticipated by the system designers?" To my mind, a system
which can dynamically change to meet new "information access paths" is an
evolvable system. This is the kind of system that I
want.
Let me contrast the
differences:
Extensible
System
System A provides support for keyword searches.
It also provides support for users to add a new keyword (and map the new keyword
to the system's information). It doesn't really matter what we call it,
but just for discussion purposes I will call a system that supports
the ability of users to add new keywords to an existing keyword search
capability an "extensible system".
The ability of users to add new keywords to an
existing, system-designed keyword search capability is a good and useful
feature of the system. But it is not the dynamic, adaptative,
evolving capability that I am seeking to
identify.
Evolvable
System
System B does not provide support for keyword
searches. The system is primitive. It just provides information (the
building blocks) and mechanisms to connect/aggregate the information (mechanims
for snapping the building blocks together).
One mechanism that system B provides is the
"related to" mechanism. With this mechanism users build a keyword search
capability. Thus, through user interactions the system has changed -
it now has support for keyword searches. Further, the users may use the
"related to" mechanism to create other search capabilities, such as category
searches. Thus, with basic building blocks rich, complex search
capabilities are created.
Again, it doesn't really matter what we call it,
but just for discussion purposes I will call a system that supports
the ability of users to create totally new search
capabilities an "evolvable
system".
The ability of a system to
dynamically adapt and evolve to support capabilities that were never imagined by
the system designers ... ah, now that's what I want out of a
system!
So, why do I ask [about the distinction
between extensible versus evolvable]? Answer: I want us to (colllectively)
identify the fundamental differences and characteristics of an extensible system
versus an evolvable system.
Comments?
/Roger
|