Anticipated Significance

The primary impact of this work is in two areas: economic development and software practice. Although we have had some valuable experience with OO framework technology, we (and the software industry more generally) need to study more extensively the economic benefits and effect on professional software practice. Our limited experience to date suggests that the economic impact can be enormous. The workstation based "fat client" version of the SizeMaster IV application for pressure relief valve sizing and selection software took 18 months, a little over 3 person-years effort and approximately $450,000. The web-based "thin client" version, SizeMaster V, took 5 months and $55,000, mainly because of the high level of reuse of the core EAF (Engineering Application Framework), and the evolvable architecture of the Kalos UI/workflow framework. Our latest effort of prototyping a e-commerce sizing and selection site for Sprague pumps, took 8 weeks of effort and $22,000 to build a usable proof of concept.

These productivity ratios are impressive and others have noted the economic benefits of reuse as well (e.g., Bassett[96] and Jacobson, Griss and Jonsson[97]). But it is not always clear what they mean. How much is due to core reuse: for example the worksheet component of SizeMaster IV and V is the same? How much is due to good service factoring among frameworks: for example SizeMaster IV and V use different service implementations, but the basic service decomposition into UI and workflow remained the same. How much is due to actual OO framework technology as opposed to expert knowledge of how the framework is designed for the intended domain: for example exploiting the similarities between SizeMaster and Sprague as both being engineered product sizing and selection problem?

Identifying why OO frameworks work so well requires more research that is grounded in the experiences of developing and using OO frameworks. Some of the important elements of this research agenda include: i) a greater understanding of the principles of framework design and reuse, ii) the capturing and understanding of system building processes when using an OO framework, iii) the assessing and measuring of that process with the aid of key process and product metrics, iv) the recording of our development experiences in an understandable and reusable form (i.e., through experience base construction), and v) the understanding of how OO frameworks evolve and the types of tools and techniques that support this evolution (e.g. the use of task modeling and the further refinement of our hooks tool). This proposal addresses many of these elements.

In addition to the significant economic benefits, we strongly believe that this research will lead to better software engineering practice. The implications of this work are better documented systems (i.e., documentation of not only the current design and implementation but the design rationale and the anticipated future use of the framework software), a greater understanding of the processes involved, improved practice in recording and sharing of key lessons learned using an experience base, and more predictable project costing and better project management.

Ultimately, there are social benefits of this work by creating processes, tools and people that result in more reliable and adaptable software systems that are better suited to the information processing needs of our society.