61801 USA From Feigenbaum's Turing Award lecture to musings on Big Blue's victory, we hear the importance of knowledge. We are told that experts depend more on a storehouse of specialized knowledge than on complex reasoning processes. Much of this knowledge seems obvious to the expert, but it leads to profound results. In spite of this, computer scientists seem to resist documenting their knowledge, and instead want to make theories about their knowledge. For example, there are more papers on notations for describing software architecture or on methodologies for architecture than descriptions of important architectures.
Patterns are a way of documenting design knowledge.
Patterns make it easier to talk about designs, to evaluate tradeoffs, to understand existing designs, and to solve particular problems. They help train designers, help document complex systems, and help designers think and communicate. Better yet, patterns are a scheme to get people to document the knowledge that seems obvious to them, but profound to others. This talk will show how patterns are being used to document architectures. The traditional way to design an object-oriented system is to make an object model of the problem to be solved and then to transform it into a program.