Special Issue on The Next Generation of Software Architecture
• 大类 : 工程技术 - 3区
• 小类 : 计算机：软件工程 - 2区
• 小类 : 计算机：理论方法 - 3区
Software Architecture has been a popular and relevant topic within Software Engineering since it was first established in the mid 1990’s. First, the discipline had a descriptive approach, in which architecture was conceived as a reusable abstraction (model) of a system. This approach made possible to reason and act upon the system as a whole; also, to build more elaborate structures, raising the complexity level of software design. Then, the discipline evolved towards a prescriptive approach, which emphasized the importance of architectural design decisions and their impact on system qualities, as well as the role of architectural knowledge as the basis of common understanding within software. Both approaches have become established and have become a standard in software development.
With the advent of the third decade of software architecture, new developments and technologies raise new challenges for the field, as they require new architectural solutions which go beyond the existing expertise. The rise of big data presents new concerns, affecting complexity, velocity, and scale. Complexity is also present in the requirements of demanding hybrid structures, such as autonomous and self-adaptive systems, context-aware and cyber-physical environments, or large-scale systems-of-systems, such as smart cities. Velocity requires advanced approaches for real-time processing, such as event-driven and streaming architectures; and considering different paradigms, provided as reactive or functional notions. Scalability requires novel abstractions, such as containers and microservices, and presents cloud computing as a reality. The cloud itself defines a new landscape, with its own requirements for software architecture, and the potential of the serverless promise. At the same time, the ubiquity of mobile devices and the IoT describes a decentralized prospect, which has found such expressions as the distributed blockchain and fog computing. And together with all these, the ultimate integration of artificial intelligence concepts seems to advance the next generation in software development.
The improvements and substantial progress in the field of architecture has allowed software itself to reach an unprecedented complexity level, which is firmly set in the basis of these challenges. Therefore, despite its success in the last decades, the renewed interest from the industry shows that much work remains still to be done to achieve the vision of software architecture as a full-fledged engineering discipline.
We invite to this special issue high-quality contributions with innovative and significant findings and experiences in the field of software architecture. We accept as submissions original and previously unpublished papers as well as extended versions of papers presented at the 12th European Conference on Software Architecture (ECSA 2018).
Objectives and Topics
The aim of this special issue is to document new contributions to software architecture research. We seek high-quality and original contributions on principles, methods, foundations, techniques and tools as well as empirical studies, systematic literature reviews and mapping studies in the software architecture field.
All submissions should be supported by appropriate arguments and validation through case studies, experiments, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited, to:
Foundational principles of software architecture
New developments in architectural design, analysis and evaluation
Architectures for reconfigurable and self-adaptive systems
Architectural concerns of autonomic systems
Software architecture and big data
Software architecture and the cloud
Software architecture and virtualization
Architectures for cyber-physical systems
Architectures for ultra-large scale, long-lived systems and systems-of-systems
Micro Service-oriented Architectures (M/SOA) and services
Decentralized architectures and their application to distributed ledgers
Management of architectural knowledge, decisions, and rationale
Innovative architecture-centric process models and frameworks
Architectural design, analysis and evaluation
Architecture description languages and meta-models
Formal methods in software architecture
Cross disciplinary efforts and software architecture
Architectural patterns, styles and tactics, reference architectures
Architecture refactoring and reengineering, reverse engineering
Architecture-centric model driven engineering
Architecture transformation and refinement
Component-based models and deployment, middleware
Software architecture and system architecture, including software-defined networking
Software tools and environments for architecture-centric software engineering
Industrial applications, case studies, best practices and experience reports
Empirical studies, systematic literature reviews and mapping studies in software architecture.