Future-Proof Software-Systems

Future-Proof Software-Systems
Author: Frank J. Furrer
Publisher: Springer
Total Pages: 395
Release: 2019-09-25
Genre: Computers
ISBN: 3658199385

This book focuses on software architecture and the value of architecture in the development of long-lived, mission-critical, trustworthy software-systems. The author introduces and demonstrates the powerful strategy of “Managed Evolution,” along with the engineering best practice known as “Principle-based Architecting.” The book examines in detail architecture principles for e.g., Business Value, Changeability, Resilience, and Dependability. The author argues that the software development community has a strong responsibility to produce and operate useful, dependable, and trustworthy software. Software should at the same time provide business value and guarantee many quality-of-service properties, including security, safety, performance, and integrity. As Dr. Furrer states, “Producing dependable software is a balancing act between investing in the implementation of business functionality and investing in the quality-of-service properties of the software-systems.” The book presents extensive coverage of such concepts as: Principle-Based Architecting Managed Evolution Strategy The Future Principles for Business Value Legacy Software Modernization/Migration Architecture Principles for Changeability Architecture Principles for Resilience Architecture Principles for Dependability The text is supplemented with numerous figures, tables, examples and illustrative quotations. Future-Proof Software-Systems provides a set of good engineering practices, devised for integration into most software development processes dedicated to the creation of software-systems that incorporate Managed Evolution.

Building Maintainable Software, Java Edition

Building Maintainable Software, Java Edition
Author: Joost Visser
Publisher: "O'Reilly Media, Inc."
Total Pages: 164
Release: 2016-01-28
Genre: Computers
ISBN: 1491953497

Have you ever felt frustrated working with someone else’s code? Difficult-to-maintain source code is a big problem in software development today, leading to costly delays and defects. Be part of the solution. With this practical book, you’ll learn 10 easy-to-follow guidelines for delivering Java software that’s easy to maintain and adapt. These guidelines have been derived from analyzing hundreds of real-world systems. Written by consultants from the Software Improvement Group (SIG), this book provides clear and concise explanations, with advice for turning the guidelines into practice. Examples for this edition are written in Java, while our companion C# book provides workable examples in that language. Write short units of code: limit the length of methods and constructors Write simple units of code: limit the number of branch points per method Write code once, rather than risk copying buggy code Keep unit interfaces small by extracting parameters into objects Separate concerns to avoid building large classes Couple architecture components loosely Balance the number and size of top-level components in your code Keep your codebase as small as possible Automate tests for your codebase Write clean code, avoiding "code smells" that indicate deeper problems

Engineering Adaptive Software Systems

Engineering Adaptive Software Systems
Author: Yijun Yu
Publisher: Springer
Total Pages: 173
Release: 2019-01-14
Genre: Computers
ISBN: 981132185X

This book discusses the problems and challenges in the interdisciplinary research field of self-adaptive software systems. Modern society is increasingly filled with software-intensive systems, which are required to operate in more and more dynamic and uncertain environments. These systems must monitor and control their environment while adapting to meet the requirements at runtime. This book provides promising approaches and research methods in software engineering, system engineering, and related fields to address the challenges in engineering the next-generation adaptive software systems. The contents of the book range from design and engineering principles (Chap. 1) to control–theoretic solutions (Chap. 2) and bidirectional transformations (Chap. 3), which can be seen as promising ways to implement the functional requirements of self-adaptive systems. Important quality requirements are also dealt with by these approaches: parallel adaptation for performance (Chap. 4), self-adaptive authorization infrastructure for security (Chap. 5), and self-adaptive risk assessment for self-protection (Chap. 6). Finally, Chap. 7 provides a concrete self-adaptive robotics operating system as a testbed for self-adaptive systems. The book grew out of a series of the Shonan Meetings on this ambitious topic held in 2012, 2013, and 2015. The authors were active participants in the meetings and have brought in interesting points of view. After several years of reflection, they now have been able to crystalize the ideas contained herein and collaboratively pave the way for solving some aspects of the research problems. As a result, the book stands as a milestone to initiate further progress in this promising interdisciplinary research field.

Mathematical Modeling and Simulation of Systems

Mathematical Modeling and Simulation of Systems
Author: Serhiy Shkarlet
Publisher: Springer Nature
Total Pages: 489
Release: 2022-02-23
Genre: Technology & Engineering
ISBN: 3030899020

This book contains works on mathematical and simulation modeling of processes in various domains: ecology and geographic information systems, IT, industry, and project management. The development of complex multicomponent systems requires an increase in accuracy, efficiency, and adequacy while reducing the cost of their creation. The studies presented in the book are useful to specialists who involved in the development of real events models-analog, management and decision-making models, production models, and software products. Scientists can get acquainted with the latest research in various decisions proposed by leading scholars and identify promising directions for solving complex scientific and practical problems. The chapters of this book contain the contributions presented on the 16th International Scientific-practical Conference, MODS, June 28–July 01, 2021, Chernihiv, Ukraine.

Safety and Security of Cyber-Physical Systems

Safety and Security of Cyber-Physical Systems
Author: Frank J. Furrer
Publisher: Springer Nature
Total Pages: 559
Release: 2022-07-20
Genre: Computers
ISBN: 365837182X

Cyber-physical systems (CPSs) consist of software-controlled computing devices communicating with each other and interacting with the physical world through sensors and actuators. Because most of the functionality of a CPS is implemented in software, the software is of crucial importance for the safety and security of the CPS. This book presents principle-based engineering for the development and operation of dependable software. The knowledge in this book addresses organizations that want to strengthen their methodologies to build safe and secure software for mission-critical cyber-physical systems. The book: • Presents a successful strategy for the management of vulnerabilities, threats, and failures in mission-critical cyber-physical systems; • Offers deep practical insight into principle-based software development (62 principles are introduced and cataloged into five categories: Business & organization, general principles, safety, security, and risk management principles); • Provides direct guidance on architecting and operating dependable cyber-physical systems for software managers and architects.

Architecting the Future: Principles of Modern Software Design

Architecting the Future: Principles of Modern Software Design
Author: Naveen Balani
Publisher: Naveen Balani
Total Pages: 164
Release: 2024-08-31
Genre: Computers
ISBN:

In "Architecting the Future: Principles of Modern Software Design," we embark on a journey through the evolving landscape of software architecture, exploring the principles that underpin the creation of robust, ethical, and sustainable software in our rapidly changing world. This book is not just a guide to software design; it is a manifesto for the future of technology and its role in society. As we stand on the cusp of a new era in technology, marked by breakthroughs like Generative AI, cloud computing, and increasingly interconnected systems, the need for a redefined set of design principles has never been more critical. The traditional approaches to software design are being challenged by the complexities of modern applications, which are not just tools but influential forces shaping our social, economic, and even political landscapes. This book presents a collection of principles that are choices and trade-offs made by architects to strike a balance between competing needs and ideals. These principles are not fixed rules but flexible guidelines, adaptable to the unique challenges and opportunities presented by each project. They acknowledge that every decision in software design is a balancing act between factors like performance and security, innovation and sustainability, flexibility and simplicity.We delve into the significance of each principle, understanding that they collectively represent a holistic approach to software architecture. This approach considers not just the technical aspects of software but its broader impact on society, the environment, and the future. It's about building software that is not only functionally excellent but also ethically sound and socially responsible. Through this book, readers will gain insights into the evolution of software architecture, from its early days to the current trends shaping its future. We will explore how modern applications powered by technologies such as Generative AI demand a new way of thinking about software design. These technologies are not just tools for efficiency but catalysts for change, with the power to transform industries, redefine user experiences, and impact society at large. "Architecting the Future" is more than a technical guide; it's a vision for how we can create software that positively influences the world. It's a call to action for architects, developers, and stakeholders to embrace these principles, understanding that the software we build today is the foundation for the future we will inhabit tomorrow.

Environmental Software Systems. Data Science in Action

Environmental Software Systems. Data Science in Action
Author: Ioannis N. Athanasiadis
Publisher: Springer Nature
Total Pages: 284
Release: 2020-01-29
Genre: Computers
ISBN: 3030398153

This book constitutes the refereed proceedings of the 13th IFIP WG 5.11 International Symposium on Environmental Software Systems, ISESS 2020, held in Wageningen, The Netherlands, in February 2020. The 22 full papers and 3 short papers were carefully reviewed and selected from 29 submissions. The papers cover a wide range of topics on environmental informatics, including data mining, artificial intelligence, high performance and cloud computing, visualization and smart sensing for environmental, earth, agricultural and food applications.

Development and Evolution of Software Architectures for Product Families

Development and Evolution of Software Architectures for Product Families
Author: Frank van der Linden
Publisher: Springer
Total Pages: 267
Release: 2003-08-06
Genre: Computers
ISBN: 3540683836

This book originates from a workshop organised by ESPRIT project 20 477, ARES in Las Palmas de Gran Canaria, Spain, February 1998. ARES is an acronym for Architectural Reasoning for Embedded Systems. Within this project we investigate techniques to deal with problems of software architecture of families of embedded systems. It is the second workshop organised by this project. Its predecessor was held in Las Navas de Marques, Spain, November 1996. The proceedings of the first workshop are only available in electronic format at "http://www.dit.upm.es/~ares/". The second workshop succeeded, even more than the first one, in gathering many of the most prominent people working in the area of software architecture for product families or product lines. This second workshop consisted of six sessions. The first session was meant to report the ARES results, according to the topics of the next five sessions. The remaining sessions dealt with different aspects of software architecture, focussed on applications for product families or product lines. Because there will be a separate book covering all ARES results, the first session is not included in this book. The workshop was chaired by Henk Obbink from Philips Research and Paul Clements from the Software Engineering Institute at Carnegie Mellon University. They prepared and presented an overall conclusion at the end of the workshop. This conclusion was used in the introduction to this book.

Kill It with Fire

Kill It with Fire
Author: Marianne Bellotti
Publisher: No Starch Press
Total Pages: 250
Release: 2021-04-06
Genre: Computers
ISBN: 1718501196

Kill It with Fire chronicles the challenges of dealing with aging computer systems, along with sound modernization strategies. How to survive a legacy apocalypse “Kill it with fire,” the typical first reaction to a legacy system falling into obsolescence, is a knee-jerk approach that often burns through tons of money and time only to result in a less efficient solution. This book offers a far more forgiving modernization framework, laying out smart value-add strategies and proven techniques that work equally well for ancient systems and brand-new ones. Renowned for restoring some of the world’s oldest, messiest computer networks to operational excellence, software engineering expert Marianne Bellotti distills key lessons and insights from her experience into practical, research-backed guidance to help you determine when and how to modernize. With witty, engaging prose, Bellotti explains why new doesn’t always mean better, weaving in illuminating case studies and anecdotes from her work in the field. You’ll learn: Where to focus your maintenance efforts for maximum impact and value How to pick the right modernization solutions for your specific needs and keep your plans on track How to assess whether your migrations will add value before you invest in them What to consider before moving data to the cloud How to determine when a project is finished Packed with resources, exercises, and flexible frameworks for organizations of all ages and sizes, Kill It with Fire will give you a vested interest in your technology’s future.