International Workshop on Designing Reusable Components and Measuring Reusability

Web site :

Organizers: Reghu Anguswamy ( ) and William B. Frakes( frakes @ )

Component-based software engineering (CBSE) has been a direct result of advances in software reuse over the past three decades. Designing software components for future reuse has been an important area in software engineering. The success of CBSE depends on how successfully a user integrates the reusable components into a system.

Practitioners and researchers need to address the problem of how to build reusable components. Sametinger says that non-reusability of found components is a major obstacle to the success of software reuse. Sametinger also says that software is seldom written effectively and it may be more efficient to build it from scratch. Hence, guidelines of design principles used in building reusable components is necessary.

Many reuse design principles have been proposed. Ramachandran categorized reuse design guidelines into six different classes: language-specific, design-specific, domain-specific, product-specific, architecture-specific, and organizational/managerial specific. However, there is no generally accepted list of reuse design principles that are independent of language and the domain. In a previous workshop two decades ago , design principles for designing reusable components were identified. An objective of this workshop is to update the list with current design principles.

Reusability of a software component is the degree to it can be reused. It has been identified in the past that measuring reusability is a challenge and needs to be addressed. According to Frakes and Kang, research is needed to identify and validate measures of reusability, including good ways to estimate the number of potential reuses. The reuse working group of the NASA: NASA Earth Science Data Systems (ESDS) Software Reuse Working Group, has introduced and implemented the reuse readiness levels (RRLs) which looked into the potential readiness of reusing software artifacts. However, they have also identified the need for further research in measuring and validating metrics for software reusability. Second objective of the workshop is to assess the current status and deliberate on the future roadmap for developing metrics to measure software reusability.