They made a common mistake about the update: thinking it’s only about extra, major features like most are adding. Two alternatives are features specific to manageability/reliability or adding assurance instead of features. I recommend adding some of the latter wherever possible. The easiest way to do it might involve rewriting in SPARK or Rust while moving any C code they have through analyzers. Just get rid of any bugs or risky behavior that might be in there. Adds rock-solid to simple.
Far as the limited features, better isolation of driver failures w/ recovery a la MINIX or QNX is a good one given how many problems show up there. Live updates a la SPIN OS might be useful in embedded systems. The drive one the most, though.
They made a common mistake about the update: thinking it’s only about extra, major features like most are adding. Two alternatives are features specific to manageability/reliability or adding assurance instead of features. I recommend adding some of the latter wherever possible. The easiest way to do it might involve rewriting in SPARK or Rust while moving any C code they have through analyzers. Just get rid of any bugs or risky behavior that might be in there. Adds rock-solid to simple.
Far as the limited features, better isolation of driver failures w/ recovery a la MINIX or QNX is a good one given how many problems show up there. Live updates a la SPIN OS might be useful in embedded systems. The drive one the most, though.