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 / wisr4 / proceedings / detex / knight.detex < prev    next >
Text File  |  1992-04-05  |  8KB  |  233 lines

  1.  [12pt] article  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.   Issues in the Certification 
  12. of Reusable Parts 
  13.  
  14.   John C. Knight 
  15. Department of Computer Science 
  16. University of Virginia 
  17. Thornton Hall 
  18. Charlottesville, VA 22903   
  19. knight@virginia.edu 
  20.  
  21.    
  22.  
  23.  
  24.   
  25. A substantial difficulties that is limiting reuse
  26. is a lack of perceived quality in the artifacts being reused.
  27. Availability of a part with suitable functionality is not sufficient if 
  28. the prospective user does not trust the part and refuses to use it as
  29. a result.
  30. We present a definition of certification to deal with this situation
  31. and propose to exploit this definition to permit savings during testing
  32. and maintenance.
  33.  
  34.   0.3in 
  35.  
  36.   
  37. Keywords:  software reuse, part certification, software reliability
  38.  
  39.  
  40.  
  41.   Issues in the Certification of Reusable Parts 
  42. We claim that one of the substantial difficulties that is limiting reuse
  43. is a lack of perceived quality in the artifacts being reused.
  44. Although a software engineer may have a reuse library available,
  45. there is frequently a reluctance to use it because of concerns about
  46. part quality.
  47. Essentially, the engineer feels that without a lot of knowledge of a part,
  48. he or she would be better off rebuilding it.
  49. That lack of perceived quality is a detractor from reuse is an observation
  50. based only on anecdotal evidence but appears to be the software-reuse
  51. manifestation of the ``not-invented-here'' syndrome.
  52.  
  53. The adjective    certified   is sometimes used to describe parts that
  54. have been tested in some way prior to entry into a library (e.g., 
  55.  .
  56. Testing parts prior to their insertion into a reuse library
  57. is often claimed to be a productivity advantage.
  58. There is the vague expectation that building software from tested parts
  59. will somehow make testing simpler or less resource intensive,
  60. and that products will be of higher quality 
  61.  .
  62. Despite the various discussions of testing and reuse,
  63. the term certified is not formally defined in the reuse literature.
  64.  
  65. We are engaged in a research program that is addressing
  66. the issue of certifying reusable parts.
  67. We advocate the development of software by reuse with the
  68. specific intent of establishing as many of the required properties in the
  69. final product as possible by depending upon properties present in the
  70. reusable parts.
  71. For this goal to succeed, a precise definition of certification
  72. of reusable parts is required.
  73. Given the informal notions of certification that have appeared, it is
  74. tempting to think that a definition of certification should be in terms of
  75. some test metric or similar.
  76. The major difficulty with this approach, no matter how carefully applied,
  77. is that any single definition that is offered cannot possibly meet the
  78. needs of all interested parties.
  79. A second difficulty is that by focusing on a testing-based definition,
  80. other important aspects of quality,
  81. such as efficient execution performance or ease of maintenance,
  82. are omitted from consideration.
  83. These difficulties have lead us to establish the following definitions:
  84.  
  85.   
  86.  
  87.    Definition: Certification Instance :
  88. A certification instance is a set of properties that can be possessed
  89. by the type of part that will be certified according to that instance.
  90.  
  91.    Definition: 
  92. Certified Part :
  93. A part is certified according to a given certification instance
  94. if it possess the set of properties prescribed by that instance.
  95.  
  96.    Definition: Certification :
  97. Certification is the process by which it is established that a part
  98. is certified.
  99.  
  100.  
  101. An important byproduct of this precise definition of certification is that it
  102. provides a mechanism for    communication 
  103. about part quality
  104. between the developer of a part and users of the part.
  105. Users no longer have to question the quality of parts - certification
  106. describes for the prospective user exactly what can be expected of a
  107. part.
  108. When developing a part for placement in the library, it is the developer's
  109. responsibility to show that the part has the properties required for that
  110. library.
  111. When using a part, it is the user's responsibility to enquire about the precise
  112. set of properties that the part has and ensure that they meet his or her needs.
  113.  
  114. These definitions appear to be of only marginal value because the prescribed
  115. properties are not included.
  116. However, it is precisely this aspect that makes the definitions useful.
  117. The definitions have three very valuable characteristics:
  118.  
  119.   
  120.  
  121.    
  122. Flexibility: 
  123. As many different certification instances can be defined as are required.
  124.  
  125.    Generality: 
  126. Nothing is assumed about the    type  of part to which the definitions apply.
  127.  
  128.    Precision: 
  129. Once the prescribed property list in the certification instance is established,
  130. there is no doubt about the meaning of certification.
  131.  
  132.  
  133. The properties included in a specific instance of certification can be
  134. anything relevant to the organization expecting to use the certified parts.
  135. However, since preparation of reusable parts is a major capital undertaking,
  136. it is inappropriate to include properties that are not essential.
  137. The opposite circumstance is also a factor.
  138. If establishing a necessary system characteristic is facilitated by
  139. the parts in the reuse library having a certain property,
  140. then that property had better be included in the certification instance.
  141.  
  142. Thus the key to the definition of any specific certification instance is the
  143. use to be made of the properties in the definition.
  144. The    only   justification for the inclusion of a particular property in
  145. a specific certification instance is that possession of that property
  146. by parts in a library contributes to the establishment of useful
  147. characteristics in systems built from those parts.
  148.  
  149. We now have a general definition of certification for reusable parts and a
  150. conceptual approach to developing specific definitions as required.
  151. The key issues to be addressed in the area of certification are:
  152.  
  153.   
  154.  
  155. What    system   properties are common and of sufficiently high value that
  156. supporting them in a reuse development environment is cost effective?
  157.  
  158. What techniques are required to permit the maximum exploitation of the
  159. properties of parts in the establishment of the properties of a system?
  160.  
  161. What library structures are required to store the relatively complex
  162. entity formed from a part and an associated set of properties?
  163.  
  164. Is there value in permitting library users to search based on both part
  165. semantics and required certification properties?
  166.  
  167. How does certification according to the approach outlined here affect the
  168. economic models of reuse?
  169.  
  170. Since it is clear that properties of parts based on testing will be
  171. included in certification definitions, what issues are raised in the area
  172. of testing parts?
  173. The difficulty of testing artifacts such as Ada   generic units
  174. immediately comes to mind.
  175.  
  176. What effect does the adaptation of reusable parts have on the definition of
  177. certification and its exploitation?
  178.  
  179. Can the notion of certification summarized above be applied successfully to
  180. parts other than source code and it is similarly advantageous?
  181.  
  182. What would the instantiation of certification look like for requirements or
  183. test-plan parts?
  184.  
  185.  
  186. For software reuse to succeed in delivering a substantial improvement in
  187. programmer productivity requires progress in a number of areas.
  188. Part certification is an important one.
  189.  
  190.  
  191.    bass 87  
  192.  
  193. Bassett, P.G.,
  194. ``Frame-Based Software Engineering'',
  195.    IEEE Software ,
  196. July, 1987.
  197.  
  198. Knight, J.C.,
  199. ``Certification of Reusable Parts'' ,
  200. submitted to
  201.    ISQE 92 ,
  202. March, 1992.
  203.  
  204. Lenz, M., H.A. Schmid, and P.F. Wolf,
  205. ``Software Reuse Through Building Blocks'' ,
  206.    IEEE Software ,
  207. July, 1987.
  208.  
  209. Tracz, W.,
  210. ``Software Reuse: Motivators and Inhibitors'',
  211.    Proceedings of COMPCON S'87 ,
  212. 1987.
  213.  
  214. U.S. Department of Defense, Ada Joint Program Office,
  215.    Reference Manual For The Ada Programming Language ,
  216. ANSI/MIL-STD-1815A, January, 1983.
  217.  
  218.  
  219.   About the Author 
  220. John C. Knight is an associate professor of computer science at the
  221. University of Virginia.
  222. Before joining the University of Virginia in 1981, he was with NASA's
  223. Langley Research Center.
  224. His research interests center on developing techniques for building
  225. software for safety-critical systems.
  226. To that end, he is undertaking a research project in certification
  227. of reusable parts with a view to exploiting reuse to support
  228. software reliability.
  229.  
  230.  
  231.  
  232.  
  233.