Playback starts YouTube’s embedded player (privacy-enhanced mode).
Programming for Autonomy Tutorial
ChannelACM SIGPLANDescription from the creator
Organisers Amit Chopra - Lancaster University and Munindar P. Singh - North Carolina State University
Current trends in AI focus on imbuing machines with autonomy. In business settings such as finance, health, and e-commerce, the autonomy of the interacting parties is taken for granted. The challenge with regard to such settings is how to represent them in software in a manner that is compatible with the autonomy of the participants.
In this tutorial, we show how autonomy necessitates a decentralized system representation that captures the social meaning of interactions between the parties in the system. For concreteness, we present two formal languages: Cupid, for capturing social meanings via norms, and BSPL, for specifying communication protocols that enable the decentralized computation of norms. We chart out the connections with programming models for IoT and distributed ledgers and with session type-based approaches for specifying protocols. We discuss a surprising consequence of autonomy—that it necessitates asynchronous messaging over an unordered delivery infrastructure. We draw attention to the explicit specification of information causality as the basis of approaches that can work in such an unconstrained messaging environment.
Tutorial attendees will gain a critical understanding of autonomy and decentralization; learn how social abstractions may be represented and computed; learn how to specify a decentralized information object via causality and integrity constraints; and appreciate the differences between important languages for specifying protocols.
This tutorial should be useful to anyone interested in programming decentralized and messaging-based applications, including in aspects such as asynchrony and concurrency. The tutorial is self-contained and presented at a senior undergraduate student level.
Current trends in AI focus on imbuing machines with autonomy. In business settings such as finance, health, and e-commerce, the autonomy of the interacting parties is taken for granted. The challenge with regard to such settings is how to represent them in software in a manner that is compatible with the autonomy of the participants.
In this tutorial, we show how autonomy necessitates a decentralized system representation that captures the social meaning of interactions between the parties in the system. For concreteness, we present two formal languages: Cupid, for capturing social meanings via norms, and BSPL, for specifying communication protocols that enable the decentralized computation of norms. We chart out the connections with programming models for IoT and distributed ledgers and with session type-based approaches for specifying protocols. We discuss a surprising consequence of autonomy—that it necessitates asynchronous messaging over an unordered delivery infrastructure. We draw attention to the explicit specification of information causality as the basis of approaches that can work in such an unconstrained messaging environment.
Tutorial attendees will gain a critical understanding of autonomy and decentralization; learn how social abstractions may be represented and computed; learn how to specify a decentralized information object via causality and integrity constraints; and appreciate the differences between important languages for specifying protocols.
This tutorial should be useful to anyone interested in programming decentralized and messaging-based applications, including in aspects such as asynchrony and concurrency. The tutorial is self-contained and presented at a senior undergraduate student level.
About this tutorial
ACM SIGPLAN published this 3:31:36 video tutorial. It has been watched 1,079 times on YouTube.
- Channel
- ACM SIGPLAN
- Category
- Science & Technology
- Duration
- 3:31:36
- Views
- 1,079
- Likes
- 7
Share
This tutorial in other languages
- FRProgrammation pour l'autonomie Tutorial
- ESProgramación para la Autonomía Tutorial
- PTProgramação para a Autonomia Tutorial
- ITProgrammazione per l'Autonomia Tutorial
- DEProgrammierung für die Autonomie Tutorial
- NLProgrammeren voor Autonomy Tutorial
- RUПрограммирование для Autonomy Учебник
- PLProgramowanie autonomii Tutorial
- JA自治チュートリアルのためのプログラミング
- ARالبرمجة للحكم الذاتي التعليمي
- HIस्वायत्तता ट्यूटोरियल के लिए प्रोग्रामिंग
- IDPemrograman untuk Otonomi Tutorial