Open AccessBook
Software Architecture: Foundations, Theory, and Practice
Reads0
Chats0
TLDR
This tutorial affords the participant an extensive treatment of the field of software architecture, its foundation, principles, and elements, including those mentioned above, and looks at emerging and likely future trends in this field.Abstract:
Software architecture has become a centerpiece subject for software engineers, both researchers and practitioners alike. At the heart of every software system is its software architecture, i.e., "the set of principal design decisions about the system". Architecture permeates all major facets of a software system, for principal design decisions may potentially be made at any time during a system's lifetime, and potentially by any stakeholder. Such decisions encompass structural concerns, such as the system's high-level building blocks---components, connectors, and configurations; the system's deployment; the system's non-functional properties; and the system's evolution patterns, including runtime adaptation. Software architectures found particularly useful for families of systems---product lines---are often codified into architectural patterns, architectural styles, and reusable, parameterized reference architectures. This tutorial affords the participant an extensive treatment of the field of software architecture, its foundation, principles, and elements, including those mentioned above. Additionally, the tutorial introduces the participants to the state-of-the-art as well as the state-of-the-practice in software architecture, and looks at emerging and likely future trends in this field. The discussion is illustrated with numerous real-world examples. One example given prominent treatment is the architecture of the World Wide Web and its underlying architectural style, REpresentational State Transfer (REST).read more
Citations
More filters
Journal ArticleDOI
A distributed, architecture-centric approach to computing accurate recommendations from very large and sparse datasets
Hossein Saiedian,Serhiy Morozov +1 more
TL;DR: This work introduces a novel architecture model that supports scalable, distributed suggestions from multiple independent nodes, and proposes a novel algorithm that generates a more optimal recommender input, which is the reason for a considerable accuracy improvement.
Proceedings ArticleDOI
The Blockchain as a Software Connector
Xiwei Xu,Cesare Pautasso,Liming Zhu,Vincent Gramoli,Alexander Ponomarev,An Binh Tran,Shiping Chen +6 more
TL;DR: This paper provides rationales to support the architectural decision on whether to employ a decentralized blockchain as opposed to other software solutions, like traditional shared data storage and explores specific implications of using the blockchain as a software connector including design trade-offs regarding quality attributes.
Proceedings ArticleDOI
Software traceability with topic modeling
TL;DR: An automated technique that combines traceability with a machine learning technique known as topic modeling is proposed that automatically records traceability links during the software development process and learns a probabilistic topic model over artifacts.
Journal ArticleDOI
Enabling high-level application development for the Internet of Things
Pankesh Patel,Damien Cassou +1 more
TL;DR: In this article, a development methodology that separates IoT application development into different concerns and provides a conceptual framework to develop an application, and a development framework that implements the development methodology to support actions of stakeholders.
Proceedings ArticleDOI
Identifying Architectural Bad Smells
TL;DR: This paper defines architectural smells and differentiate them from related concepts, such as architectural antipatterns and code smells, and describes four representative architectural smells the authors encountered in the context of reverse-engineering eighteen grid technologies and refactoring one large industrial system.