I really, really dislike scientific papers...
Anyway, I spend the last many hours thinking about a subject, figuring out what the requirements are, plus scanning though a bounch of articles. So far I came up with the following abstract which I hope will be accepted by the teachers:
Frameworks: When to use and what to keep in mind
Some of the main objectives of software engineering are to improve software quality, reduce costs, as well as facilitate easy maintainance and evolution of the product in mind. Code re-use is a way to fullfill these objectives. Code re-use reduces costs as less new code have to be developed, it improves software quality as the code will be used more and more widely tested. It also helps with maintainability and product evolution, as writing re-usable code requires the developer to code more modular. In this essay we will introduce the concept of object-oriented frameworks and look into when it might be advantageous to design and use such a framework. We will also look into the problems associated with developing such a framework. As a real life example, we will look into the experiences gained when developing the open-source toolkit GTK+, a framework for developing graphical user interfaces for the Linux desktop in particular. We will look at the problem encountered while designing GTK+, plus what solutions that have been used to overcome these.