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 / wisr5 / proceedings / ascii / yglesias.ascii < prev    next >
Text File  |  1993-06-05  |  12KB  |  227 lines

  1.  
  2. Limitations of Certification Standards in Achieving Successful Parts Retrieval 
  3.  
  4. Kathryn P. Yglesias 
  5.  
  6. International Business Machines 
  7. Federal Systems Company 
  8. 3700 Bay Area Blvd, Houston, TX 77058-1199 
  9. Tel: (713) 335-3457, fax: (713) 335-3453 
  10. Email: yglesias@vnet.ibm.com  
  11.  
  12.    
  13.                         Abstract
  14.  
  15. Experience managing the certification standards for an evolving reuse program 
  16. has shown that knowledge of and compliance with certification standards are not
  17. sufficient conditions for successful retrieval of appropriate reuse parts.
  18.  
  19. Keywords:  reuse, certification standards, classification, keywords, software 
  20.        engineering, software understanding, retrievability
  21.  
  22. Workshop Goals:  Define methods to assist in location and application of 
  23.          appropriate reusable assets.
  24.  
  25. Working Groups:  This position topic is suitable for inclusion in one of the 
  26.          following proposed work groups, or a combination of them:
  27.  
  28.                    * Reuse terminology standards
  29.                    * Design guidelines for reuse  - general,  Ada, and/or C++
  30.                    * Reusable component certification
  31.                    * Education
  32.  
  33.  
  34. 1  Background 
  35.  
  36. 1.1  Role of Certification Standards 
  37.  
  38. The role of reuse certification standards is to ensure that sufficient 
  39. information is available to a potential reuser to allow that reuser to select 
  40. and utilize a reusable part as a black box (i.e., without examining the contents
  41. of the part).  This requires that the certification standards isolate and 
  42. identify all characteristics of the part which are needed by developers.  For a
  43. varied group of developers, such as those in a company developing products 
  44. across many platforms, ranging from operating systems to government 
  45. applications, the information required to isolate the applicable parts is 
  46. considerable.  What this means is that nothing can be taken for granted when 
  47. supplying a reusable part.  If parts are supplied in C++, some of the 
  48. information which must be specified is the compiler and version used, the 
  49. platforms and operating system versions used, and the development standards 
  50. used.
  51.  
  52. To contain the work required to prepare for the supply of parts, the work 
  53. products of the existing development process should be utilized for this 
  54. "certification information".  For example, the information in a programming 
  55. specification can be organized in such a way as to facilitate extraction of 
  56. sections on dependencies or interfaces.  Where the existing work products are 
  57. inappropriate for reuse certification requirements, the processes should be 
  58. modified.
  59.  
  60. One measure of the success of certification standards might be in the acceptance
  61. by developers of the parts within the quality domains specified by the 
  62. certification standards.  Currently there are no issues regarding the quality of
  63. the part sets at the highest certification level in our reuse libraries, 
  64. contrary to some expectations [Kni91].  This acceptance may be partially 
  65. attributable to the publicizing of the quality of the first architected part 
  66. set, and partially attributable to the stringency of the standards.
  67.  
  68.  
  69. 2  Position 
  70.  
  71. For successful reuse, three conditions must exist:
  72.  
  73.   1. There must be appropriate reusable parts available,
  74.   2. There must be potential reusers, and
  75.   3. The potential reusers must be able to find and apply the reusable parts to
  76.      their development.
  77.  
  78.  
  79. My current interest is in facilitating the third reuse condition.
  80.  
  81. Certification standards are a significant part of the third condition; however,
  82. there are other considerations of equal importance.  The suppliers of the 
  83. reusable assets must have knowledge of the certification standards, of reuse 
  84. principles, and of the relevant domain.  The reuser must have knowledge of 
  85. abstract programming constructs, have knowledge of the relevant domain, and be 
  86. able to apply the programming constructs to the domain.
  87.  
  88. In defining and evolving our reuse program, we continue to recognize the 
  89. difficulty of facilitating the pre-conditions so that these conditions can 
  90. occur.  The position stated in this paper is the result of attempts to 
  91. understand the lower than anticipated usage rates of architected libraries 
  92. during the initial phase of our reuse program.  We recognized that successful 
  93. application of reuse into existing development processes requires an 
  94. understanding of the type of products produced, the business environment, the 
  95. processes which are enforced (and those which are not), the development culture,
  96. and the education and experience of the developers.  Within a large company, 
  97. there are wide variations in these factors.  Our reuse program tries to 
  98. accommodate these variations.  Examination of our findings may aid in the 
  99. effective integration of reuse into other development environments.
  100.  
  101.  
  102. 2.1  Issues Related to Retrieving Parts 
  103.  
  104. Given that the certification standards are adequate and that they are enforced,
  105. it could be assumed that appropriate reusable parts would be located and reused
  106. by those development organizations made aware of reuse's potential.  (Note that
  107. use of appropriate implies that the parts have been determined to reasonably 
  108. fall within the domain of some of the involved development organizations.)  
  109. About a year ago, we became aware that there were a number of development 
  110. organizations trying to locate appropriate parts and failing to find and/or 
  111. reuse them, thus causing us to examine our assumptions about what is required 
  112. for successful reuse.
  113.  
  114. What we found was that terminology  was a major success factor, especially 
  115. terminology for classification of parts.  There are two ways in which 
  116. terminology can act as a reuse inhibitor.  The first is that the same word 
  117. (term) does not mean the same thing to all potential reusers.  For a developer 
  118. in an office systems development organization, the object attribute value 
  119. address might seem ambiguous, whereas address would not have a second meaning 
  120. to the systems developer who supplied the part.
  121.  
  122. The second way that terminology can act as an inhibitor to successful reuse is 
  123. through the specificity of the terms.  When the potential reuser begins 
  124. searching libraries of reusable parts, the reuser has a conceptual perception of
  125. the desired part.  The terminology used by the supplier and reuser must match 
  126. for successful location of the reusable part.  If there is no method made 
  127. available by the reuse library tool to facilitate the understanding of the 
  128. Supplier's intended context for the classification terminology, then an 
  129. opportunity for location of an appropriate reusable part may be lost.  One of 
  130. the ways in which this potential problem may be addressed is by associating 
  131. synonyms with the classifiers.
  132.  
  133.  
  134. 2.2  Issues Related to Applying Parts 
  135.  
  136. There is a problem closely related to the terminology problem in which the 
  137. potential reusers have different understandings of the terms used.  This is a
  138. fundamental problem of the cognitive processing of the potential reuser.  That 
  139. is, has the reuser conceptualized his problem in such a way as to allow for a 
  140. variety of potential solutions, and can he allow for potential solutions which 
  141. fall outside the scope of the solution which he originally envisioned?  As 
  142. pointed out in [HTG91], this is a problem of "understanding and adaptation".
  143.  
  144. For a reuse system, a part must be described and classified (through use of 
  145. keywords or a formal classification system).  It is the nature of language to 
  146. limit.  It must, therefore, be the responsibility of the users of language to 
  147. understand those limits and not let them be applied indiscriminately.  For 
  148. reuse this means that education is essential.  The type of education needed is 
  149. dependent on the current skills of the developer and the scope of the tasks 
  150. which he may be called upon to perform.  For an application systems developer of
  151. hypermedia for workstation environments, the education may be different than 
  152. currently perceived by an education organization.  This developer needs to be 
  153. able to express the product's concepts in a variety of ways to reach the 
  154. broadest possible audience.  Education which only teaches the how of tools is 
  155. inadequate.  The developer requires an ability to understand and apply the 
  156. concepts behind the tools, languages, or processes being taught.  Applying the 
  157. concepts to the student's environment is the essential ingredient.  Education 
  158. must provide the student (potential reuser) with the ability to flexibly 
  159. evaluate a problem and find solutions, or partial solutions.
  160.  
  161. The example which follows describes how a reuse parts consultant aided a 
  162. development project in determining the source of a performance problem with an 
  163. abstract data type developed for reusability.  The example illustrates the 
  164. importance of software engineering education and understanding.
  165.  
  166. When developers think of abstract data types, they generally think of lists.  
  167. The project in question reported a performance problem with the selected list 
  168. part.  The consultant began his queries with questions on the abstraction 
  169. requirements.  He determined that the access is always direct, that there are 
  170. several iterations, that quick sequential access is important, that elements are
  171. put in, and that there is a dedicated field in the element which is used for 
  172. retrieval.  The consultant realized that, since there is direct storage and 
  173. direct retrieval, the correct abstract data type is a dictionary.  Then 
  174. implementation was considered and a tree was selected, specifically an AVL-tree.
  175. Use of the AVL-tree provided the performance improvement.  The consultant uses 
  176. this example to illustrate why he advocates,
  177.  
  178.     It is better to pick the right abstraction than to tune the wrong one.
  179.         -- Klaus Liegert 
  180.  
  181. Given the above example, which is a sample of actual experiences, the goal of 
  182. education must be more than teaching what reuse is or what abstract data types 
  183. are.  For education to fulfill its role in facilitating reuse, it must teach 
  184. conceptualization and flexibility in problem solving.  One approach to 
  185. achieving this is to re-structure most programming and writing courses to 
  186. include mandatory use of pre-existing reusable parts.  Structuring class 
  187. assignments around the parts, lessons could include
  188.  
  189.   * Generalize a proposed implementation solution,
  190.   * Find alternative implementations,
  191.   * Define conditions in which alternative solutions better solve the problem.
  192.   
  193.  
  194. These are preliminary thoughts on methods to address the observed difficulties 
  195. of developers in retrieving appropriate, applicable parts.  Certification 
  196. standards can enhance retrievability by facilitating flexible visualization of 
  197. the problem and solution domains (while maintaining strict content requirements
  198. on the certification information).  But the developer will not have the ability
  199. to locate all applicable parts which exist, until he has been trained in how to
  200. conceptualize his problem more generically.  Continued study may provide 
  201. approaches to address some of these parts retrieval issues.
  202.  
  203.  
  204. References
  205.  
  206. [HTG91] K.E. Huff, R. Thomson, and J.W. Gish.  The Role of Understanding and 
  207.     Adaptation in Software Reuse Scenarios.  In Proceedings of the Fourth 
  208.     Annual Workshop on Software Reuse, November 1991.
  209.  
  210. [Kni91] J.C. Knight.  Issues in the Certification of Reusable Parts.  In 
  211.     Proceedings of the Fourth Annual Workshop on Software Reuse, November 
  212.     1991.
  213.  
  214.  
  215. 3  Biography 
  216.  
  217. Kathryn P. Yglesias is on the staff of the IBM Reuse Technology Support Center 
  218. (RTSC) and is a publishing strategist in IBM Federal Systems Company.  She is 
  219. responsible for developing an information reuse strategy and for the corporate 
  220. reuse classification scheme.  She is the liason between the RTSC and the 
  221. corporate office, Information Development Strategy and Technology, which is 
  222. responsible for the production of IBM customer, service and marketing 
  223. information.  Previously she coordinated requirements for the division's Common
  224. Proposal System.  She spearheaded the effort to add a repository of reusable 
  225. proposal text segments to the tool.  She also worked for seven years on 
  226. engineering and project management tasks for the Space Shuttle program.
  227.