- D. Garlan
- F. Paulisch
- W. Tichy
For large, complex software systems the design of the overall system structure — or software architecture — emerges as a central problem. Structural issues include gross organization and global control structure; protocols for communication, synchronization, and data access; assignment of functionality to design elements; scaling and performance; and selection among design alternatives.
The architectural level of software design has become the focus of an increasingly important body of research and development in areas such as graphical design notations, codification of common architectural patterns, module interconnection languages, templates and frameworks for systems that serve the needs of specific domains, architectural handbooks, and formal models of component integration mechanisms.
While there is broad-based agreement on the importance of software architecture, there have been few opportunities for researchers in the area to meet specifically on this topic. This international seminar on software architecture provided such a forum. The goal was to bring together both industrial and academic workers on the leading edge of software architecture, critically assess the state of the art, discuss novel approaches to leveraging architecture in software development and maintenance, and to set out promising directions for future research.
More specifically the workshop focused on the following topics:
- Definitions: Discussion of what software architecture is and what it is not, with the goal of exploring the dimensions of the field and understanding where there is agreement on core issues.
- Description: How do/should we describe and represent architectural designs?
- Analysis: What kinds of properties do we care about and how can we determine them from our descriptions?
- Design Guidance: Given set of non-functional requirements, how can we choose an appropriate software architecture? How can we take advantage of existing design experience?
- Methods: How can we incorporate architectural design into the broader arena of software development practices? How can we accommodate different paradigms in software architecture?
- Domain-Specific Software Architectures (DSSA): What can we learn from achievements in the area of DSSA, in particular from application frameworks, reference architectures, and component generators.
- Formal Underpinnings: To what extent are/should formal models of architectures, mathematical foundations for modularization and system composition, formal characterizations of non-functional properties, theories of architectural connection used? What is the right level of formalism appropriate for software architecture?
- Bridges: How can we link architectural abstractions with implementation structures and with problem requirements? What is the relationship between software architecture and evolution? What is the relationship between software architecture and design?
- Tools and Environments for Architectural Design: What is the current state-of-the-art/state-of-thepractice for analysis tools, design environments, and component and application generators?
- Extraction of Architectural Design from Existing Systems: How can we capture architectural knowledge and convey it to people in a useful way? In particular, addressing descriptions of exemplary architectural designs, reinterpretation of architectural descriptions in simple terms, and unification of related architectural designs.
- Component Integration Mechanisms: What component integration mechanisms are available, e.g. module interconnection, mediation, wrappers, other novel composition techniques?
- Software Architecture Case Studies and Experience Reports: What can we learn from retrospective analyses of industrial architectural development and model problems?
- Cost/Benefit Trade-offs: What are the cost/benefit trade-offs in using architectural notations, formalisms, patterns, tools? How can we get the most "out" for reasonable effort "in" ?
- Education: How can we teach architectural skills to others? How can we learn from practitioners? Can we lessen the gap between industry and academia?
The Dagstuhl-Seminar-Report presents short position statements of most of the participants as well as reports from the working groups.
- D. Garlan
- F. Paulisch
- W. Tichy