Many authors cite the development of better software architecture as one of the key elements in improving the practice of software development. This is especially true for large-scale systems. Patterns have also emerged as a useful technique to document recurring software designs and the tradeoffs and forces that lead to these designs.
The intent of the workshop is to improve the state of the art and practice for software architecture patterns. Specifically we will discuss how software patterns relate to software architecture, organize the existing architecture patterns in to categories, and identify missing patterns for software architecture. This discussion will be a continuation of an effort begun at ChiliPlop 2002 and available at http://www.crystalclearsoftware.com/cgi-bin/arch_patterns/wiki.pl.
In 1996 the book Pattern Oriented Software Architecture (POSA1) defined an architecture pattern as: "expressing a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them." The book describes 8 architectural patterns that mostly follow this definition. The Patterns Almanac  lists 79 architectural patterns. Not all of these patterns meet the POSA1 definition.
There are many open questions about how patterns are best applied to the practice of software architecture. These include understanding which patterns are "architecturally significant", how to effectively use patterns in the development of a software architecture, and how various architecture patterns are related. Some questions that the group will attempt to address include:
Also included will be a brainstorming session to uncover missing architectural patterns.
Workshop participants will be asked to review the current organization of the architecture patterns Wiki at http://www.crystalclearsoftware.com/cgi-bin/arch_patterns/wiki.pl. Then they will write a position paper outlining missing architecture patterns, novel patterns organizations, or critical analysis of the current organizations. The papers should be sent to mailto:email@example.com
Participant position papers will be reviewed and made available for the other participants via the web site prior to the workshop.
At the start of the workshop, the organizer will present a brief description of the goals and agenda for the workshop. Each workshop participant will then present a 5-10 minute synopsis of his or her position paper. Following the presentations, and based partially on their content, will be a discussion of the following:
Since this is the beginning of a broad discussion of this topic, the workshop is likely to uncover additional areas of exploration as submitted by participants.
The output of the workshop will be to capture at least some of the following:
The goal will be to capture the workshop results in the Wiki which can be used to continue the discussion after the workshop is completed.
Ideally 5-10 practicing software architects and developers that are familiar with at least some of the architectural patterns, development of software architectures, and application of patterns.
Senior Architect Object Computing Inc. Phoenix, Az mailto:firstname.lastname@example.org
Instructor of Management Information Systems Winona State University Winona, MN mailto:email@example.com
Jeff Garland (Primary Contact)
President & CTO CrystalClear Software, Inc Phoenix, Az mailto:firstname.lastname@example.org
Consulting Member of Technical Staff Lucent Technologies Lisle, Il mailto:email@example.com
For Questions or To Participate Contact: mailto:firstname.lastname@example.org