cross-port from: https://programming.dev/post/5377847
Ironclad is a formally verified, hard real-time capable kernel for general-purpose and embedded uses, written in SPARK and Ada. It is comprised of 100% free software, free in the sense that it respects the user’s freedom.
Some of the supported features are:
- A familiar POSIX-compatible interface.
- True simultaneous preemptive multitasking.
- Advanced cryptography and a security-centered architecture.
- Mandatory Access Control (MAC).
- Highly configurable, hard real-time scheduling.
- Support for several architectures and boards.
Today (4 Nov 2023) at 14:00 UTC the author will preset it on Ada Monthly Meetup!
Does anyone have scenarios in which you’d use this? Maybe industrial manufacturing or robotics?
Automotive, Aerospace. Everywhere where you need safety qualifiable software (safety as in ISO 26262 or equivalent)
So pretty much where Ada is currently used, no?
I assume so
safety qualifiable software
Automotive
Pretty sure the auto industry avoids safe software
How do you mean this?
There’s a general (maybe meme-y) feeling that car manufacturers are just slapping software where they shouldn’t, and it’s shit software. One of the most recent cases is Tesla recalling several self driving cars.
Also, getting hacked remotely because the majority is as safe as a typical IoT gadget.
Fair enough. There are pretty pedantic processes to qualify automotive software, but these are obviously not perfect and bad quality software may still be deployed to the cars.
However, I would not throw OEMs like Tesla and others into the same category regarding Software quality.
I feel like Tesla especially is one that’s subject to this criticism.
I think they also live after the mantra “move fast and break things”, in cars that literally means breaking bones.
Because the “car software” that comes to people’s mind is most likely to be the infotainment system, which generally sucks, while the hard/safety critical stuff is invisible to them (and admittedly done by 3rd parties like Bosch)