Affiliation:
1. University of Illinois at Urbana-Champaign, USA
Abstract
A robot’s code needs to sense the environment, control the hardware, and communicate with other robots. Current programming languages do not provide suitable abstractions that are independent of hardware platforms. Currently, developing robot applications requires detailed knowledge of signal processing, control, path planning, network protocols, and various platform-specific details. Further, porting applications across hardware platforms remains tedious. We present Koord—a domain specific language for distributed robotics—which abstracts platform-specific functions for sensing, communication, and low-level control. Koord makes the platform-independent control and coordination code portable and modularly verifiable. Koord raises the level of abstraction in programming by providing distributed shared memory for coordination and port interfaces for sensing and control. We have developed the formal executable semantics of Koord in the K framework. With this symbolic execution engine, we can identify assumptions (proof obligations) needed for gaining high assurance from Koord applications. We illustrate the power of Koord through three applications: formation flight, distributed delivery, and distributed mapping. We also use the three applications to demonstrate how platform-independent proof obligations can be discharged using the Koord Prover while platform-specific proof obligations can be checked by verifying the obligations using physics-based models and hybrid verification tools.
Funder
Division of Computer and Network Systems
Division of Computing and Communication Foundations
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Synchronous Programming with Refinement Types;Proceedings of the ACM on Programming Languages;2024-08-15
2. Simultaneous Location and Mapping;3D Computer Vision;2024
3. BittyBuzz: A Swarm Robotics Runtime for Tiny Systems;Lecture Notes in Computer Science;2024
4. Coordinating and programming multiple ROS-based robots with X-KLAIM;International Journal on Software Tools for Technology Transfer;2023-11-02
5. RoboSC: a domain-specific language for supervisory controller synthesis of ROS applications;2023 IEEE International Conference on Robotics and Automation (ICRA);2023-05-29