🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sw.components
Article #323

Re: What should a component library loo

#323
From: William Thomas Wolfe, 2847
Date: Sun, 26 Nov 1989 20:02
38 lines
2886 bytes
From article <130200023@p.cs.uiuc.edu>, by johnson@p.cs.uiuc.edu:
> I am strongly in favor of separating specification from implementation
> as much as possible.  [...] My observation is that, except for general 
> purpose data structures, there doesn't seem to be much need for a component
> to have a variety of implementations that vary in performance characteristics.
> [...] I think of "specification" as defining the behavior of a component

   Okay, let's talk about that.  Suppose that we have a application entity
   whose behavior is defined by a specification.  We must now be very
   careful with respect to what we mean by this.  Traditionally, this has
   meant that all behavior is defined EXCEPT performance behavior such as
   time and space consumption (tradeoffs) among the various operations.  

   If we define a specification such that it completely specifies the behavior
   of a component, UP TO AND INCLUDING component performance characteristics, 
   then there is clearly little need to have a variety of implementations.

   Assume otherwise, i.e., that the term "specification" does not include
   performance characteristics.  Consider an application entity -- not a
   general-purpose data structure, but an object associated with the
   application domain.  Different applications having different performance
   interests may well emphasize different operations over that application
   entity.  Surely we would not wish to introduce redundancy by having  
   several different definitions of the same object; we would instead wish
   to factor out the commonality of the shared specification.  Nor would we
   wish to have a single definition that has to be rewritten (at great cost)
   every time it is used or every time we wish to regenerate a particular
   application.  Furthermore, it may well be the case that we wish to have,
   within a single application, particular instances of an object whose 
   performance characteristics differ but which are otherwise interchangeable
   (e.g., as parameters to a subprogram which requires that type of object).

   If we accept the basic premise that performance characteristics are
   an important consideration, then I think it follows that there is a
   fundamental need to express the existence of different implementations.


   Bill Wolfe, wtwolfe@hubcap.clemson.edu
Technical Details
Message-ID: <7189@hubcap.clemson.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!ncrlnk!ncrcae!hubcap!billwolf%hazel.cs.clemson.edu
References: <130200023@p.cs.uiuc.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!ncrlnk!ncrcae!hubcap!billwolf%hazel.cs.clemson.edu
From: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 )
Newsgroups: comp.sw.components
Subject: Re: What should a component library loo
Message-ID: <7189@hubcap.clemson.edu>
Date: 26 Nov 89 20:02:12 GMT
References: <130200023@p.cs.uiuc.edu>
Sender: news@hubcap.clemson.edu
Reply-To: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu
Lines: 38