This tutorial introduces the Internet of Things (IoT), a rapidly expanding technology area that is shaping up to bring the next revolution in information systems and computing technologies in general. This tutorial explores the key concepts of IoT and describes how ideas from multiagent systems, including cooperative information systems, can support the IoT. It describes some additional research advances needed in the relevant areas to help realize the IoT.
The Internet of Things (IoT) is upon us. Sensors and embedded devices in automobiles, phones, watches, supermarkets, homes, roads and bridges, appliances and industrial and farm equipment, and wearable technology are already making new kinds of information available and changing the way information is produced, consumed, and experienced. IoT obviously represents a great opportunity for advances in information analysis. The connections between IoT and data storage and processing as well as machine learning are obvious and gaining attention already.
In this tutorial, we will concentrate on the relationship between IoT and multiagent systems (MAS) research. We will introduce the technologies that enable IoT along with a range of representative applications. From these applications, we will abstract out the major challenges to realizing the vision of IoT. These include specification of computations; resource sharing; cooperation; enactment; engineering; and governance. Particular aspects of the IoT that are relevant to MAS include the heterogeneity of IoT components; power, connectivity, and computational resource constraints; asynchronous and delay-tolerant communication; multiple administrative domains with autonomous providers and consumers; multiple stakeholders with diverse and potentially conflicting requirements, including for resource usage and privacy.
We will organize these challenges in such a manner as to highlight (1) the potential contributions to be made by deploying MAS concepts and techniques and (2) the enhancements needed in MAS concepts and techniques to fully support and realize our vision of a multiagent IoT. These include multiagent programming for specification; interaction protocols for enactment; commitments for resource sharing; incentives and voting for cooperation; normative specifications for governance. We will conclude with a discussion of the opportunities for advancing and applying MAS research.
The major objective of this tutorial is to encourage attendees to understand IoT applications as decentralized multiagent systems constructed of heterogeneous and autonomous entities. Doing so will enable them to systematically approach practical challenges that the IoT poses, such as coordination among devices and across organizations, and attendant concerns such as security and privacy, and to identify new research advances that will help address these challenges better.
This tutorial is presented at a senior undergraduate student level. It is accessible to developers from industry and to students. Typical attendees for our past tutorials have been researchers and practitioners from industry and government, developers, graduate and senior undergraduate students, and university faculty.
This tutorial represents a novel synthesis. IoT represents a new domain to apply and develop MAS research, and can benefit from such research. At the same time, IoT presents challenges for the MAS community: how can we tie together coordination and information in the small (among devices) and the large (among autonomous parties, including organizations)? The tutorial presents solution concepts drawn from recent advances in MAS research that address this challenge. It will help attendees understand the IoT promise and obstacles to achieving that promise, and to identify topics for research and development that the attendees might pursue. This tutorial will provide the key background that attendees can use as a launching pad for their investigations.
Please note that these slides are copyrighted material and not to be distributed or reused without permission: Slides for tutorial at IJCAI 2016