Toward higher-level abstractions for software systems
Data & Knowledge Engineering - Special issue on the third international symposium on knowledge engineering, Madrid, Spain, October 1988
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Formalizing architectural connection
ICSE '94 Proceedings of the 16th international conference on Software engineering
The anatomy of a large-scale hypertextual Web search engine
WWW7 Proceedings of the seventh international conference on World Wide Web 7
The 4+1 View Model of Architecture
IEEE Software
ICSE '93 Selected papers from the Workshop on Studies of Software Design
A formal approach to software architecture
A formal approach to software architecture
Heterogeneous design idioms for software architecture
IWSSD '91 Proceedings of the 6th international workshop on Software specification and design
Evaluation of Tool Support for Architectural Evolution
Proceedings of the 19th IEEE international conference on Automated software engineering
Architecture Reviews: Practice and Experience
IEEE Software
Generalizing a Model of Software Architecture Design from Five Industrial Approaches
WICSA '05 Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture
Software Architecture as a Set of Architectural Design Decisions
WICSA '05 Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture
Applicability of patterns to architecting complex systems
Applicability of patterns to architecting complex systems
Systematic pattern selection using pattern language grammars and design space analysis
Software—Practice & Experience
Analysis of Architecture Pattern Usage in Legacy System Architecture Documentation
WICSA '08 Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
Making Practical Use of Quality Attribute Information
IEEE Software
An industrial case study of architecture conformance
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Incorporating fault tolerance tactics in software architecture patterns
Proceedings of the 2008 RISE/EFTS Joint International Workshop on Software Engineering for Resilient Systems
The Secure Pipes and Filters Pattern
DEXA '09 Proceedings of the 2009 20th International Workshop on Database and Expert Systems Application
Leveraging architecture patterns to satisfy quality attributes
ECSA'07 Proceedings of the First European conference on Software Architecture
An empirical investigation on the reusability of design patterns and software packages
Journal of Systems and Software
CSS'12 Proceedings of the 4th international conference on Cyberspace Safety and Security
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Adaptation space exploration for service-oriented applications
Science of Computer Programming
Hi-index | 0.00 |
Software architecture designers inevitably work with both architecture patterns and tactics. Architecture patterns describe the high-level structure and behavior of software systems as the solution to multiple system requirements, whereas tactics are design decisions that improve individual quality attribute concerns. Tactics that are implemented in existing architectures can have significant impact on the architecture patterns in the system. Similarly, tactics that are selected during initial architecture design significantly impact the architecture of the system to be designed: which patterns to use, and how they must be changed to accommodate the tactics. However, little is understood about how patterns and tactics interact. In this paper, we develop a model for the interaction of patterns and tactics that enables software architects to annotate architecture diagrams with information about the tactics used and their impact on the overall structure. This model is based on our in-depth analysis of the types of interactions involved, and we show several examples of how the model can be used to annotate different kinds of architecture diagrams. We illustrate the model and annotation by showing examples taken from real systems, and describe how the annotation was used in architecture reviews. Tactics and patterns are known architectural concepts; this work provides more specific and in-depth understanding of how they interact. Its other key contribution is that it explores the larger problem of understanding the relation between strategic decisions and how they need to be tailored in light of more tactical decisions.