Situational awareness. This is the trend of the day. Not too long ago, my students wanted to do projects that involved big data or the Internet of Things or machine learning. Now, they want to work on situational awareness. As with much of computing, it is something new and old. It is the trend that will shape the next 18 or 24 months of technological development. It is also an idea that has deep roots in computing, roots that probe well beyond the invention of electronic computing machinery to the real reasons that governments and businesses first became interested in organized data processing.
Interest in situational awareness has become so deep that I found myself having a discussion about it with the driver of an Uber car. Uber and its competitors have become my principal means of transportation in Washington. I like the way the apps show you where the cars are located in the city and appreciate how the services try to find an optimal path through city traffic. I also find it interesting that you know the name of the driver, and that the driver knows yours. When you meet at the car, they will identify me as David and I will identify them as Ahmed or Andy or Belinda. Because you have been formally introduced by the service, you can quickly find yourself in a conversation that you might not have with any other stranger.
Following a common pattern, my driver was a young man who was still trying to establish a career. He was taking courses on the subject he claimed to be electrical engineering, although as he described his studies, it was clear that he was learning software development. After he told me about his programming and algorithm classes, I asked him what he wanted to do with his skills. He became excited at this question and started to describe a mobile app that would locate empty parking spaces in the city. It would find a place for your car by employing knowledge of the traffic, satellite data, and your driving skill.
When I have heard young students describe their ideas for computer systems, I have often been intrigued about how well their plans borrow from the most advanced ideas of the time. Inexperienced students from the 2000s could describe how they wanted to create mobile cloud apps when the techniques to create such programs were not well understood. Five years ago, I heard neophyte programmers talk about applications for machine learning even though they did not know how to implement machine-learning algorithms. Hence, I was not surprised to hear my Uber driver describe his ideas in the terms of systems that provide situational awareness.
The term “situational awareness” is fairly new, although it incorporates concepts that date to the earliest accomplishments of the computing age. It became common in the mid-1990s, following the Gulf War in 1991, as a way to describe how information technology gathered data and guided tactical decisions. It made commanders aware of their situation by determining the location of the enemy, the weapons deployed by the enemy, the possible actions to counter the enemy, and the likely effectiveness of those actions. One assessment of the 1991 Gulf War argued that: “Situational awareness—rather than skill, technology, or interactions between the two” came to dominate the tactical outcomes of that war.
Ultimately, situational awareness involves three different processes: gathering data, making decisions, and guiding a complex action. All three have been part of computing since its inception. Computing technology began gathering large amounts of data when it became involved in the production of nautical almanacs and the survey of the night sky. Both activities required more data than could be gathered by a single individual or even a single team. Hence, scientists needed automated or at least semiautomated machines to sweep the heavens.
However, to provide situational awareness, programs generally do more than merely mechanize data collection. They gather data that lies beyond the perception, in time or space, of any individual observer. To help drivers understand the situation of traffic, for example, they need to collect data across an entire region. It is not enough to tell drivers that their cars are caught in traffic. They would tell them that an accident is not only stopping traffic at one intersection but is also sending a wave of congestion across the entire region.
If a program is going to collect large amounts of data, it will also have to process that data and provide an analytical framework to hold the data. To provide situational awareness, a program needs to do more than merely provide a large stream of data or even offer a set of analytic tools that might be used to explore the data. It needs to organize the data in a way that provides answers to a certain set of questions. For a system that deals with traffic, the questions are fairly obvious: “Is the traffic getting congested?” “Should I change my direction?” “Should I backtrack and return to my starting point?” “Should I stop driving and get a meal in order to allow the traffic to clear before I continue on my journey?” A good system will consider enough questions to allow its users to make bold and creative decisions. A weak one will limit the users and keep them from making a decision that will be truly helpful.
The last aspect of situational awareness expands an individual’s ability to act. In this step, the computer system will guide the user through a complex action, an action that requires a large number of steps that need to be performed in a specific order. Again, if we use a navigation system as the model for a situational awareness system, we find that once the driver has decided to change course, the system will provide directions to get the car to the new destination.
While the modern navigation system provides a simple model for situational awareness, it is actually just a modern consumer example of existing systems. The systems that managed the US Space Program in the 1960s reveal the extent to which situational awareness has always been a part of computing. These systems helped space flight directors manage the missions. They monitored every bit of data about spacecraft operation. They identified systems that were failing to operate properly or were operating in a way that might damage other systems. They guided the astronauts through complex procedures that controlled the spacecraft.
Perhaps the most dramatic operation of such a system occurred in the 1970 Apollo 13 mission. That mission experienced a massive failure shortly after starting for the moon. The data gathered by the spacecraft systems helped the astronauts identify the problem and ultimately devise a strategy to return to Earth. Most famously, they helped the astronauts restart the spacecraft without damaging the electrical system.
In recent years, we have started applying the term “situational awareness” to systems that monitor and manage any large piece of infrastructure. We speak not only of situational awareness of streets and highways but also of power grids, of disaster relief efforts, and even of satellite debris.
Like many applications of information technology, situational awareness breaks hierarchies. It replaces human organizations with large computer systems. It empowers individuals to make decisions based on the evidence in front of them and encourages them to implement their decision in the best possible way. As my Uber driver was describing his vision for a situational awareness parking app, he was using a driving app that contained features that promoted situational awareness. Specifically, it gathered traffic data and used that information to determine its recommended route to the destination. Usually, that route is fast and efficient, although it is not always so. The app seems to be a bit sensitive to erroneous data, to false reports of slow traffic or accidents.
As we came to the end of our ride, my Uber driver became confused and needed to my guidance to get to our destination. Trying to get past some traffic in an intersection, my driver made a bad turn onto a street that led away from our goal. He was unaware of the problem and didn’t know how to interpret the new route that the app had created. Ultimately, I had to explain the problem and guide him to the end of the trip. He apologized for the mistake, but his apology was really a reminder of the gap between our software and our understanding. Situational awareness might indeed become a dominant application for our age and it might be based on ideas that have a long history in computing, but they will not be successful without bridging that key divide between people and technology. We need to know their name when we open the door to take the ride, and they need to know ours. Situational awareness is really a conversation between a person and a technology that tells a bigger story.
About David Alan Grier
David Alan Grier is a writer and scholar on computing technologies and was President of the IEEE Computer Society in 2013. He writes for Computer magazine. You can find videos of his writings at video.dagrier.net. He has served as editor in chief of IEEE Annals of the History of Computing, as chair of the Magazine Operations Committee and as an editorial board member of Computer. Grier formerly wrote the monthly column “The Known World.” He is an associate professor of science and technology policy at George Washington University in Washington, DC, with a particular interest in policy regarding digital technology and professional societies. He can be reached at grier@computer.org.