Embedded systems pave the road to the future Internet Paulo Esteves Verissimo University of Lisboa Faculty of Sciences pjv@di.fc.ul.pt www.di.fc.ul.pt/~pjv 'The future of Internet lies with embedded systems’. The key to this challenge lies not in software for peer-to-peer autonomous systems, and/or software for embedded systems, and/or software for pervasive systems. It is the whole of them, but not the sum of them. The key to the challenge lies in the confluence of these problems, what I might equate, in systems terms, as learning how to design new generation *large-scale, complex and networked systems-of-embedded-systems*, because this is how the future Internet will look like. The opening statement encapsulates a powerful and multi-disciplinary challenge, which I will try to explain in these brief words. There will be many more computing devices in embedded, sometimes function-specific, inconspicuous devices, pervading the societal tissue (business, architectonic, even human) than there will be 'computers' as we know them today (stuff that people program and interact directly with, even if as small as hand-held). Most, if not practically all of them, will be networked, interconnected in some form. Software, architecture and protocols animating the systems under this vision will not have the same characteristics as we are used to in classical Internet-based systems. However, they can not either be designed under the assumptions and techniques prevailing in the embedded systems arena (hard real-time, static, closed and integrated systems). One of the things that make it a grand challenge is exactly the difficulty of understanding and tackling all these problems simultaneously, since they have been addressed by different research communities so far. One of the arts of the research sponsors will be identifying it as a multi-disciplinary challenge whose roots are centred in, but not confined to, distributed systems theory and practice. Why is it crucial to the future Internet? In concise terms for an abstract, the message is: Internet-oriented researchers, embedded systems came into your life (as I might also say: embedded-systems-oriented researchers, Internet came into your life). Addressing and solving this challenge will contribute to keep the future Internet as a useful asset of society, because the risks are manifold. And time is not on our side. Whether we want it or not, the future will bring systems described in this vision into societies' daily life. If we are not prepared, such Internet-born embedded+ pervasive+ ubiquitous systems, if not working properly, can do more damage than good. And the future has started... Imagine cars or planes connected to the Internet for entertainment or assistance, having their by-wire control systems interfered with. SCADA embedded systems controlling electrical utilities, once designed as closed systems, being now intruded upon from the Internet-connected corporate network, and sabotaged. Your home's electric oven setting fire to your house, instead of pre-cooking your meals controlled by you from the Internet, all because the oven computer wrongly joined some peer-to-peer computation, or fell victim to a stupid script-kid. And so forth. If I'd dare use a "sound byte" to equate how relevant this challenge is, I would say that in such a new reality (an Internet made of large-scale systems-of-embedded-systems) doing Control-Alt-Del may not be enough for mending something that went wrong. I will briefly enumerate some systems research topics required to address the problem, all under a distributed systems context: - Reference architectures for pervasive/ubiquitous/embedded systems --- since existing architectures normally specialize in one facet. - Event-based middleware --- encompassing a mixed software+devices reality, that is, events generated indistinguishably by software and by hardware devices, such as gadgets, sensors and actuators, or networks thereof. - Sentient object-oriented computing models --- a form of encapsulating and easing programming under this vision, where objects, besides the usual method computations and interactions with other objects, are capable of directly consuming and producing events to/from devices. - Component-based software architecting --- where object composition should obey, whenever relevant, the structure of sub-systems and hardware devices populating our visionary future Internet. - System evaluation --- as a form of determining whether the properties of these new systems meet the desired levels of QoS, dependability and security. The research infrastructure required need not be impressive. If we consider as a starting point a typical Internet-based infrastructure for distributed systems research, then additional means may include: sensor networks; RFID systems; wearable computers; control area networks such as field-buses; emulators of real control or cooperative systems made of embedded devices in several areas (e.g. robots; cars or planes; electrical power or process control plants; home systems). Example would-be prototypes for systems research in this area might be: cooperative enhanced human and/or autonomous robot teams; cooperative cars (e.g. platoons); assisted road-side and Internet-born navigation and driving; Internet-born car maintenance, diagnostic upload and firmware download; remote operation of critical infrastructures through Internet-born secure links; Internet-enabled safe and secure home control and information sharing. When will the challenge be met? We can anticipate that the challenge will be met when we see prototypes of systems-of-embedded-systems being deployed over the Internet, in a performing, user-friendly, safe, dependable and secure way. Then we will know that the path to the future Internet is clear. Along this road, relevant milestones may consist of proof-of-concept prototypes showing partial results in the research topics enumerated above.