[Home] [By Thread] [By Date] [Recent Entries]


Title: Message
I think that these definitions work well in terms of an interface.  However, if one looks at an implementation X of an interface B, the implementation might be said to 'evolve' if it changes without any change to the interface B.  Such 'evolution' might be to improve performance in some respect, with better algorithms surviving and poorer algorithms being killed off.
 
Chris Angus
-----Original Message-----
From: Alessandro Triglia [mailto:sandro@m...]
Sent: 02 June 2004 15:45
To: 'Bullard, Claude L (Len)'; 'Roger L. Costello'; xml-dev@l...
Subject: RE: [OT] Difference between an extensible versus an evolvable information system?

 
In my opinion, if we refer to interfaces (or languages/syntaxes) rather than, generically, to "information systems", the distinction between evolution and extension becomes clearer and more useful.
 
My concept of "extensible" interface is that the interface supports certain rigorously-defined extensions to it with the following property:
 
------------------
Given:
 
- an implementation that exposes the base (non-extended) interface B;
- an implementation that exposes an extended interface E1;
- an implementation that exposes another extended interface E2,
 
a program written to use interface B is guaranteed to work (as expected) when using any of these three implementations, "thinking" that it is using an implementation of interface B.
------------------
 
The same concept of extensibility would also apply to languages/syntaxes.
 
On the other hand, if an interface or a language "evolves", one cannot expect that the condition above is satisfied (although it could be).
 
In other words, while I expect to be able to use an extended interface as if it were the corresponding base interface, I don't expect to be able to use an evolved interface as if it were the corresponding unevolved interface.  Same thing for a language/syntax.
 
I think "evolvability" in this context means simply that an interface or a language can be modified easily, inexpensively, and nicely, in order to meet new requirements - without implying that a user can ignore that there has been a modification.
 
If we refer to a system, I would say that it is possible for a system to *evolve* while some of its interfaces are simply *extended* (while others evolve).
 
Alessandro Triglia
 

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member