|
|||||||||||||||||||||
|
|||||||||||||||||||||
ABSTRACT
It is a sign of maturity for any given engineering discipline when we can name, study, and apply the patterns relevant to that domain. In civil engineering, chemical engineering, mechanical engineering, electrical engineering, and now even genomic engineering, there exist libraries of common patterns that have proven themselves useful in practice. Unfortunately, no such architectural reference yet exists for software-intensive systems. Although the patterns community has pioneered the vocabulary of design patterns through the work of the Hillside Group and the Gang of Four, our industry has no parallel to the architecture handbooks found in more mature design disciplines.Following the work of Bruce Anderson, who over a decade ago conducted a series of workshops at OOPSLA, I've begun an effort to fill this void in software engineering by codifying a the architecture of a large collection of interesting software-intensive systems, presenting them in a manner that exposes their essential patterns and that permits comparison across domains and architectural styles.In this presentation, we'll examine the nature of architectural patterns and the process of conducting architectural digs to harvest them, and then examine a few of the systems studied thus far. |
|||||||||||||||||||||