Last year I spent a challenging two hours with a group of high school students who participated in “The Israeli President Program for the Discovery and Fostering of the Scientists and Inventors of the Future.” I presented some scenarios of computerized systems and asked what they thought the common denominator between the scenarios was. I received many answers but one of the boys gave the following reply:
“For all the systems we know, the person tells the computer what to do. And in the scenarios we viewed now, the computer tells the people what to do.”
The boy got it!
The way we are used to working with computers is to keep the initiative in our hands and to let the computer respond to our requests. We search the Internet, query a database or ask the bank about our account balance. With reactive systems, the computer receives signals from various sources, detects situations that require reactions (and in some cases makes decisions about the reaction) and may even perform the actions autonomously.
Consider the following scenario: A car has a motion sensor and a camera installed inside. The computer system detects that the vehicle began to move (with motion sensor) and that the driver does not look like any of the authorized drivers for that car (using the camera plus photo identification). In addition, it determines that all of the authorized drivers are elsewhere (by detection using their mobile phones’ locations). Consequently, the system concludes that the vehicle has been stolen and can inform the security service or even activate a remote switch to stop the car.
Another application might be transporting refrigerated items (i.e., perishable foods, flowers, and medicines and vaccines). Apparently, a significant percentage of these products are disqualified after their arrival because of defects in the cold storage (e.g., opened packaging, cooling unit damaged, etc.). A sensor that monitors temperature can detect a temperature increase in real time and can notify both a control center and the driver of the truck who can, in some cases, repair the damage at the next stop.
The common denominator here is that the initiative is taken by the computer. We are not continuously asking each vehicle if it is stolen or whether or not any package is damaged. We do not know when the event happens; we do not know even if the event will happen but when it happens, we want a quick response. The computer system takes over; it uses “senses” (i.e., visual sensors, cameras and human reports), it has a “brain” (i.e., the ability to obtain information from various sources, gather and process it, and perceive situations of interest such as car theft or potential damage to food), and “voice” and “hands” (i.e., to communicate or to take self-directed actions), under crucial time constraints (i.e, if you do not respond in time, the stolen vehicle will vanish or the food will be unusable).
The potential of reactive systems is enormous. The financial world has already taken advantage of this potential over the last decade by employing algorithmic trading systems that buy and sell securities within a split second when the system detects opportunities for profit. The rest of the universe started to discover the potential in recent years when the information on “What is happening now?” became available through the Internet of Things (IoT), through sensors, cameras and various information sources. Moreover, the IoT has been named as one of the chief trends that have already started to exhibit a major impact on humanity.
In my next blog post, I will discuss the systems and technologies that reverse the roles that we are used to. I will take a deeper look inside the technologies to understand how they work, look at current systems and applications, and glance into the future.