Generalization for component reuse
Samira Sadaoui, Pengzhou Yin · 2004
Specification reuse is more promising than code reuse since the formal semantics makes it possible for tools to understand the reusable components and ensures their correctness. One method for enhancing the reusability of existing components is generalization which creates generic components by parameterizing specific ones. Combining formal specifications and reusable components is a promising way to solve the software crisis.Component generalization is the abstraction of an auxiliary part of a specification into a more general parameter. Therefore, a major difficulty during the generalization is determining the appropriate level of abstraction (or generality). In this paper, through a simple example, we present the syntactic and semantic generalization algorithms based on algebraic specifications, and illustrate how to control the level of abstraction in generic components using the categorized constructors.