The Unified Modeling Language user guide
The Unified Modeling Language user guide
Acme: architectural description of component-based systems
Foundations of component-based systems
Fundamental concepts for practical software architecture
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
The 4+1 View Model of Architecture
IEEE Software
Specifying Distributed Software Architectures
Proceedings of the 5th European Software Engineering Conference
Software Architecture in Practice
Software Architecture in Practice
Why Is It So Hard to Define Software Architecture?
APSEC '98 Proceedings of the Fifth Asia Pacific Software Engineering Conference
A formal approach to software architecture
A formal approach to software architecture
IEEE Software
Technical reference architectures
IBM Systems Journal
xSADL: An Architecture Description Language to Specify Component-Based Systems
ITCC '05 Proceedings of the International Conference on Information Technology: Coding and Computing (ITCC'05) - Volume II - Volume 02
A Study of Architecture Description Languages from a Model-based Perspective
MTV '05 Proceedings of the Sixth International Workshop on Microprocessor Test and Verification
Middleware-Induced Architectural Style Modelling for Architecture Exploration
WICSA '07 Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture
On Creating Industry-Wide Reference Architectures
EDOC '08 Proceedings of the 2008 12th International IEEE Enterprise Distributed Object Computing Conference
Towards a mobile architecture description language
AICCSA '08 Proceedings of the 2008 IEEE/ACS International Conference on Computer Systems and Applications
Self-Architecting Software SYstems (SASSY) from QoS-annotated activity models
PESOS '09 Proceedings of the 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems
AO-ADL: an ADL for describing aspect-oriented architectures
Proceedings of the 10th international conference on Early aspects: current challenges and future directions
Qos architectural patterns for self-architecting software systems
Proceedings of the 7th international conference on Autonomic computing
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
Application logic patterns reusable elements of user-system interaction
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part I
A domain-specific language for URDAD based requirements elicitation
Proceedings of the South African Institute of Computer Scientists and Information Technologists Conference on Knowledge, Innovation and Leadership in a Diverse, Multidisciplinary Environment
An ontology-based approach for modelling architectural styles
ECSA'07 Proceedings of the First European conference on Software Architecture
Experiences with using the systematic method for architecture recovery (SyMAR)
Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference
Hi-index | 0.00 |
Currently there is no consensus on what exactly software architecture is or where the boundary between software architecture design and application design lies. In this paper the concept of a software architecture is analyzed from a number of different perspectives. In particular, it is argued that a software reference architecture is a relatively pure specification of a software architecture as it addresses only infrastructural and quality concerns and does not provide any application functionality. Two examples of widely adopted reference architectures are analyzed in order to gain a deeper understanding of the concept of a software architecture. Current definitions of software architecture are analyzed and three classes of software architecture definitions are identified. The differences of the concept of software architecture across these classes is discussed and their relationships to current architecture description languages are explored. It is argued that none these definitions provide a sound basis for differentiating between application and architecture components. Based on insights obtained from the analyzed reference architectures, the paper proposes a new definition of software architecture as well as a specification of the elements of a software architecture specification. Software architecture is defined as the software infrastructure within which application components providing user functionality can be specified, deployed and executed. It is argued that a software architecture description should include, across levels of granularity, the basic concepts and constraints within which application components are to be specified, the architectural components addressing technical concerns, the integration infrastructure, and the architectural strategies used to concretely address quality requirements.