Managing Trade-offs in Adaptable Software Architectures

Managing Trade-offs in Adaptable Software Architectures

Author: Ivan Mistrik

Publisher: Morgan Kaufmann

Published: 2016-08-12

Total Pages: 432

ISBN-13: 0128028912

DOWNLOAD EBOOK

Managing Trade-Offs in Adaptable Software Architectures explores the latest research on adapting large complex systems to changing requirements. To be able to adapt a system, engineers must evaluate different quality attributes, including trade-offs to balance functional and quality requirements to maintain a well-functioning system throughout the lifetime of the system. This comprehensive resource brings together research focusing on how to manage trade-offs and architect adaptive systems in different business contexts. It presents state-of-the-art techniques, methodologies, tools, best practices, and guidelines for developing adaptive systems, and offers guidance for future software engineering research and practice. Each contributed chapter considers the practical application of the topic through case studies, experiments, empirical validation, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to, how to architect a system for adaptability, software architecture for self-adaptive systems, understanding and balancing the trade-offs involved, architectural patterns for self-adaptive systems, how quality attributes are exhibited by the architecture of the system, how to connect the quality of a software architecture to system architecture or other system considerations, and more. - Explains software architectural processes and metrics supporting highly adaptive and complex engineering - Covers validation, verification, security, and quality assurance in system design - Discusses domain-specific software engineering issues for cloud-based, mobile, context-sensitive, cyber-physical, ultra-large-scale/internet-scale systems, mash-up, and autonomic systems - Includes practical case studies of complex, adaptive, and context-critical systems


Software Architecture. ECSA 2022 Tracks and Workshops

Software Architecture. ECSA 2022 Tracks and Workshops

Author: Thais Batista

Publisher: Springer Nature

Published: 2023-07-15

Total Pages: 492

ISBN-13: 3031368894

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the tracks and workshops which complemented the 16th European Conference on Software Architecture, ECSA 2022, held in Prague, Czech Republic, in September 2022. The 26 full papers presented together with 4 short papers and 2 tutorial papers in this volume were carefully reviewed and selected from 61 submissions. Papers presented were accepted into the following tracks and workshops: Industry track; Tools and Demonstrations Track; Doctoral Symposium; Tutorials; 8th International Workshop on Automotive System/Software Architectures (WASA); 5th Context-Aware, Autonomous and Smart Architectures International Workshop (CASA); 6th International Workshop on Formal Approaches for Advanced Computing Systems (FAACS); 3rd Workshop on Systems, Architectures, and Solutions for Industry 4.0 (SASI4); 2nd International Workshop on Designing and Measuring Security in Software Architectures (DeMeSSA); 2nd International Workshop on Software Architecture and Machine Learning (SAML); 9th Workshop on Software Architecture Erosion and Architectural Consistency (SAEroCon); 2nd International Workshop on Mining Software Repositories for Software Architecture (MSR4SA); and 1st International Workshop on Digital Twin Architecture (TwinArch).


Software Architecture

Software Architecture

Author: Tomas Bures

Publisher: Springer Nature

Published: 2019-09-02

Total Pages: 295

ISBN-13: 303029983X

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the 13th European Conference on Software Architecture, ECSA 2019, held in Paris, France, in September 2019. In the Research Track, 11 full papers presented together with 4 short papers were carefully reviewed and selected from 63 submissions. They are organized in topical sections as follows: Services and Micro-services, Software Architecture in Development Process, Adaptation and Design Space Exploration, and Quality Attributes. In the Industrial Track, 6 submissions were received and 3 were accepted to form part of these proceedings.


Software Project Management for Distributed Computing

Software Project Management for Distributed Computing

Author: Zaigham Mahmood

Publisher: Springer

Published: 2017-04-04

Total Pages: 399

ISBN-13: 3319543253

DOWNLOAD EBOOK

This unique volume explores cutting-edge management approaches to developing complex software that is efficient, scalable, sustainable, and suitable for distributed environments. Practical insights are offered by an international selection of pre-eminent authorities, including case studies, best practices, and balanced corporate analyses. Emphasis is placed on the use of the latest software technologies and frameworks for life-cycle methods, including the design, implementation and testing stages of software development. Topics and features: · Reviews approaches for reusability, cost and time estimation, and for functional size measurement of distributed software applications · Discusses the core characteristics of a large-scale defense system, and the design of software project management (SPM) as a service · Introduces the 3PR framework, research on crowdsourcing software development, and an innovative approach to modeling large-scale multi-agent software systems · Examines a system architecture for ambient assisted living, and an approach to cloud migration and management assessment · Describes a software error proneness mechanism, a novel Scrum process for use in the defense domain, and an ontology annotation for SPM in distributed environments · Investigates the benefits of agile project management for higher education institutions, and SPM that combines software and data engineering This important text/reference is essential reading for project managers and software engineers involved in developing software for distributed computing environments. Students and researchers interested in SPM technologies and frameworks will also find the work to be an invaluable resource. Prof. Zaigham Mahmood is a Senior Technology Consultant at Debesis Education UK and an Associate Lecturer (Research) at the University of Derby, UK. He also holds positions as Foreign Professor at NUST and IIU in Islamabad, Pakistan, and Professor Extraordinaire at the North West University Potchefstroom, South Africa.


Software Architecture for Big Data and the Cloud

Software Architecture for Big Data and the Cloud

Author: Ivan Mistrik

Publisher: Morgan Kaufmann

Published: 2017-06-12

Total Pages: 472

ISBN-13: 0128093382

DOWNLOAD EBOOK

Software Architecture for Big Data and the Cloud is designed to be a single resource that brings together research on how software architectures can solve the challenges imposed by building big data software systems. The challenges of big data on the software architecture can relate to scale, security, integrity, performance, concurrency, parallelism, and dependability, amongst others. Big data handling requires rethinking architectural solutions to meet functional and non-functional requirements related to volume, variety and velocity. The book's editors have varied and complementary backgrounds in requirements and architecture, specifically in software architectures for cloud and big data, as well as expertise in software engineering for cloud and big data. This book brings together work across different disciplines in software engineering, including work expanded from conference tracks and workshops led by the editors. - Discusses systematic and disciplined approaches to building software architectures for cloud and big data with state-of-the-art methods and techniques - Presents case studies involving enterprise, business, and government service deployment of big data applications - Shares guidance on theory, frameworks, methodologies, and architecture for cloud and big data


Software Architecture

Software Architecture

Author: Anton Jansen

Publisher: Springer Nature

Published: 2020-09-09

Total Pages: 370

ISBN-13: 3030589234

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the 14th International Conference on Software Architecture, ECSA 2020, held in A’quila, Italy, in September 2020. In the Research Track, 12 full papers presented together with 5 short papers were carefully reviewed and selected from 103 submissions. They are organized in topical sections as follows: microservices; uncertainty, self-adaptive, and open systems; model-based approaches; performance and security engineering; architectural smells and source code analysis; education and training; experiences and learnings from industrial case studies; and architecting contemporary distributed systems. In the Industrial Track, 11 submissions were received and 6 were accepted to form part of these proceedings. In addition the book contains 3 keynote talks. Due to the Corona pandemic ECSA 2020 was held as an virtual event.


Knowledge Management in the Development of Data-Intensive Systems

Knowledge Management in the Development of Data-Intensive Systems

Author: Ivan Mistrik

Publisher: CRC Press

Published: 2021-06-15

Total Pages: 342

ISBN-13: 1000387410

DOWNLOAD EBOOK

Data-intensive systems are software applications that process and generate Big Data. Data-intensive systems support the use of large amounts of data strategically and efficiently to provide intelligence. For example, examining industrial sensor data or business process data can enhance production, guide proactive improvements of development processes, or optimize supply chain systems. Designing data-intensive software systems is difficult because distribution of knowledge across stakeholders creates a symmetry of ignorance, because a shared vision of the future requires the development of new knowledge that extends and synthesizes existing knowledge. Knowledge Management in the Development of Data-Intensive Systems addresses new challenges arising from knowledge management in the development of data-intensive software systems. These challenges concern requirements, architectural design, detailed design, implementation and maintenance. The book covers the current state and future directions of knowledge management in development of data-intensive software systems. The book features both academic and industrial contributions which discuss the role software engineering can play for addressing challenges that confront developing, maintaining and evolving systems;data-intensive software systems of cloud and mobile services; and the scalability requirements they imply. The book features software engineering approaches that can efficiently deal with data-intensive systems as well as applications and use cases benefiting from data-intensive systems. Providing a comprehensive reference on the notion of data-intensive systems from a technical and non-technical perspective, the book focuses uniquely on software engineering and knowledge management in the design and maintenance of data-intensive systems. The book covers constructing, deploying, and maintaining high quality software products and software engineering in and for dynamic and flexible environments. This book provides a holistic guide for those who need to understand the impact of variability on all aspects of the software life cycle. It leverages practical experience and evidence to look ahead at the challenges faced by organizations in a fast-moving world with increasingly fast-changing customer requirements and expectations.


Software Engineering for Self-Adaptive Systems III. Assurances

Software Engineering for Self-Adaptive Systems III. Assurances

Author: Rogério de Lemos

Publisher: Springer

Published: 2018-01-16

Total Pages: 440

ISBN-13: 3319741837

DOWNLOAD EBOOK

A major challenge for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, energy-efficient, customizable, and configurable when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip the software system with self-adaptation capabilities. Despite recent advances in this area, one key aspect that remains to be tackled in depth is the provision of assurances. Originating from a Dagstuhl seminar held in December 2013, this book constitutes the third volume in the series “Software Engineering for Self-Adaptive Systems”, and looks specifically into the provision of assurances. Opening with an overview chapter on Research Challenges, the book presents 13 further chapters written and carefully reviewed by internationally leading researchers in the field. The book is divided into topical sections on research challenges, evaluation, integration and coordination, and reference architectures and platforms.


Handbook of Software Engineering

Handbook of Software Engineering

Author: Sungdeok Cha

Publisher: Springer

Published: 2019-02-11

Total Pages: 533

ISBN-13: 3030002624

DOWNLOAD EBOOK

This handbook provides a unique and in-depth survey of the current state-of-the-art in software engineering, covering its major topics, the conceptual genealogy of each subfield, and discussing future research directions. Subjects include foundational areas of software engineering (e.g. software processes, requirements engineering, software architecture, software testing, formal methods, software maintenance) as well as emerging areas (e.g., self-adaptive systems, software engineering in the cloud, coordination technology). Each chapter includes an introduction to central concepts and principles, a guided tour of seminal papers and key contributions, and promising future research directions. The authors of the individual chapters are all acknowledged experts in their field and include many who have pioneered the techniques and technologies discussed. Readers will find an authoritative and concise review of each subject, and will also learn how software engineering technologies have evolved and are likely to develop in the years to come. This book will be especially useful for researchers who are new to software engineering, and for practitioners seeking to enhance their skills and knowledge.