Reuse Library Issues Software Reuse Library Issues Page
Reuse Library Issues Software Reuse Library Issues Page 1 Ronald J. Leach
Reuse Library Issues • Access • Organization • Management Software Reuse Library Issues Page 2 Ronald J. Leach
Typical Reuse Library Search Algorithm: Inputs: 1. Specifications for a set of one or more desired library components. 2. A reuse library including a search procedure. Software Reuse Library Issues Page 3 Ronald J. Leach
Inputs to Typical Reuse Library Search Algorithm, continued: 3. A method of determining if there is a match of a reuse library component to specifications. The description is part of a domain analysis classification scheme. 4. A method of evaluating the "similarity" of reuse library components in the case of an inexact match of components to the specifications. Software Reuse Library Issues Page 4 Ronald J. Leach
Typical Reuse Library Search Algorithm, continued Algorithm SEARCH reuse library for a match to specifications IF perfect match THEN RETURN matched component or components Software Reuse Library Issues Page 5 Ronald J. Leach
ELSE { determine set of "similar" components determine best component match among all "similar" components RETURN best match and a discrepancy report (perhaps also a list of secondary selections) } } Software Reuse Library Issues Page 6 Ronald J. Leach
The "semantic gap" between inexact matches of reuse library components with the specification often cannot be resolved by comparing external descriptions of the components. It is frequently necessary to scan and analyze the contents of components for additional information. Software Reuse Library Issues Page 7 Ronald J. Leach
Determination of the "semantic difference" between components using only external information is called "black-box" or "opaque" reuse. Illustration: Checking documentation using only the external infomation obtained by the "get info" icon on a Macintosh. Software Reuse Library Issues Page 8 Ronald J. Leach
Determination of the "semantic difference" between components using information obtained when scanning the components is often called "white-box reuse. " Illustration: Checking documentation using the "sample contents" field in Microsoft Word on a PC. Software Reuse Library Issues Page 9 Ronald J. Leach
Issues with search algorithm implementation: • Easiest to automate if all specifications of components in library use the same formal language as specifications of the input. • A thesaurus of similar terms is required as a minimum. Domain analysis is better. • If specifications of components are written in different languages, input specifications must be translated, one translator per language. Software Reuse Library Issues Page 10 Ronald J. Leach
• Organization of the library might not be consistent with input. (Example: C++ classes matched to Ada package specifications. ) • Most real systems are specified informally. • Graphical design representations are hard to compare. Software Reuse Library Issues Page 11 Ronald J. Leach
Reuse Library Organizational Issues Possible methods of organization of reuse library software artifacts: • By artifact's life cycle phase (design, code, . . . ). • By functionality of artifact. • By the interface or the standards the artifact meets. • By the tool or utility in which the artifact was created. Software Reuse Library Issues Page 12 Ronald J. Leach
Reuse library organization by life cycle phase: • Can simplify the search for high level components. • Can allow separate storage of artifacts at different life cycle levels. • Can accomodate components created by different tools or utilities (word processors, text editors, graphical design tools). Software Reuse Library Issues Page 13 Ronald J. Leach
Disadvantages of library organization by life cycle phase: • Configuration management is difficult. • Maintaining consistent views of components at different life cycle levels is difficult. • Difficult to determine directly the functionality of an artifact. Software Reuse Library Issues Page 14 Ronald J. Leach
Reuse library organization by functionality of artifacts: • Determining appropriate artifacts is easy. • Organization is consistent with domain analysis. • Easy to maintain consistent views of different software artifacts belonging to the same system. Software Reuse Library Issues Page 15 Ronald J. Leach
Disadvantages of reuse library organization by functionality of artifacts: • Hard to determine directly the interface or the standards that the artifact adheres to. • Not especially easy to determine directly tool or utilityused to created the artifact. Software Reuse Library Issues Page 16 Ronald J. Leach
Reuse library organization by the interface of the artifact or the standards it meets. • Easy to check if an artifact meets desired interface specifications. • Easy to install artifacts because of certification. Software Reuse Library Issues Page 17 Ronald J. Leach
Disadvantages of organization by interface or standards: • Hard to determine functionality of artifacts. • Difficult to find anything but source code. • Doesn't encourage life cycle leverage. • Moderately hard to maintain consistent views of artifacts in the same system. Software Reuse Library Issues Page 18 Ronald J. Leach
Reuse library organization by the tool or utility in which the artifact was created: • Current practice on single user machines. (Documents, source code, graphical designs in different directories. ) • Consistent with software development using CASE tools. • Easy to install software artifacts. Software Reuse Library Issues Page 19 Ronald J. Leach
Disadvantages of organization by tool or utility: • Major configuration management problems if tool or utility changes. • Hard to maintain consistent views of different artifacts belonging to the same system. • Hard to determine functionality of artifacts. • Doesn't encourage life cycle leverage. Software Reuse Library Issues Page 20 Ronald J. Leach
Reuse library organization by functionality is most common: • Easiest for source code (most common artifact). • Matching artifacts is easiest, consistent with domain analysis. • Easy to maintain consistent views of different software artifacts belonging to the same system. Disadvantages: • Hard to determine interface, standards, tools used. Software Reuse Library Issues Page 21 Ronald J. Leach
Management Issues There is a significant overhead necessary when maintainingreuse libraries of software artifacts. Software Reuse Library Issues Page 22 Ronald J. Leach
Management Issues • Access control and configuration management • Search methods • Insertion of components • Removal of components • Configuration management of components • Available Reuse Libraries Software Reuse Library Issues Page 23 Ronald J. Leach
- Slides: 23