Difference between revisions of "Category:Complexity"
(No difference)
|
Revision as of 11:18, 10 November 2021
Accidents, errors and security holes are often to do with the complexity of systems.
Consider an embedded user interface that offers a choice of "Yes" and "No", implemented in some respected, heavily-tested codebases that receive hundreds of person-years of development every single year.
A stripped-down system consisting of Linux and a browser presenting buttons has required the compilation of more than 30 million lines of software code. Underneath Linux is an increasingly-huge stack of firmware code to boot and run the hardware (this can even be another Linux kernel!) and underneath that is an increasingly-huge pile of flashable microcode in the CPU, which is in turn increasingly likely to be trillions of transistors in a 3D silicon design implemented by an IMEC machine specified by EDA software increasingly likely to be driven by AI systems driven by human designers.
This is not what 21st century software should look like, and we can fix this.
Engineering Cybernetics is the relevant applied subfield of Complexity Theory and Systems Thinking.