Refactoring Code for Asynchronous Execution on Mobile IoT (Video) (Overview slide) Danny Dig
Asynchronous programming is in demand today because responsiveness is especially important on mobile and wearable devices. One contemporary development task is refactoring long-running, blocking synchronous code (e.g., accessing the web, cloud, database, or file system) into non-blocking asynchronous code. In this talk I present our research on program analysis and transformation together with our useful toolset that enables app developers to retrofit asynchrony.
Securing Advanced Metering Infrastructures (AMI) a Precursor to IoT (Video) (Overview slide) Rakesh Bobba
Advanced Metering Infrastructures (AMI) which have thousands to millions of limited capability smart meters connected by local and wide-area networks are a pre-cursor to IoT with many of the same challenges. In this talk we discuss some of the security challenges and proposed solutions in the AMI context, and then look ahead to upcoming challenges in IoT which will be much larger and heterogenous.
The People in the IoT (Video) (Overview slide) Margaret Burnett
The Internet of Things is inherently about people — helping to improve their safety or their experiences in their homes, jobs, and in the world. For example, we can warn people of dangerous situations near their current location, recommend the next painting to look at in a museum, or enable them to remotely "program" objects in their smart homes to cooperate with each other. My work will focus on two aspects of this: (1) enabling ordinary users to do this sort of "programming," and (2) doing so in ways that allow IoT systems to be inclusive to both males and females.
CASS: Your Implementation Partner (Video) (Overview slide) Carlos Jensen
In order for the promise of IoT to be realized, devices produced by different vendors must be able to communicate reliably and seamlessly with each other. And while vendors can test that their own devices correctly support one or more of the rapidly evolving IoT protocols, it is impractical for them to build a test bed with a wide array of other reference devices that support the same protocol. The IoT Test & Compatibility lab will be a membership driven organization where members send their IoT devices for testing in a variety of situations containing a wide array of other products and ensure that their product interacts correctly and as expected. This talk will give an overview of our plans to build the IoT Test & Compatibility lab and make it an effective partner in supporting the vision of an interconnected world.
CreateIT Collaboratory (Video) (Overview slide) Don Heer
This joint university-industry lab develops innovative projects designed by and targeted to millennials. Spidey Sense, a wearable haptic feedback device, allows navigation indoors without seeing. Music Sense senses emotional reaction to music for analyzing how music affects people. The Smart Helmet developed in partnership with Intel performs the function of the airplane black box for bicyclists.
Systems-Level Programming Tools for Distributed Code (Overview slide) Christopher Scaffidi
Today, creating an IoT system requires writing multiple different programs, such as those that run on sensors, mobile devices, web servers, and other cloud-based backend servers. To simplify the creation and reuse of IoT systems, we are collaborating with National Instruments on a new approach supporting system-level programming. An engineer uses our new visual programming language to draw a picture of the entire system as a whole, from which a compiler generates the collaborating programs and deploys the resulting binaries in a single step across distributed and cloud-based machines.
Secure Computations on Private Data (Overview slide) Mike Rosulek
Tools from cryptography allow mutually distrusting parties to carry out complex computations on data while at the same time keeping the inputs to the computation private. In the Internet of things, these secure computation techniques can be used for achieving consensus in an ad-hoc network of devices, or for computing aggregate sensor data while keeping the individual measurements private. Intense work over the past decade has reduced the overhead of these these cryptographic techniques by many orders of magnitude, finally making this powerful technology practical for many applications.
Towards Secure and Reliable Internet of Vehicles (IoV) (Overview slide) Attila A. Yavuz
Modern vehicles are being equipped with advanced sensing and communication technologies, which enable them to support innovative services in the Internet of Vehicles (IoV) era such as autonomous driving. These services can be effective through the spatial and temporal synchronization of the vehicle with the other entities in the environment. Hence, the communication in IoVs must be delay-aware, reliable, scalable and secure to (a) prevent an attacker from injecting/manipulating messages; (b) minimize the impact (e.g., delay, communication overhead) introduced by crypto operations. However, existing crypto mechanisms introduce significant computation and bandwidth overhead, which creates critical safety problems. To address this need, we are developing a new suite of cryptographic mechanisms, supported with time-valid framework and hardware-acceleration, to ensure secure and reliable operation IoVs.
Error Correcting Codes for Flash Memories (Overview slide) Bella Bose
Flash memories are nonvolatile, high density and low cost memories. Flash memories find applications in cell phones, digital cameras, embedded systems, data centers, etc. In order to improve the density of flash memories, multi-level (q-levels) memory cells are used so that each cell stores log_2(q) bits. After many rewrites the flash is prone to errors, mostly of limited magnitude errors. We are developing some efficient new classes of error correcting codes applicable to flash memories.
Developing Software for a Diversity of Devices (Overview slide) Eric Walkingshaw
Software developed for the IoT must run on a wide variety of devices with different hardware and feature sets. To avoid repeating work and decrease time-to-market for new devices, developers create and maintain massively configurable software systems. Our research focuses on languages, algorithms, and methods for effectively managing the complexity inherent in massively configurable software. For example, we have developed verification techniques for statically ensuring that all configurations of a software system are type correct, and editing models that minimize the complexity and clarify the impact of programmers working on a particular subset of configurations.
Domain-Specific Network Optimization (Overview slide) Glencora Borradaile
and Amir Nayyeri
The optimization problems that arise from an IoT will push our computational resources. We will need to relay messages faster, more reliably and with lower power and computational overhead. The information we are able to derive from an IoT will be bound by the computational complexity of the network optimization problems, but we can push beyond these limitations by designing algorithms that are specific to the localized, mesh structure that an IoT will have.