Specialization classes: an object framework for specialization

Crispin Cowan, Andrew P. Black, Charles Krasic, Calton Pu, Jonathan Walpole, Charles Consel, Eugen N. Volanschi · 2002

This paper presents an object-oriented framework for specifying specializations in long-running programs such as operating systems. This model is based on the following concepts: Inheritance allows replacement implementations of member functions. We thus use a graph of sub-classes to specify a set of potential specializations of a given facility by replacing generic implementations with specialized implementations. Specializations in long-running programs are temporary, because the particular circumstances that permit the use of a specialized implementation are likely to change eventually. We thus support temporary and even optimistic specializations. Ensuring that it is valid to use a specialized implementation can be more difficult than creating the specialized implementation. We thus use a formal method to specify when a specialization is valid. This lets us automatically detect when specialization circumstances have changed, and also automatically generate specialized implementations using partial evaluation.

Read the paper · More papers on PaperTik