Software Architecture: 17th European Conference, ECSA 2023, Istanbul, Turkey, September 18–22, 2023, Proceedings

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book constitutes the refereed proceedings of the 17th International Conference on Software Architecture, ECSA 2023, held in Istanbul, Turkey, in September 2023.
The 16 full papers and the 9 short papers included in this volume were carefully reviewed and selected from 71 submissions. They address the most recent, innovative, and significant findings and experiences in the field of software architecture research and practice.

Author(s): Bedir Tekinerdogan (editor), Catia Trubiani (editor), Chouki Tibermacine (editor), Patrizia Scandurra (editor), Carlos E. Cuesta (editor)
Series: Lecture Notes in Computer Science, 14212
Edition: 1
Publisher: Springer
Year: 2023

Language: English
Pages: 387
City: Cham
Tags: Computer Software Maintenance; Network Protocols; Object-Oriented Programming; Software Architecture; Software Engineering; Software Organization; Software System Structure; Software Architectures; Computer Networks; Software Notations; System Description Languages; Designing Software; Software Design Tradeoffs; Software Implementation Planning; Software Design Techniques; Distributed Systems Organizing Principles; Computer Programming

Preface
Organization
Abstract of Keynotes
The Trek Towards Sustainability - Truth, Tale, or Transition?
Green IT: How You Can Take Action Now
Software Architecture in the Era of Collective Intelligence: The Rise of Systems-of-Systems
Contents
Quality in Software Architectures
Supporting the Exploration of Quality Attribute Tradeoffs in Large Design Spaces
1 Introduction
2 Example: A Client-Server Design Space
3 Requirements for Tradeoff Explainability
4 Approach
4.1 Design Representation Using a Search Graph
4.2 Clustering of the Quality-Attribute Space
4.3 Distance Between Architectural Configurations
4.4 Explanation Charts
5 Study Design
5.1 Client-Server Design Space
5.2 User Study
6 Findings
6.1 Threats to Validity
7 Related Work
8 Conclusions
References
Tool Support for the Adaptation of Quality of Service Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures
1 Introduction
2 Approach Overview
3 Approach Details
3.1 Reconfiguration Activities of the Dynamic Configurator
3.2 Analytical Models
4 Tool Overview
5 Evaluation
5.1 Evaluation Cases
5.2 Results Analysis
6 Threats to Validity
7 Related Work
8 Conclusions
References
Architecture-Based Attack Path Analysis for Identifying Potential Security Incidents
1 Introduction
2 Modeling Attack Paths and Path Selection
3 Attack Path Identification
4 Evaluation
5 Related Work
6 Conclusion
References
Carving Sustainability into Architecture Knowledge Practice
1 Introduction
1.1 Background
1.2 Related Studies
2 Methodology
2.1 Study Objective and Questions
2.2 Study Design
3 Main Findings and Results
3.1 Demographics
3.2 Architecture Knowledge Elements
3.3 Architecture Knowledge Representation
3.4 Architecture Knowledge Communication
3.5 Sustainability
4 Discussion
5 Threats to Validity
6 Conclusion
References
Guidance Models for Designing Big Data Cyber Security Analytics Systems
1 Introduction
2 Research Approach
3 Guidance Models
3.1 Data Engineering
3.2 Feature Engineering
3.3 Process Engineering
3.4 Data Processing
3.5 Data Post-Processing
4 Related Work
5 Conclusions
References
Architecture Modeling and Design
Automated Integration of Heteregeneous Architecture Information into a Unified Model
1 Introduction
2 Background
2.1 Digital Architecture Twin
2.2 Architecture Information Recovery Methods
3 Problem Statement and Challenges for Architecture Information Integration
4 Detailed Architecture Integration Approach
5 Implementation
6 Evaluation
6.1 Goals and Questions
6.2 Metrics
6.3 Methodology
6.4 Results and Discussion
6.5 Threats to Validity
7 Related Work
8 Conclusion
References
An Experience Report on the Design and Implementation of an Ad-hoc Blockchain Platform for Tactical Edge Applications
1 Introduction
2 Context and Architectural Vision
2.1 Current Architecture: Centralised Information Platform
2.2 Vision: Decentralised Secure Information Platform
3 Design and Implementation of the Platform
3.1 Requirements and Constraints
3.2 Platform Architecture
3.3 Platform Implementation
3.4 Platform Bootstrapping Process
4 Develop and Deploy Applications with the Platform
4.1 Application Architecture
4.2 Application Development Process
4.3 Application Deployment Process
5 Case Study
5.1 Context
5.2 Implementation
5.3 Deployment and Operation
6 Lessons Learned
7 Related Work
8 Conclusions
References
Designing a Reference Architecture for the C-ITS Services
1 Introduction
2 Method
2.1 Abstraction Phase
2.2 Description Phase
2.3 Architecture Review
3 Results
3.1 C-ITS System Classification
3.2 C-ITS Architecture Description
4 Lessons Learnt
5 Conclusion and Future Work
References
Towards Assessing Spread in Sets of Software Architecture Designs
1 Introduction
2 Motivating Example
3 Related Work
4 Proposed Architectural Quality Indicator
4.1 Architectural Distance as Sequence Distance
4.2 Application of MAS
5 Conclusion
References
Continuous Evaluation of Consistency in Software Architecture Models
1 Introduction
2 Related Work
3 Approach
3.1 Supporting Tools
4 Evaluation
5 Discussion
6 Final Remarks
References
Artificial Intelligence and Autonomous Systems
Architecting Explainable Service Robots
1 Introduction
2 Preliminaries
3 Towards Explainable HMT
4 Explainability Levels
5 Architectural Solution
6 Evaluation
7 Related Work
8 Conclusion and Future Work
References
Analysing Interoperability in Digital Twin Software Architectures for Manufacturing
1 Introduction
2 Background
2.1 ISO 23247 and Information Exchange
2.2 The Conceptual Interoperability Model
3 Research Methodology
3.1 Research Goal and Questions
3.2 Search and Selection Process
3.3 Classification Framework and Data Extraction
3.4 Data Analysis and Synthesis
3.5 Threats to Validity
4 Results
4.1 How Is Data Exchanged? (RQ1)
4.2 Interoperability Level (RQ2)
5 Summary, Discussion and Future Directions
6 Related Work
7 Conclusion and Future Work
References
Architecting Artificial Intelligence for Autonomous Cars: The OpenPilot Framework
1 Introduction
2 Research Materials and Methods
3 Framework Architecture
4 OpenPilot and SelfDrive
4.1 Package Structure
4.2 The ModelD Artificial Intelligence Module
5 OpenPilot: A Technical and Socio-Organizational Quality Analysis
6 Discussions
7 Conclusions
References
Designing and Evaluating Interoperable Industry 4.0 Middleware Software Architecture: Reconfiguration of Robotic System
1 Introduction and Motivation
2 Problem and Approach
2.1 Use Case: Upload Program
2.2 Problem
2.3 Approach
3 Quality Attribute Scenario
4 Middleware Software Architecture Design
4.1 Design
4.2 Tactics
5 Evaluation
5.1 Design
5.2 Measurements, Pilot Test, and Analysis
6 Conclusion
References
Shaping IoT Systems Together: The User-System Mixed-Initiative Paradigm and Its Challenges
1 Introduction
2 Related Works
3 Smart City Scenario and IoT-Together Paradigm
4 Discussion, Challenges, and Future Directions
References
Software Architecture Implementation and Deployment
Analyzing the Evolution of Inter-package Dependencies in Operating Systems: A Case Study of Ubuntu
1 Introduction
2 Background and Motivation
2.1 Software Complexity
2.2 Code Dependency Types
3 Our Approach and Implementation
4 Studying the Architectural Aspects of Ubuntu
5 Findings and Results
5.1 OS-Wide Dependency Graph
5.2 Dependencies Coupling Aspects
5.3 Dependency Graphs Evolutionary Trends
6 Discussion
6.1 Threats to Validity
6.2 Challenges and Limitations
7 Related Work
8 Conclusion and Future Work
References
A Graph-Based Java Projects Representation for Antipatterns Detection
1 Introduction
2 Proposed Approach for Graph Construction
2.1 Relations Between Classes
2.2 Relations Between Classes and Methods
2.3 Relations Between Methods
2.4 Automatic Graph Generation: Tool Implementation
3 Antipatterns Mathematical Formulation
3.1 God Class Antipattern: Mathematical Formulation
3.2 Circuitous Treasure Hunt Antipattern: Mathematical Formulation
3.3 Empty Semi Truck Antipattern: Mathematical Formulation
4 Related Work
4.1 Graph-Based Representation of Object-Oriented Projects
4.2 Antipatterns Detection
4.3 Open Challenges of the Approach
5 Conclusion
References
Scalable Cloud-Native Pipeline for Efficient 3D Model Reconstruction from Monocular Smartphone Images
1 Introduction
2 Background and Technology
2.1 Standard and Conventional Techniques
2.2 AI-Based Techniques
3 Proposed Pipeline
3.1 Pipeline Definition
3.2 Data Acquisition
3.3 Preprocessing
3.4 Reconstruction
3.5 Architecture
4 Evaluation
4.1 Qualitative Evaluation
4.2 Performance Evaluation
5 Conclusion and Future Work
References
Automated Reverse Engineering of the Technology-Induced Software System Structure
1 Introduction
2 Foundation
3 Approach
4 Evaluation
5 Related Work
6 Conclusion
References
Cloud-Native Architecture for Mixed File-Based and API-Based Digital Twin Exchange
1 Introduction
2 Digital Twins in a Nutshell
2.1 Scope and Key Concepts
2.2 Architectural Challenges for Digital Twins and AAS
3 Cloud-Native Architecture for AAS Implementation
4 Related Work
5 Summary and Future Work
References
Software Architecture Documentation
What Rationales Drive Architectural Decisions? An Empirical Inquiry
1 Introduction
2 Related Work
3 Method
3.1 Questionnaire: Data-Gathering
3.2 Questionnaire: Analysis
3.3 Interviews: Data Gathering
3.4 Interviews: Analysis
4 Results
4.1 RQ1 & RQ2: Most Frequent Rationales and Prioritised Software Quality Attributes
4.2 RQ3: Rationales' Origins
5 Discussion
6 Threats to Validity
7 Conclusion
References
Learning from Each Other: How Are Architectural Mistakes Communicated in Industry?
1 Introduction
2 Method
2.1 Data Collection
2.2 Data Analysis
3 Results
3.1 RQ1: Definition and Characteristics of SA Mistakes
3.2 RQ2: Management of SA Mistakes
3.3 RQ3: Communication of SA Mistakes
4 Discussion
4.1 Increase Detection Trigger
4.2 Ensure Communication Opportunities
5 Related Work
6 Threats to Validity
7 Conclusion
References
A Query Language for Software Architecture Information
1 Introduction
2 The Digital Architecture Twin (DArT)
3 Application Scenarios
4 The Architecture Information Query Language (AIQL)
5 User Study
6 Related Work
7 Conclusion and Future Work
References
Extracting the Architecture of Microservices: An Approach for Explainability and Traceability
1 Introduction
2 Related Works
3 Our Approach
3.1 Tree Structure Abstraction
3.2 Generic Exploratory Algorithm
3.3 Scanner
4 Case Study
4.1 Comparison of Manually Derived and Automatically Extracted Views
4.2 Detectors
4.3 Traces
5 Discussion
6 Conclusion
References
A Comparison of Static and Dynamic Analysis to Identify Microservices in Monolith Systems
1 Introduction
2 Related Work
3 Monolith Microservices Identification
3.1 Data Collection Tools
3.2 Monolith Monitoring
3.3 Static vs Dynamic Data Collection
4 Evaluation
4.1 Complexity and Similarity Measures Correlation
4.2 Best Complexity Decomposition
4.3 Lessons Learned
5 Conclusions
References
Author Index