This is part one of a three-part series on building reliable embedded systems.
- Off-Grid PAYG Solutions in Limited or No Connectivity Environments << You’re here
- Reducing Risks in Embedded Software with Static Code Analysis
- Developing PAYG Embedded Software Modules with Unit Testing
Angaza creates technologies that allow businesses to offer life-changing products like solar home systems, clean cookstoves, solar water pumps, and more to anyone, anywhere. With over 1 billion people off-grid, Angaza’s Pay-As-You-Go (PAYG) solution for solar and other life-changing device distributors and manufacturers reduces the customer’s up-front costs and scales businesses.
Working with last-mile distributors and manufacturers in off-grid markets means that products may be only intermittently connected, or have no connectivity to the Internet. Due to remote geographic distribution, the cost of accessing a device after-sale for maintenance or replacement is extremely high. As a result, Angaza is strongly motivated to detect and prevent potential PAYG subsystem problems before they show up in the field.
At Angaza, one of our five core values is “Deserve Their Trust,” which practically translates into placing a high value on delivering reliable solutions. Given that the Angaza PAYG embedded platform ships on hundreds of thousands of devices, any failure of the PAYG subsystem becomes an unacceptable problem at scale. Concretely, this means that functionally testing a handful of devices for ‘proper operation’ is valuable but insufficient — we need to design and test at a deeper level, finding and preventing even the low-probability, hard-to-test sorts of errors that often crop up in systems that interact with the physical world. Unlike many ‘commodity’ IoT products sold in the developed world, PAYG products often provide a critical service, such as primary lighting, irrigation, or refrigeration. If these devices fail to work, the practical consequences are relatively high.
Developing robust code for environments where it’s expensive or impossible to push a bugfix is a tall order, but there are approaches and tactics which help to accomplish this goal at scale in a timely way. This series explores how we ensure that the embedded software used in Angaza-enabled products “just works” — and keeps working for many years past the product’s expected end-of-life.
In part-two of this series we’ll examine static analysis tools and the role they play as early-warning trouble detectors.
Read more about Angaza’s “full stack” product offering in the original article.
Full Story: Reliable Bottom-of-Pyramid Embedded Systems: Cost-Benefit Analysis
Published July 7, 2017 on Medium by Joshua Milburn.