When I was a kid, I liked watching the Jetsons. I felt certain that by the year 2000 we’d all be enjoying those flying saucers and futuristic homes. Imagine my disappointment that in 2018 we still drive on 4 wheels… and my home cannot elevate itself above bad weather… and I still don’t have a robot maid to handle house chores and cooking. Although if the air were full of flying vehicles we might quickly object to the visual obstruction and noise, but it sure seems like more fun than sitting in traffic. One thing that has become reality is that personal computers (especially smart phones, laptops and tablets) are now part of our lives. And while Siri and Alexa are not quite the same as Rosie and Uniblab, talking to and listening to our computers is a regular event.
Even in the minds of those cartoon creators, they seemed to grasp that things would not always go according to the plans. These fancy machines are not foolproof. Computers can malfunction. This can be comical, dramatic, or exciting while watching TV or a movie, but real-life defects can have disastrous results. Planes can fall out of the sky and disappear. A hacker can hold your data for ransom. A laptop or phone can turn into a doorstop after serious malfunction. But with proper design constraints and precautions in use, many of the risks associated with these failures can be reduced to a tolerable level. It’s largely a matter of planning and meeting the latest requirements and best practices for safety and security. You don’t need to re-invent the wheel on this; current and evolving standards exist today (IEC 61508, IEC 62443). But you do need to assess a product’s risk of failure to understand what safety and security techniques to apply. And this needs to be considered at the earliest design stages. Just throwing technology at a problem doesn’t necessarily make things better on their own, and adding functions and components will increase the failure rate. The failure of your FitBit is much less an issue than failure of your car’s steering or cruise control system. Every technology has failure modes. Understanding the difference between a safe failure and a dangerous failure is extremely important. Defining a dangerous failure of a component or subsystem, and ways to mitigate or control that failure, are keys to making technology work for us and not against us.
You might think that things were simpler in years gone by, and you’re probably right. But that doesn’t mean things were any better or safer. How far back do you want to go? 50 years ago we didn’t have computers controlling our cars, but they were relatively easy to break into and were gas guzzlers. 100 years ago many people were still using horses and wagons; traveling long distances was not easy. Mass production and automation controls have lowered the costs of all kinds of products. Technology advances have made life easier, and mostly better. Of course, the designers must still contend with likely and possible failure modes. If you’re involved with design of products with safety and security requirements, remember that the person you’re protecting just might be you. Think about tomorrow; you don’t want to miss it.