Building High Integrity Applications with SPARKJohn W. McCormick, Peter C. Chapin
Building High Integrity Applications with SPARK
by John W. McCormick, Peter C. Chapin · first published 2015
24mentions
4recommended by
5HN commenters
2017–2026first – last mentioned
80% recommend20% neutral
Affiliate links. As an Amazon Associate I earn from qualifying purchases.

…annoyed by all of the Apache Spark stuff that came up, but that seems to have waned a bit this past year or two. Vermont Technical College (VTC) used SPARK2014 to program their CubeSat and the book, "Building High Integrity Applications with SPARK"[1] is a great intro to it in a nice context of practical use. There was also an article on the AdaCore site about someone who rewrote some drone firmware in SPARK2014, which is another nice real-world…
on “Game Jam 2 Results” ↗…going to be some time. Ada has a longer legacy in this game. I am working on safety critical control systems and there is a lot to prune from existing work in this area in SPARK and Ada. This book[2], "Building High Integrity Applications with SPARK" really sold me on the benefits. It is a great intro of how SPARK was used for the CubeSat program at Vermont Technical College (VTC). A CubeSat was successfully launched in 2013. I could not find any…
on “Welcome to Comprehensive Rust” ↗Yep, here some very good books about it, specially relevant given the main subject. "Building High Integrity Applications with SPARK" https://www.amazon.com/Building-High-Integrity-Applications-... "Building Parallel, Embedded, and Real-Time Applications with Ada" https://www.amazon.com/Building-Parallel-Embedded-Real-Time-... "Embedded…
on “F’: Flight Software and Embedded Systems Framework” ↗Building High Integrity Applications with SPARK https://www.amazon.com/Building-High-Integrity-Applications-... That will be more practical than most works on formal verification.
on “The Hitchhiker's Guide to Logical Verification [pdf] (2023)” ↗…"silver" level, where it passes all checks, let alone "gold", where you actually prove correctness. The rest of the internet is practically barren when you search for SPARK. I got a second-hand copy of Building High Integrity Applications with SPARK; John W. McCormick, Peter C. Chapin. It contains complete examples, and explains the concepts pretty much in depth. Unfortunately, the book is expensive, and since I was just dabbling, I got the cheapest,…
on “Ada 2022” ↗A good book about is "Building High Integrity Applications with SPARK". http://www.cambridge.org/us/academic/subjects/computer-scien... Ada/SPARK has parallel computations defined at language level, known as tasks.
on “Writing correct lock-free and distributed stateful systems in Rust, with TLA+” ↗…around it, well, maybe Zig or Rust, which I am playing with, but they are nowhere near SPARK2014/Ada for all that you get with them and the Gnat compiler. I was introduced to SPARK2014 with the book, "Building High Integrity Applications with Spark". I also read a fantastic book, "Analysable Real-Time Systems: Programmed in Ada" that put me on this vector. Great stuff and timely.
on “Gnat 2021 GPL Community Edition Ada 202x compiler released” ↗…Zig[3] will also become more popular on embedded devices for existing C programmers because its a smaller jump to make than in learning Rust, at least that has been my experience. I also enjoyed reading "Building High Integrity Applications with SPARK" which involves the , and maybe if there were a similar book for Rust, I would attempt Rust again. Because SPARK is "a formally analyzable subset of Ada 2012", it benefits from Ada's age. VTC (Vermont…
on “Rust on Espressif chips” ↗…am trying to put together. I started in C, thought about using Rust or Zig, but finally settled on SPARK after reading through most of these two books: Analysable Real-Time Systems: Programmed in Ada Building High Integrity Applications with SPARK I typically enjoy conciseness, and at first I was put off by Ada's verbosity, but then I think my old memory of Pascal clicked and I am enjoying the experience. A few examples of Ada/SPARK on embedded…
on “Ada on any ARM Cortex-M device, in just a couple minutes” ↗I put Rust aside for now, but I like it. I am focusing on SPARK and Elixir/Nerves for now. I bought the book, "Building High Integrity Applications with SPARK", and followed along with the AdaCore resources, and it is amazing. Rust will not be there for a while, but this is exciting. I am happy to see goals being more important than choice of PL here. This…
on “AdaCore and Ferrous Systems Joining Forces to Support Rust” ↗…first tried learning Ada over 12 years ago, I now see SPARK2014's syntax and methods as much easier and to work with especially with the surrounding and supportive ecosystem. I worked through the book, "Building High Integrity Applications with Spark"[1] that is a very nice summary and intro to SPARK based on its use in the CubeSAT program. Here's a cute little article on how SPARK2014 was used to replace some low-level stabilization routine in a…
on “Why Rust is a great fit for embedded software – 2023 update” ↗I am almost finished working my way through the book "Building High Integrity Applications with SPARK"[1]. I dropped Rust and found SPARK easier to work with, and one of the book's authors is a professor at Vermont Technical College (VTC) in the CubeSat Laboratory[2] where Ada/SPARK are used. The book…
on “So, you want to build a CubeSat?” ↗…was pretty simple, so C or asm or even BASIC were fine, and easy enough to step through in my head. At that level, I did not really have very intricate logic or lengthy programs. I picked up the book, "Building High Integrity Applications with SPARK", and read a few articles on how to rewrite portions of C code with SPARK and I am sold on using it for larger embedded projects[1]. I am sure Rust can do the same albeit not with the same ecosystem that…
on “Programming PIC32 Microcontroller with Rust” ↗…I tried Rust, but I am using SPARK2014/Ada for my needs. Easier to learn and has the formal methods/software integrity checks and other niceties. I started learning SPARK2014 while reading the book, "Building High Integrity Applications with SPARK". It was used by the CubeSat lab in Vermont [1], which the book ties in nicely. I can see programmers flocking to Rust, but scientists are not typically computer scientists, and mainstream shouldn't be…
on “Why scientists are turning to Rust (2020)” ↗…don't program in Erlang or want to! Honorable mentions: A. The Book of Shen - Mark Tarver - It's a LISP, but the history of computing and Lambda Calculus is nice, and Shen is an amazing language. B. Building High Integrity Applications with SPARK 1st Edition - Great intro to SPARK, and Ada subset, used in the book for the CubeSAT program at VTC (Vermont Technical College).
on “Ask HN: Name 3-5 books that had the most impact on your career and knowledge?” ↗