Design and Implementation of a Smalltalk Framework for the Tools and Materials Metaphor
Interactive software systems can now be found on many desktops. They are used by their users to reach a level of productivity that would not have been possible without them. The development of these systems, more specifically the development of interactive software applications, is a difficult task. Software developers are confronted with two main questions, namely what to build and how to build it. The question of what to build can be addressed successfully by design methodologies and metaphors. The Tools and Materials Metaphor is such a design methodology which has been developed for the domain of office work. It works best for users who are knowledgeable with respect to their tasks and can take over the responsibility for it. Systems designed according to this methodology offer a flexibility and degree of freedom seldom found in traditional software systems. How to build it, that is the software design and implementation of such systems, is best supported by an application framework. A framework represents the key abstractions from a domain as reusable classes. Furthermore, it sets up the right relationships between these classes, so that users may not only reuse single classes but also full designs consisting of dependent and collaborating classes. The development of such frameworks is a highly demanding task requiring much experience and thoughtful design.
This report presents shortly the design metaphors from the Tools and Material Metaphor. It then focuses on the design of a Smalltalk Framework that implements the most important aspects from the metaphors. The framework is thoroughly based on prior experience in its conventional parts on how to design tools, aspects, materials and their environment. In addition it comprises some innovative parts, most notably the Aspect Browser, a tool to adequately emulate multiple inheritance in Smalltalk. This report goes down to the level of single methods of a class and thus provides to our knowledge the first detailed technical documentation of such a framework for the Tools and Materials Metaphor.
[Rie95a] Riehle D. and Schnyder M.. Design and Implementation of a Smalltalk Framework for the Tools and Materials Metaphor. In UBILAB Technical Report 95.7.1, 1995.