Sunday, February 07, 2010

Cyber Physical Systems | The New Wave in Computer Systems Researc

How often do we notice the fact that we live in a society that is immersed in computing systems? That smart phone in your pocket; the iPod that you use for music; elevators, escalators and moving walkways; the controls for your windshield wiper; the thermostats in your home; traffic lights at the intersection; you name it and it probably contains a computing device. If you throw a stone in a random direction in modern society, chances are that you will hit something that has processing power in it. Most of these devices are so common in everyday life that we don't think of them as computers but that is exactly what many of them are. Of course, they differ in form, function and specification from the everyday notion of a computer, i.e. the desktop or laptop that most people are used to and no, you cannot browse Facebook on such devices (though Twitter may be a whole different ball game). Such systems are often referred to as embedded systems, i.e., computer systems that are designed to perform one or more dedicated functions. Though programmable, they are not always meant for loading up different programs, but the lines are blurring these days. With the advent of smart phones that can pretty much do things that were previously only in the domain of desktop computers what is an 'embedded system' is open to interpretation (though the part of your phone that works on the voice, the DSP chip, may still considered to be an embedded system). 

Now consider the anti-lock brakes (ABS) in your car (the first figure shows a schematic of a typical ABS). The point of the ABS is that when you suddenly press down hard on your brakes the ABS should prevent your wheels from locking and thus preventing the car from launching into uncontrollable skids. The point is this: the ABS should kick in and work correctly the very instant you slam down on the brake pedal or, at the very least, within a few milliseconds. If it takes longer than that, say 10-20 seconds or even five minutes, it is too late and can lead to fatal car crashes. Such systems, that have specific timing requirements, are referred to as real-time systems. They come in various shapes and sizes too: the ABS that was just described, nuclear reactor control, flight guidance systems on aircraft, electronic engines, factory controllers, controls of space shuttles, etc. Errors, particularly timing errors, in real-time systems can lead to dangerous fallouts to both, people as well as the environment. In fact, many of the real-time systems described here are also embedded systems and the overlap between these domains is quite large and boundaries on what is a real-time system and what constitutes an embedded system can be quite nebulous. Both, embedded and real-time systems though, have been around for decades now and there's a large body of work (theoretical and experimental) that has been developed over this time.

This brings us back to the topic that forms the focus of this article: cyber-physical systems. Catchy phrase, isn't it? As a friend put it, almost wants to make you wish you were one too. Well, with embedded and real-time systems morphing into all shapes and sizes these days they're interacting with the real world and other systems around them in ways that are unprecedented. Consider the new generation of cars that are available on the market these days. You can take your smartphone into the car and the two can actually recognize each other and share information, music and other data, almost automatically! You can drive up in one of these cars into a new 'smart home' and the car and the home automation system can communicate with each other. The heat is set to your comfort level and the lights are turned on, your favourite music tracks start playing and it could even start the shower for you! And all of this with absolutely no human intervention! Such systems are no longer about controlling the mechanical aspects of the world or only about executing certain programs. The 'cyber' and the 'physical' world are often so inter-twined that our existing understanding and techniques can no longer deal with this new fusion. Also, it has become obvious that any one scientific community, be it from embedded and real-time systems domains, avionics, automobiles, power systems, control theory or even mechanical engineering, does not possess the solution to this problem. New theories, new models and a lot more research and analysis is required and the field is wide open for scientists and engineers to explore. Hence, the advent of cyber-physical systems. (As the second figure shows, the overlap of embedded, real-time and cyber-physical systems is quite large, but still differences exist among the three fields)

A cyber-physical system (CPS), by definition, is a system that has a tight coupling between its computational and physical elements. One cannot talk about the computing side without reasoning about how the physical side behaves and how the latter behaves depends, quite closely, on the computations being performed. Most modern aircraft, automobiles, sensor networks and even power grids fall into this category. By very definition, the field is interdisciplinary in nature and people from diverse backgrounds, who would otherwise have never worked with each other, are forced to come together to solve the complex problems posed by this domain. 

CPS has been identified by various government agencies, such as the National Science Foundation (NSF) as a key area for research. The President's Council of Advisors on Science and Technology (PCAST) presented a formal assessment of the Federal Networking and Information Technology R&D (NITRD). In that report, the domain of CPS was recommended as an priority area for federal research investments. This resulted in the organization of several workshops that culminated in a new funding program in CPS from the NSF. The recent federal budget also maintains support for research in CPS, thus ensuring that the focus on the area is maintained.

The advent of CPS spells the dawn of an era of exciting research possibilities. Various research groups around the country (and even other parts of the world), from top universities to industries, are involved in this effort. The field is ripe for young researchers to stake their claims and for established scientists to apply their vast experience. It is envisioned that this effort will lead to never-before seen interdisciplinary research efforts and move forward not just the computer systems domains, but also various other fields.

Now, consider this: various power companies across the US have already, or are in the process of, upgrading their power management systems. Various sensors in individual homes (smart thermostats) can collect information that is sent via a network to the main stations (perhaps even local 'hubs') that can perform computations and apply complex power management algorithms and send control signals back to the grid (or even individual homes) to save energy, deal with catastrophic faults, or plain load balancing. Meanwhile, you, sitting at your work computer for instance, can monitor the power consumption in your home, even broken down by time of day. Thus you can decide what appliances to turn on/off and when, resulting in significant energy savings. Even Google is getting into the game with its Google Powermeter. All of this is possible, by a complex interaction of embedded devices, real-time control and interaction among the computation and the actual power management. Yup, you got that right, it is a cyber-physical system.

Monday, February 01, 2010

Google Docs | Post to Blog feature.

Google Docs now has a feature where you can publish to your blog of choice.  Nice I must say. I am really a big fan of platform independent tools that I don't have to install/manage, even if it is Google.