Jukka Viljamaa
Application frameworks are probably the most effective method to promote reuse in software development available today. They support concrete architectural reuse by laying down the application logic and by letting the user to derive solutions for their specific needs. Many industrial strength frameworks have been available for quite some time. At the moment frameworks are evolving towards compositional systems from which users can instantiate and parameterize their own applications without any knowledge of the internals of the frameworks. This makes frameworks accessible for ever wider audience.
Over the last three years also the reuse of abstract design solutions has gained success in the form of design patterns. They help in communicating the best practices in software design and serve as a solid basis for object-oriented software development.
FRED (Framework Editor for Java - Support for Framework Development and Use), a joint project of universities of Helsinki and Tampere, aims at developing methodologies and tools for framework design and reuse. Tools will be implemented in Java language because it provides full portability, clean object-oriented abstractions, and a number of standard packages, e.g. for networking and graphical user interfaces. Design patterns form the foundation for these tools. Patterns provide an informal, but well-structured way to capture the knowledge of experienced software engineers. At the same time they reduce complexity and increase flexibility of designs.
In this preliminary report we discuss the fundamental properties of application frameworks and design patterns. We also take a look at some existing pattern related CASE tools.
Keywords: Design Patterns, Application Frameworks, CASE Tools
CR Classification: D.1.5, D.2.2, D.2.6, D.2.7, 2.2.10