Frameworks are large building blocks of systems, encapsulating the commonalities of a family of applications. For reuse of
these common features, frameworks are instantiated by smaller-sized components, plugins, to specific products. However, the framework instantiation process is often difficult, because not all aspects of the interplay
of the framework and its plugins can be captured by standard type systems. Application developers instantiating a framework
often fail to develop correct applications. Thus, this paper surveys several typical framework instantiation problems. A simple
facet-based classification of the problems is given. It is shown how the different problem classes are related to phases of
the software process and how they can be tackled appropriately. Finally, the paper derives several research challenges, in
particular, the challenge to define appropriate framework instantiation languages.