Framework design using function generalization: a binary tree traversal case study

  • Authors:
  • H. Conrad Cunningham;Yi Liu;Pallavi Tadepalli

  • Affiliations:
  • University of Mississippi, MS;South Dakota State University, Brookings, SD;University of Mississippi, MS

  • Venue:
  • Proceedings of the 44th annual Southeast regional conference
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

A software framework is a technology that enables software reuse, potentially yielding rich dividends but requiring significant long-term investment. However, a framework is not a panacea because it is more difficult to design than a single application. Systematic approaches seek to make framework design more convenient and less error-prone. This paper illustrates the function generalization approach to framework design by developing a framework for binary tree traversals. A binary tree traversal is a well known algorithm, which makes it an excellent example. The approach involves a systematic process for generalizing a fixed application expressed as Haskell functions to produce a set of functions that precisely describe the generalized application. This generalized application encompasses various common and variable aspects of a family of applications. By using design patterns as a guide, the resulting set of functions can be converted to a Java framework.