
Software Architecture
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Preface
- Organization
- Contents
- Software Architecture Quality and Design Reasoning
- Software Architecture Challenges and Emerging Research in Software-Intensive Systems-of-Systems
- Abstract
- 1 Introduction
- 2 The Notion of System-of-Systems
- 3 Roadmaps for the Research on Systems-of-Systems
- 4 Software Architecture Challenges in Systems-of-Systems
- 5 Enhancing Architectural Concepts for SoS
- 6 Emerging Research on SoS Architecture Description
- 7 Lessons Learnt from Applying SosADL in a Case Study
- 8 Related Work on SoS Formal Architecture Description
- 9 Conclusion and Future Work
- References
- Software Architecture Design Reasoning: A Card Game to Help Novice Designers
- 1 Introduction
- 2 Design Reasoning
- 2.1 Design Reasoning Techniques
- 3 Student Experiment
- 3.1 Experiment Design and Pilot Testing
- 3.2 Results
- 4 Discussion
- 4.1 Thorough Reasoning vs Satisficing
- 4.2 How Cards Influence Design Discourse
- 4.3 Reasoning with Risk, Assumption and Trade-Off
- 4.4 Reasoning with Design Context, Problems and Solutions
- 4.5 Constraint Identification
- 5 Threats to Validity
- 5.1 Internal Validity
- 5.2 External Validity
- 5.3 Reliability
- 6 Conclusions
- References
- A Long Way to Quality-Driven Pattern-Based Architecting
- 1 Introduction
- 2 Background and Related Work
- 3 Study Design
- 3.1 Research Questions
- 3.2 Data Sources and Search Strategy
- 3.3 Study Selection
- 4 Analysis and Results
- 4.1 RQ1: On Pattern-QA Relations
- 4.2 What Do We Learn? (Answer to RQ1)
- 4.3 RQ2: On Classifying the Approaches
- 4.4 What Do We Learn? (Answer to RQ2)
- 4.5 RQ 3-Challenges: Combination of patterns
- 4.6 Combination of Patterns
- 4.7 What Do We Learn? (Answer to RQ3)
- 5 Threats to Validity
- 6 Conclusion
- References
- Diversifying Software Architecture for Sustainability: A Value-Based Perspective
- 1 Introduction
- 2 Background
- 3 Architecture Diversification as a Real Options Problem
- 4 The Approach
- 5 Preliminary Evaluation
- 6 Conclusion
- References
- Software Architecture Documentation
- Towards Seamless Analysis of Software Interoperability: Automatic Identification of Conceptual Constraints in API Documentation
- 1 Introduction
- 2 Background
- 2.1 Conceptual Interoperability Constraints
- 2.2 Machine Learning for Text Classification
- 3 Related Work
- 4 Research Methodology
- 5 Multiple-Case Study: Building the Ground Truth Dataset for COINs
- 5.1 Study Design
- 5.2 Study Execution and Results
- 5.3 Discussion
- 5.4 Threats to Validity
- 6 Experiments: Automatic Identification of COINs Using Machine Learning
- 6.1 Experiments Design
- 6.2 Experiments Execution and Results
- 6.3 Discussion and Limitations
- 7 Tool Support (A Prototype)
- 8 Conclusion and Future Work
- References
- Design Decision Documentation: A Literature Overview
- 1 Introduction
- 2 Related Literature Reviews
- 3 Overview Methodology
- 3.1 Classification Dimensions
- 3.2 Overview Process
- 3.3 Inclusion and Exclusion Criteria
- 4 Overview Results
- 4.1 Results Taxonomy and Structured Overview
- 4.2 Research Area Open Questions
- 5 Discussion
- 5.1 Limitations
- 5.2 Lessons Learned
- 6 Conclusion and Future Work
- References
- Task-Specific Architecture Documentation for Developers
- Abstract
- 1 Introduction
- 2 Related Work
- 3 Approach Overview
- 3.1 Task-Specific Architecture Documentation
- 3.2 Development Setting and Tooling
- 3.3 Foundational Principles of the Modeling Approach
- 4 Detailed Approach
- 4.1 Task Specification
- 4.2 Selection
- 4.3 Concept Interleaving
- 4.4 Development Time Shift
- 5 Example
- 6 Validation and Future Work
- References
- Runtime Architecture
- Architectural Homeostasis in Self-Adaptive Software-Intensive Cyber-Physical Systems
- Abstract
- 1 Introduction
- 2 Running Example and Background
- 2.1 Cleaning Robots Example
- 2.2 DEECo Model of Cleaning Robots - Running Example
- 3 Homeostasis at the Architectural Level
- 3.1 H-Mechanism #1: Collaborative Sensing
- 3.2 H-Mechanism #2: Faulty Component Isolation from Adaptation
- 3.3 H-Mechanism #3: Enhancing Mode Switching
- 4 Evaluation and Discussion
- 4.1 Experiment Design and Testbed
- 4.2 Results and Discussion
- 5 Related Work
- 6 Conclusions
- Acknowledgements
- References
- Executing Software Architecture Descriptions with SysADL
- Abstract
- 1 Introduction
- 2 Overview of SysADL Structural and Behavioral Viewpoints
- 2.1 Structural Viewpoint Overview
- 2.2 Behavioral Viewpoint Overview
- 3 SysADL Executable Viewpoint
- 3.1 The Executable Element
- 3.2 Action Language
- 4 Related Work
- 5 Conclusion
- References
- Towards an Architecture for an UI-Compositor for Multi-OS Environments
- 1 Introduction
- 2 Related Work
- 3 UI-Compositor
- 3.1 Layers of Decision Making
- 3.2 Hierarchies in Multi-OS Environments
- 3.3 Influence of Modalities
- 3.4 Other Approaches
- 4 Architecture
- 4.1 Client/Server Architecture
- 4.2 Publish/Subscribe and Data-Container Architecture
- 5 Conclusion
- 6 Future Work
- References
- Software Architecture Evolution
- Inferring Architectural Evolution from Source Code Analysis
- Abstract
- 1 Introduction
- 2 Background and Related Work
- 2.1 Architectural Tactics
- 2.2 Related Work
- 3 An Approach for Inferring Architectural Evolution from Source Code
- 4 Defining Operational Representations of Tactics
- 4.1 High-Level Descriptions of Tactics
- 4.2 Operational Representations of Tactics: Actions and Constraints
- 4.3 Tool Support
- 5 Detecting Tactics Occurrences in Software Systems
- 5.1 Computing and Storing Deltas Between Versions
- 5.2 Detecting Tactics Occurrences
- 6 Case Study: Analyzing the Architectural Evolution Trend of JFreeChart
- 6.1 Effectiveness for Detecting Architectural Tactics
- 6.2 Detecting Architectural Evolution Trends
- 6.3 Threats to Validity
- 7 Conclusion and Future Work
- References
- Evolution Style: Framework for Dynamic Evolution of Real-Time Software Architecture
- 1 Introduction
- 2 Related Work
- 3 Issues in Dynamic Software Architecture Evolution
- 3.1 Safe Stopping of Running Artifacts
- 3.2 Transferring State
- 3.3 Change Management
- 3.4 Dynamic Evolution Scheduling
- 4 Dynamic Meta Evolution Style
- 5 Conclusions
- References
- Retrofitting Controlled Dynamic Reconfiguration into the Architecture Description Language MontiArcAutomaton
- 1 Introduction
- 2 Example
- 3 Retrofitting Controlled C&C Reconfiguration
- 3.1 The MontiArcAutomaton ADL
- 3.2 Overview: Component Modes for Dynamic Reconfiguration
- 3.3 Defining Component Modes
- 3.4 Defining Mode Transitions
- 3.5 Implementation Details of Retrofitting
- 4 Discussion and Related Work
- 5 Conclusion
- References
- Verification and Consistency Management
- Statistical Model Checking of Dynamic Software Architectures
- 1 Introduction
- 2 Statistical Model Checking
- 3 Stochastic Execution of -ADL Models
- 3.1 Modeling Dynamic Architectures in -ADL
- 3.2 Resolving Non-determinism in -ADL
- 3.3 Trace of a Stochastic Execution
- 4 A Novel Notation for Expressing Properties in Dynamic Software Architectures
- 5 A Toolchain to Simulate and Verify Dynamic Software Architectures
- 6 Case Study
- 6.1 Description
- 6.2 Requirements
- 6.3 Experimental Results
- 7 Conclusion
- References
- Consistent Inconsistency Management: A Concern-Driven Approach
- 1 Introduction
- 2 Inconsistency Management in SA
- 3 Concern-Driven Inconsistency Management
- 3.1 Concerns and Concern-Cards
- 3.2 Plan Phase
- 3.3 Do Phase
- 3.4 Check Phase
- 3.5 Act Phase
- 4 Conclusions and Future Work
- References
- Formal Verification of Software-Intensive Systems Architectures Described with Piping and Instrumentation Diagrams
- 1 Introduction
- 2 State of the Art
- 2.1 Software Architecture
- 2.2 Alloy
- 3 Proposed Approach
- 4 P&ID Architectural Style
- 4.1 Component
- 4.2 Connector
- 4.3 Configuration
- 4.4 Style Invariants
- 4.5 Style Consistency
- 5 Translation of P&ID into Alloy
- 6 Case Study
- 6.1 Requirements Elicitation
- 6.2 Requirements Definition
- 6.3 Completeness, Consistency, Compatibility, Correctness
- 6.4 Formal Verification Analysis
- 6.5 Threats to Validity
- 7 Conclusion
- References
- The Software Architect's Role and Concerns
- Architects in Scrum: What Challenges Do They Face?
- Abstract
- 1 Introduction
- 2 Background
- 3 Research Method
- 4 Study Results
- 4.1 Cases
- 4.2 Challenges Between Architect(S) and PO(S)
- 4.3 Challenges Between External Architect(s) and External Stakeholders
- 4.4 Challenges Between External Architect(s) and Team
- 4.5 Challenges Between Architect(s) in Team and External Stakeholders
- 4.6 Discussion
- 4.7 Threats to Validity
- 5 Conclusions
- References
- An Empirical Study on Collaborative Architecture Decision Making in Software Teams
- Abstract
- 1 Introduction
- 2 Background
- 3 Case Study
- 3.1 Case Study Design
- 3.2 Data Collection
- 3.3 Data Analysis
- 4 Architecture Decision Making in the Case Company
- 5 Identified Architecture Decision-Making Challenges
- 6 Conclusion
- Acknowledgements
- References
- Architecture Enforcement Concerns and Activities - An Expert Study
- 1 Introduction
- 2 Background and Related Work
- 2.1 Architecture Decision Enforcement
- 2.2 Architects' Concerns and Activities During Enforcement
- 3 Study Design
- 3.1 Phase 1: Practitioners Interviews
- 3.2 Phase 2: Literature Categories' Integration
- 4 Results
- 4.1 Enforcement Concerns
- 4.2 Architects' Activities for Enforcement
- 5 Discussion
- 5.1 Limitations
- 6 Conclusion and Future Work
- References
- Software Architectures for Web and Mobile Systems
- The Disappearance of Technical Specifications in Web and Mobile Applications
- 1 Introduction
- 2 Study Design
- 2.1 Research Questions
- 2.2 Methodology
- 2.3 Participants and Sampling
- 3 Data Analysis and Interpretation
- 3.1 Analysis RQ1: How are Web and Mobile Applications Designed and How is Design Knowledge About These Applications Preserved in the Industry?
- 3.2 Questions Related to RQ2: Which Parts of the Software Architecture are Re-used Across Modern Web Applications?
- 3.3 Questions Related to RQ3: What is the Average Life Expectancy of Modern Web Applications?
- 3.4 Interpretation RQ1-RQ3
- 4 Threats to Validity
- 5 Conclusions and Future Work
- References
- Architecture Modeling and Analysis of Security in Android Systems
- 1 Introduction
- 2 Background and Related Work
- 2.1 Introduction to Android
- 2.2 Security Architecture Modeling and Analysis
- 3 Modeling Requirements for Android
- 4 An Android Architecture Style
- 4.1 Modeling Apps as Groups
- 4.2 Modeling Implicit and Explicit Intent Communication
- 5 Architecture Discovery
- 6 Architecture Analysis of Android
- 6.1 Conformance Analysis Using Acme
- 6.2 Acme Security Analysis
- 6.3 Integrating with COVERT Security Analysis
- 7 Performance Analysis
- 8 Discussion and Future Work
- References
- Towards a Framework for Building SaaS Applications Operating in Diverse and Dynamic Environments
- 1 Introduction
- 2 Problem Statement and Approach
- 2.1 Problem Statement
- 2.2 Approach
- 3 Chameleonic-SaaS Framework
- 3.1 Identify QA Scenarios
- 3.2 Identify Suitable Tactics
- 3.3 Design Application Architecture
- 3.4 Implement Components
- 3.5 Build Adaptation Manager
- 4 Example
- 5 Related Work
- 6 Discussion
- 7 Conclusion and Future Work
- References
- Software Architecture Reconstruction
- Materializing Architecture Recovered from Object-Oriented Source Code in Component-Based Languages
- 1 Introduction
- 2 Problem Statement
- 2.1 Running Example
- 2.2 Component-Based Architecture Recovery
- 2.3 Code Transformation: Component Source Code Generation Based on Object-Oriented Source Code
- 3 Transforming Object-Oriented Code to Component-Based One
- 3.1 Generating Component Descriptor and Reference of its Implementation
- 3.2 Component Instantiation
- 3.3 Reveal Component-Based Architecture
- 4 Mapping the Proposed Solution onto Component Models
- 4.1 Mapping from Java to OSGi
- 4.2 Mapping from Java to SOFA 2.0
- 5 Discussion
- 6 Related Work
- 7 Conclusion
- References
- Using Hypergraph Clustering for Software Architecture Reconstruction of Data-Tier Software
- 1 Introduction
- 2 Background
- 2.1 PL/SQL Programs
- 2.2 Hypergraphs
- 2.3 Modularity Clustering
- 3 Related Work
- 4 Software Reconstruction with Hypergraphs
- 5 Industrial Case Study
- 6 Conclusion and Future Work
- References
- SeaClouds: An Open Reference Architecture for Multi-cloud Governance
- 1 Motivation and Objectives of SeaClouds
- 2 The SeaClouds Platform: A Reference Architecture
- 2.1 SeaClouds Functionalities and Open Reference Architecture
- 2.2 SeaClouds Implementation and Evaluation
- 3 Conclusions and Future Issues
- References
- Author Index
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.