Design by framework completion |
| |
Authors: | Dipayan Gangopadhyay Subrata Mitra |
| |
Affiliation: | (1) IBM T.J. Watson Research Center, P.O. Box 704, 10598 Yorktown Heights, NY, USA;(2) Application Development Technology Institute, IBM Software Solutions Division, 555 Bailey Avenue, 95141 San Jose, CA, USA |
| |
Abstract: | An object-oriented framework in essence defines an architecture for a family of applications or subsystems in a given domain. Every application in the family obeys these architectural restrictions. Such frameworks are typically delivered as collections of inter-dependent abstract classes, together with their concrete subclasses. The abstract classes and their interdependencies implicitly realize the architecture. Developing a new application reusing classes of a framework requires a thorough understanding of the framework architecture.We introduce an approach called Design by Framework Completion, in which an exemplar (an executable visual model for a minimal instantiation of the architecture) is used for documenting frameworks. We propose exploration of exemplars as a means for learning the architecture, following which new applications can be built by replacing selected pieces of the exemplar. For the piece to be replaced, the inheritance lattice around its class provides the space of alternatives, one of these classes may be suitably adapted (say, by sub-classing) to create the new replacement.Design by Framework Completion proposes a paradigm shift when designing in presence of reusable components: It enables a much simpler top-down approach for creating applications, as opposed to the prevalent search for components and assemble them bottom-up strategy. We believe that this paradigm shift is essential because components can only be fitted together if they all obey the same architectural rules that govern the framework. |
| |
Keywords: | framework understanding component-based software engineering software reuse architecture representation executable model learning by example |
本文献已被 SpringerLink 等数据库收录! |
|