Tutorial T08


Tutorials  T1  T2  T3  T4  T5  T6  T7  T8  T9  T10  T11  T12  T13  T14  T15  T16  T17  T18  T19  T20  T21 

Object-oriented frameworks


Presenter: Greg Butler
Level: Intermediate
Day: Monday (June 18) p.m.


Frameworks offer a concrete realization of a product line. A framework is an architecture, plus an implementation, plus documentation that capture the intended use of the framework for building applications. A framework provides a highly effective mechanism for software reuse within an application domain. The framework captures the features that are common across the product line. In return for relinquishing some design authority, the developer can build a new application faster by hooking to the framework just the code that is unique to the new application. The tutorial presents methodologies for the development, application, and evolution of object-oriented frameworks. Concepts and techniques behind modeling and implementation of the commonality and variability within a domain are presented. The framework maturity life cycle ranges from white-box frameworks, through composition of component-based systems, to generative techniques using domain-specific languages. We draw on our Know-It-All framework of database systems to provide case study material.

Audience:
The tutorial is aimed at practictioners and researchers with experience in object-oriented design, and interest in reuse and product lines.

Required experience:
The tutorial assumes the basic concepts: objects, polymorphism, delegation; and experience in object-oriented design. Knowledge of design patterns is beneficial.

Presenter's profile:
Dr Butler researches methodologies for framework evolution, and is developing a framework for databases with applications to bioinformatics. He has written over 50 technical papers, and has consulted on object-oriented design, object-oriented technology, database technology, and large-scale software architecture.