home *** CD-ROM | disk | FTP | other *** search
/ ftp.umcs.maine.edu / 2015-02-07.ftp.umcs.maine.edu.tar / ftp.umcs.maine.edu / pub / WISR / wisr6 / proceedings / ascii / yglesias2.ascii < prev    next >
Text File  |  1993-10-19  |  13KB  |  311 lines

  1.  
  2.  
  3.  
  4.  
  5.      Progress  in  Reusable  Parts  Libraries  (or  Lack  Thereof )
  6.  
  7.  
  8.  
  9.                                           Kathryn P. Yglesias
  10.  
  11.  
  12.  
  13.                                             IBM Corporation
  14.  
  15.                                            Mailstop P419/921
  16.  
  17.                                         93 Myers Corner Road
  18.  
  19.                                     Wappingers Falls, NY 12590
  20.  
  21.                                            Tel:  (914) 296-6587
  22.  
  23.                                    Email: yglesias@vnet.ibm.com
  24.  
  25.                                           Fax: (914) 296-6496
  26.  
  27.  
  28.  
  29.                                                   Abstract
  30.  
  31.  
  32.     Since Booch's abstract data type parts library was published in 1987, many part libraries
  33. have become available but coverage of the domains of software remains minimal.  There are
  34. dozens of abstract data type (ADT) and graphical user interface (GUI) libraries.  There are
  35. also some libraries available to meet selected markets, especially when the libraries are built
  36. to complement a consulting/service offering, for example those offered by Price Waterhouse or
  37. KPMG Peat Marwick. It is difficult to ascertain why a broaderrange of general purpose libraries
  38. and more domain-specific libraries have not been built. Some experiences with information and
  39. software libraries indicate technology limitations and technical change as two contributors.
  40.  
  41.  
  42. Keywords: reuse, reusable parts, part libraries
  43.  
  44.  
  45. Workshop Goals:  uncover reasons forredundancy in libraries and inhibitors to broadening
  46. range of parts
  47.  
  48.  
  49. Working Groups: all
  50.  
  51.  
  52.  
  53.                                                  Yglesias- 1
  54.  
  55.  
  56. 1      Background
  57.  
  58.  
  59.  
  60. Kathryn Yglesias has worked with the IBM Reuse Technology Support Center for four years. Her
  61. areas of focus have included defining classification schemes for IBM parts;  evaluation of retrieval
  62. success; exploration of applying software reuse concepts to other software life cycle artifacts such as
  63. process documents, user information, and designs; consultation; and planning consultation offerings
  64. and writing standards manuals.
  65.  
  66.  
  67.  
  68. 2      Position
  69.  
  70.  
  71.  
  72. 2.1     Current Parts Libraries
  73.  
  74.  
  75.  
  76. In  the  information  area, much  of  the  "reusable  information"  is  in  the  form  of  CD-ROMs.   The
  77. type information being successfully marketed includes various versions of the Bible, dictionaries
  78. and encyclopedias, and other information typically found in the Reference section of libraries.  The
  79. templates for legal forms also have a wide audience and are more similar to software reusable parts.
  80.  
  81.  
  82. Software  has  the  ever  more  abundant  ADT  and  GUI  libraries.  These  are  being  packaged  with
  83. compilers,  debuggers,  builders,  and  other  associated  aids  frequently  now.   These  support  tools
  84. respond  to  the  programmers'  need  to  be  able  to  quickly  understand  what a  parts  set  (library)
  85. contains and help using it. This is an important development in institutionalizing reuse.
  86.  
  87.  
  88. The current set of parts libraries which are publically available can be summarized as containing
  89. many (but not all) of the basics in a wide set of variations,  but containing little diversity.  The
  90. IBM internal set of libraries also includes multiple variations of the standards, as well as libraries
  91. specific to software segments or niches.  A subset of the specialized parts are reusable outside of
  92. originator's domain or product group.
  93.  
  94.  
  95.  
  96. 2.2     Problems Encountered
  97.  
  98.  
  99.  
  100. Initial  attempts  to  build  parts  libraries  were  based on  a  trial  and  error  process.   Many  things
  101. were  tried, then  iterations  were  made  to  modify  the  sources  inhibiting  success.  This  feedback
  102. mechanism benefitted the developers of our most successful parts libraries of to day.  In the non-
  103. code area, proposal and process libraries were built. The proposal library taught us that having the
  104. real experts take time to write the generic, reusable information is the only way to be successful. It
  105. is always hard to get these people's time, butit is a truism that they are needed. Although experts
  106. were used, some of the more technical areas written for reuse were not a reuse success. It was found
  107. that the technology changed so rapidly that the extra cost to make the information reusable could
  108. not be recovered before the information was no longer timely.  Another problem with reusing very
  109. technical information is that the frameworks (customer environment, terminology, etc.) change so
  110. much that extensive editing is requiredfor reuse.  Templates have proven to be the most common
  111. components in our information libraries.
  112.  
  113.  
  114. In  the  software/code  area, some  of  the  problems  which  have  led  to  disuse  of  parts  libraries  are
  115. change in language focus.  For example, in IBM the effort to make applications portable to our
  116. many platforms led to changing from PL-based languages to C or C++.  The successfulPL libraries
  117. were either ported or have a declining usage. Another problem area associated with languages is
  118.  
  119.  
  120.  
  121.                                                         Yglesias- 2
  122.  
  123.  
  124. the "good" compiler "lag". By this I refer to the many Ada programs which were written and then
  125. re-compiled  and  re-tested  many,  many  times  as  the  compiler problems  were  gradually  resolved.
  126. This type problem continues to occur, but to a lesser degree.  However,the overhead of re-testing,
  127. and sometimes, modifying a large set of components for every compiler release led some (especially
  128. Ada) programmers to abandon reuse.
  129.  
  130.  
  131. A newer generation of reuse problems is occuring for OO programmers as they try to reuse class
  132. libraries built by other product groups. This class of problem offers some interesting challenges for
  133. the next few years.
  134.  
  135.  
  136.  
  137. 2.3     Creating Reusable Parts Libraries
  138.  
  139.  
  140.  
  141. The parts in a part library have been found to be more widely used whenthe parts form a col-
  142. lection, that is, they have common structures andpurp ose. Libraries of this type may be called
  143. "architected", which  is  defined  as  a  set  of  related  parts  which  (ideally)  have  the  characteristics
  144. described below. [1] Experience has shown that architected parts sets are more frequently reused
  145. than unrelated collections of parts. A  contributing factor is that these characteristics also reflect
  146. the goals of good software engineering. And once the reuser becomes familiar with the structure of
  147. the library, it is easier to know how to use any part in the library and to guess whether a needed
  148. part is likely to exist within the library's domain.
  149.  
  150.  
  151. The characteristics of these planned libraries show that they are successful because
  152.  
  153.  
  154.  
  155.     1. the parts individually meet the technical requirements for reuse in terms of:
  156.  
  157.  
  158.            fflComplexity (hiding of)
  159.            fflAdaptability
  160.            fflConfigurability
  161.            fflPredictability (the level of fidelity of meeting performance and resource requirements)
  162.  
  163.     2. the parts are structured to work together in the following ways:
  164.  
  165.  
  166.            fflExtensibility (ability to extend the domain of the architecture)
  167.            fflScaleability (ability ofarchitecture to map to implementation of increasing dimension
  168.               within the domain)
  169.            fflFunctional comp osability (ability of components to be combined with other components
  170.               in the architecture)
  171.            fflInteroperability (ability of components to be integrated with other software not in the
  172.               architecture)
  173.  
  174.     3. and user considerations are met in the following ways:
  175.  
  176.  
  177.            fflUnderstandability
  178.            fflUsability
  179.            fflQuality (of components and supporting documentation)
  180.            fflCompatibility (with existing standards, terminology, and technology)
  181.            fflSalability (ability of architecture to reflect the requirements in the eyes of the end-user).
  182.  
  183.  
  184.  
  185. These characteristics can be used for software (code) and information, although some of the terms
  186. are  different  than  those  typically  used  to measure  "goo dness"  in  information.   When  the  list  is
  187. read, terms such as, "understandability", "usability", and "quality" apply directly to information.
  188. However, a term such such as "consistency" might be used in place of "predictability".
  189.  
  190.  
  191.                                                         Yglesias- 3
  192.  
  193.  
  194. The architected libraries which we have had for several years are ADTs,  GUIs,  graphics objects
  195. and proposal text segments. These libraries have sustained high usage and high acceptance. It is
  196. my belief that an understanding of the characteristics of architected libraries (and the domains) by
  197. the developers led to the positive reuse results of these libraries.
  198.  
  199.  
  200.  
  201. 2.4     Reusability and Your Goals
  202.  
  203.  
  204.  
  205. Before  continuing, it  may  be  beneficial  to  remember  why  reusability,  architected  libraries, and
  206. domain analysis are being discussed. The purpose is to use an understanding of an organization's
  207. business objectives and reuse principles to define what parts (architected sets) will most benefit
  208. the organization by their creation and reuse.
  209.  
  210.  
  211. The methods described here have been used on software projects to achieve significant cost savings
  212. over  traditional  software development  methods.   Informal  use  of  these  methods  has  resulted  in
  213. similar savings in the documentation arena.  A cost analysis should alwaysb e performed before
  214. doing the domain analysis and producing the architected libraries.
  215.  
  216.  
  217.  
  218. 2.5     Conclusions
  219.  
  220.  
  221.  
  222. My experiences indicate that it is possible to increase reuse with an increased number of libraries,
  223. and that many of the libraries need to be domain specific. To successfully build domain specific
  224. libraries, consideration of the following increases the chances for success:
  225.  
  226.  
  227.  
  228.     fflKnow your business objectives
  229.  
  230.     fflUnderstand reuse principles
  231.  
  232.     fflDo a domain analysis
  233.  
  234.     fflAvoid leading edge technology areas or those with a high rate of technical change
  235.  
  236.     fflControl the risks associated with evolving technology (e.g., language changes).
  237.  
  238.  
  239.  
  240. 3      Comparison
  241.  
  242.  
  243.  
  244. Much effort in programs such as STARS has been expended towards understanding how to capture
  245. domain knowledge and "encapsulate" it. [2] This usually includes domain analysis which drives the
  246. creation of domain specific parts stored in a reuse library.  This approach is worthwhile, but the
  247. visible results of such an approach are seen onlyin the government arena.
  248.  
  249.  
  250. Some observations can be made when contrasting thenumber of parts available commercially and
  251. through the government.  First,  in the commercial arena there must be a large enough audience
  252. who understands reuse, is willing to use "someone else's" software, and is in the selected domain
  253. to  justify  taking  the  part  (set)  to  market.  A  second observation  is  that  the  government  does
  254. not have this constraint. A  third observation is that any government organization can define its
  255. domains without regard to how other organizations divide theirs, that is, there is no predefined need
  256. for the guidance systems domain, for example, of one military organization to b ethe same as for
  257. another. The consequences of these observations are that (1) it is possible for any single government
  258. organization to make progress in their "domain",and (2) if they had to first get agreement on their
  259.  
  260.  
  261.  
  262.                                                         Yglesias- 4
  263.  
  264.  
  265. domain  (to  establish  a  "market")  with  all  other  government  organizations  in  the  same  general
  266. business, then there would not be many parts in government libraries either.
  267.  
  268.  
  269. My conclusions are that there is not enough concensus on "domains" across the software industry for
  270. other part libraries to be developed. If there are not consistently recognized domains or segments,
  271. then an insufficient market will exist. The problem is similar to making use of ADTs - unless the
  272. programmer has been trained to understand and look for opportunities to use ADTs, the need for
  273. ADTs does not exist.
  274.  
  275.  
  276. My position is that it is necessary to expand the scope of our available parts libraries in an archi-
  277. tected manner, along domain lines. This must be done if we are to sustain progress in institution-
  278. alizing reuse. Therefore, emphasis must be placed on defining "domains" and getting concensus on
  279. their definitions.
  280.  
  281.  
  282.  
  283. References
  284.  
  285.  
  286.  
  287. [1]  "IBMReuse Methodology:  Domain Analysis," tech. rep., IBM Reuse Technology Support Cen-
  288.      ter, February 1992.
  289.  
  290.  
  291. [2]  R. Prieto-Diaz,  "Reuse Library Pro cessMo del," Tech. Rep. AD-B157091, IBM CDRL 03041-
  292.      002, STARS, July 1991.
  293.  
  294.  
  295.  
  296. 4      Biography
  297.  
  298.  
  299.  
  300. Kathryn P. Yglesias is an advisorysystems analyst in the IBM Reuse Technology Support Center
  301. where her work includes information model definition, classification evolution, and requirements
  302. definition for corporate standards and tools. She coordinated the IBM definition of formal methods
  303. for reusing non-code work products, especially customer documentation. Her experiences include
  304. engineering and project management for the Space Shuttle program and customer liaison for an
  305. internal computer systems organization. She is a member of the AIAA and Society for Software
  306. Quality.
  307.  
  308.  
  309.  
  310.                                                         Yglesias- 5
  311.