inetresting discussion here https://www.threads.net/@_scire_/post/C_kScZWvI5w?xmt=AQGz7THnUhkBwBuOe04KVKV2I0XuPZiZiaOe7cr1BMgUcQ
Alice:
They should take inspiration from organismic/natural systems while designing software systems.
Bob:
good. when you talk about softare systems do you talk about all systems?
Alice:
sorry, not all. I am advocating for taking inspiration to design big complex software systems that handles multiple functions, work with multiple databases, performes multiple tasks.
I don't yet have any opinion on Smaller and specific systems for example oven operator, elevator systems and so on.
Bob:
why do you think taking inspiration from biology would help?
Alice:
I can see things that current software systems handle poorly. I see same features being handled by biological systems in better way, and they are also time tested over billion years.
Bob:
What are some features that current software systems handle poorly and corresponding featres you see handled well in biological systems?
Alice:
First about software systems,
some codebases have lot of repetitions, have single point of failure, functions are not segregated well, they don't evolve and adapt without explicit programming.
Consider example of human body,
systems are segregated exellently(there is no repetition of function among digestive system, respiratory system, nervous system, brain and so on),
it's robust to change and heals it self (blood clotting, immune system),
have alert and monitoring mechanism in place(fever, senses, reflexes),
they are lot more efficient (human brain is lot more efficient than neural network systems. I was shocked when I checked the exact number.)
and it evolves and responds to environment without being explicitly programmed everytime environment changes.
Bob:
fair. has no body ever tried talking inspiration from biology to design systems?
Alice:
some have. Neural networks, Ant colony optimisation, genetic algorithms etc are some examples.
it breaks here I know, I am thinking.
Bob:
That is good.
We had been assuming natural systems are all perfect. let's see if we could find any areas where there is scope of improvement.
I will go first,
Any nontrivial change you make to it have fundamentally unpredictable effects and almost usually detrimental and fatal. irreducible complexity.
consider challenges of adding extra arm(functional) in robot vs human body. One is mere engineering challenge, the other would required complete redesign.
Alice:
true. to put it more clearly, biological forms have dynamic basic building blocks which self organise while evolving without explicit program; computers have rigid basic blocks and are lot more programmable.
To add third arm we would probably have to tweak basic building blocks(genetic material) and let organism evolve/grow; in case of robot it's lot easier to explicitly program at last stage.
Bob:
another way to see it is, nature is analog and machines are digital.
Alice:
probably quantum computers would open some possibilities.
Bob:
second limitation of nature is, in stages of evolution, nth stage is totally dependent on n-1th stage. There would never be drastic change from n-1 to nth version. which is something computer systems don't have to follow. we can take steps that nature won't.
Bob:
you should also read about embodied intelligence too.
resources
1. Biologically Motivated Distributed Designs for Adaptive Knowledge Management
To read
2. Embodied intelligence