This book investigates the characteristics of simple versus complex
systems, and what the properties of a cyber-physical system design are
that contribute to an effective implementation and make the system
understandable, simple to use, and easy to maintain. The targeted
audience is engineers, managers and advanced students who are involved
in the design of cyber-physical systems and are willing to spend some
time outside the silo of their daily work in order to widen their
background and appreciation for the pervasive problems of system
complexity.
In the past, design of a process-control system (now called
cyber-physical systems) was more of an art than an engineering endeavor.
The software technology of that time was concerned primarily with
functional correctness and did not pay much attention to the temporal
dimension of program execution, which is as important as functional
correctness when a physical process must be controlled. In the ensuing
years, many problems in the design of cyber-physical systems were
simplified. But with an increase in the functional requirements and
system size, the complexity problems have appeared again in a different
disguise. A sound understanding of the complexity problem requires some
insight in cognition, human problem solving, psychology, and parts of
philosophy.
This book presents the essence of the author's thinking about
complexity, accumulated over the past forty years.