Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: [xml-dev] [OT] Enhancing the richness of an information system [was: Difference between an extensible versus an evolvable information system?]

From: "Alessandro Triglia" <sandro@------.-->
To: "'Roger L. Costello'" <costello@-----.--->, <xml-dev@-----.---.--->
Date: 6/2/2004 4:22:00 PM
Title: Message



 
Could 
we say that a system is extensible if one or more of its external interfaces 
support the addition of new components - which thus become an integral part of 
the resulting "extended" system?
 

Also, 
could we say that a system is extensible if one or more of its *internal* 
interfaces support the addition of new components or the replacement of a 
component with a new component with an extended interface?
 
In 
both cases, additional entire external interfaces can be made available as the 
result of the extension.
 
I 
still think that "evolvability" has totally different connotations, which relate 
to the ease, cost, and elegance of changes to be made to meet new 
requirements/constraints.  (Whereas "extensibility" would only mean that an 
addition or replacement is possible - i.e., explicitly supported by some 
interface - and can be safely ignored by the user.)
 
(Which 
means that one can have evolution with or without extension - in many 
cases, breaking extensibility.)
 
(Or 
vice versa.  Say, adding a second keyboard to my PC may or may not be 
considered as "evolution" of my PC.)
 
Alessandro Triglia
 

  
  -----Original Message-----
From: Roger L. 
  Costello [mailto:costello@m...] 
Sent: Wednesday, June 02, 2004 
  11:32
To: xml-dev@l...
Subject: [xml-dev] [OT] 
  Enhancing the richness of an information system [was: Difference between an 
  extensible versus an evolvable information system?]


  
  Hi 
  Folks,
   
  Many thanks to those who responded to my last message.  
  This message is a follow-up.  
   
  From the responses it is evident that the difference between 
  "extensibility" and "evolution" can be slippery.  I like the distinction 
  that Ken Laskey gave:
   
  "To 
  be extensible allows you to do things for which you have a current 
  understanding but to do it over a wider range of instances."  (Thus, 
  adding new keywords, or adding new book categories are examples of 
  extending the system, not evolving the system)
  
"To show 
  evolution, you need to do something in a new way or do something you hadn't 
  done before."
   
  In 
  the following discussion I will use the terms "extensibility" and 
  "evolution" using these definitions.
   
  
  I would like to hear your 
  thoughts on ways to enhance the richness of an information 
  system.
   I see two ways of 
  enhancing the richness of an information system:
   
  1. Horizontal 
  Extension
  2. Vertical 
  Evolution
   
  Below I explain what I 
  mean by these terms.
   
  Horizontal 
  Extension
   
  A typical method of 
  growing a system is to "add more stuff".  For example, Amazon can grow by 
  adding more ways for users to locate information: 
      - add 
  a keyword search capability, 
      - add 
  a way to locate information based upon book category, 
      - add 
  a way to locate information based upon author name, 
      - 
  etc.  
   
  By "adding more stuff" 
  Amazon has extended its "access mechanisms".  The system has 
  expanded horizontally with new access methods.  I refer to this method of 
  enhancing the richness of a system as horizontal 
extension.
   
  Advantages: this method 
  of enhancing the richness of an information system is well understood and is 
  controllable.
   
  Disadvantages: no matter 
  how many ways Amazon provides for accessing information, it will never be 
  enough.  The need for new ways 
  to access information changes as 
  information changes (e.g., new fields of study) and as users change.  (I 
  offer as evidence the constantly changing face of the Amazon web 
  site)
   
  Vertical 
  Evolution
   
  When I was a child I used 
  to enjoy building things with Legos.  Starting from simple Lego building 
  blocks I was able to build up rich structures.  The Lego building block 
  "interface" was fixed (i.e., the blocks snapped together in certain 
  ways).  But that simple interface was sufficient to enable creation of 
  tremendously rich structures.  The richness of the structures was 
  limited only by my imagination.
   
  Analogously, a 
  method for enhancing the richness of a system is to "build up" the system 
  from building blocks.  The system is thus designed to support 
  different mechanisms for "connecting" the pieces.  After 
  launching the system, the ways that the system changes is dictated by how the 
  users connect the pieces together.  
   
  For example, 
  suppose that Amazon provides a "related to" mechanism for connecting 
  information.  Further, suppose that Amazon does not have a keyword search 
  capability.  The system could "evolve" to support keyword searches by 
  using the "related to" mechanism:
   
  
  XSLT 
  --------------------> XSLT: Programmer's Reference by Michael 
  Kay
               
  "related-to"
   
  "XSLT" is a 
  user-defined keyword.
  "XSLT: 
  Programmer's Reference by Michael Kay" is a basic information building block 
  within the Amazon system.
   
  It is important to 
  note that no new functionality was introduced.  Existing functionality 
  was utilized to enhance the richness of the system.  That is, the 
  "related to" connection mechanism was used to create the keyword search 
  mechanism.  I refer to this method of enhancing the richness of a system 
  as vertical evolution.
   
  Advantages: the 
  system is able to quickly respond/adapt to user needs.  In fact, it is 
  the users that evolve the system!  The system simply provides the 
  mechanisms for the user to "snap together the building 
  blocks".  
   
  Disadvantages: it is important that the system provide guides to ensure 
  that evolution occurs in a useful direction.  (The system guides, but does not control the 
  evolution)
   
  What are your thoughts on this?  
  /Roger


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent