Conquering Complexity

By Mike Hinchey , Lorcan Coyle

Conquering Complexity Cover Image

This book uncovers techniques to overcome software complexity and enable the production of reliable, dependable computer systems that will operate as intended and are evolvable, both over time and at run time.

Full Description

  • ISBN13: 978-1-4471-2296-8
  • 489 Pages
  • User Level: Science
  • Publication Date: January 2, 2012
  • Available eBook Formats: PDF
  • eBook Price: $159.00
Buy eBook Buy Print Book Add to Wishlist
Full Description
Software has long been perceived as complex, at least within Software Engineering circles. We have been living in a recognised state of crisis since the first NATO Software Engineering conference in 1968. Time and again we have been proven unable to engineer reliable software as easily/cheaply as we imagined. Cost overruns and expensive failures are the norm. The problem is fundamentally one of complexity: software is fundamentally complex because it must be precise. Problems that appear to be specified quite easily in plain language become far more complex when written in a more formal notation, such as computer code. Comparisons with other engineering disciplines are deceptive. One cannot easily increase the factor of safety of software in the same way that one could in building a steel structure, for example. Software is typically built assuming perfection, often without adequate safety nets in case the unthinkable happens. In such circumstances it should not be surprising to find out that (seemingly) minor errors have the potential to cause entire software systems to collapse. The goal of this book is to uncover techniques that will aid in overcoming complexity and enable us to produce reliable, dependable computer systems that will operate as intended, and yet are produced on-time, in budget, and are evolvable, both over time and at run time. We hope that the contributions in this book will aid in understanding the nature of software complexity and provide guidance for the control or avoidance of complexity in the engineering of complex software systems.
Table of Contents

Table of Contents

  1. The Many Faces of Complexity in Software Design.
  2. Simplicity and Complexity in Programs and Systems.
  3. Conquering Complexity.
  4. Separating Safety and Control Systems to Reduce Complexity.
  5. Conquering System Complexity.
  6. Accomdating Adaptive Systems Complexity with Change Tolerance.
  7. You Cant Get There From Here! Large Problems and Potential Solutions in Developing New Classes of Complex Computer Systems.
  8. 99% Biological Inspiration.
  9. Dealing With Complexity in Agent
  10. Orientated Software Engineering: The Importance of Interactions.
  11. Service
  12. Orientation: Conquering Complexity with XMDD.
  13. Ten Commandments of Forman Methods...Ten Years On.
  14. Conquering Complexity via Seamless Integration of Design
  15. Time and Run
  16. Time Verification.
  17. Modelling Temporal Behaviour in Complex Systems with Timebands.
  18. Software and System Modeling: Structured Multi
  19. view Modeling, Specification, Design and Implementation.
  20. Conquering Complexity through Distributed, Intelligent Agent Frameworks.
  21. Customer
  22. Orientated Business Process Management: Vision and Osbtacles.
  23. On the Problem of Matching Database Schemas.
Errata

Please Login to submit errata.

No errata are currently published