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.
Supplemental Material
- Sarita V. Adve and Kourosh Gharachorloo. 1996. Shared Memory Consistency Models: A Tutorial. Computer 29, 12 (Dec. 1996 ), 66-76. https://doi.org/10.1109/2.546611 Google Scholar
Digital Library
- Rajeev Alur and David L. Dill. 1994. A Theory of Timed Automata. Theor. Comput. Sci. 126, 2 (April 1994 ), 183-235. https://doi.org/10.1016/ 0304-3975 ( 94 ) 90010-8 Google Scholar
Digital Library
- Hagit Attiya and Jennifer Welch. 2004. Distributed Computing: Fundamentals, Simulations and Advanced Topics. John Wiley & Sons, Inc., USA.Google Scholar
Digital Library
- Stanley Bak and Parasara Sridhar Duggirala. 2017. HyLAA: A Tool for Computing Simulation-Equivalent Reachability for Linear Systems. In Proceedings of the 20th International Conference on Hybrid Systems: Computation and Control (Pittsburgh, Pennsylvania, USA) ( HSCC '17). Association for Computing Machinery, New York, NY, USA, 173-178. https://doi.org/10.1145/3049797.3049808 Google Scholar
Digital Library
- Timo Blender, Thiemo Buchner, Benjamin Fernandez, Benno Pichlmaier, and Christian Schlegel. 2016. Managing a Mobile Agricultural Robot Swarm for a seeding task. In 42nd Annual Conference of the IEEE Industrial Electronics Society (Florence, Italy) (IECON '16). IEEE, New York, NY, USA, 6879-6886. https://doi.org/10.1109/IECON. 2016.7793638 Google Scholar
Digital Library
- Brandon Bohrer, Yong Kiam Tan, Stefan Mitsch, Magnus O. Myreen, and André Platzer. 2018. VeriPhy: Verified Controller Executables from Verified Cyber-physical System Models. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (Philadelphia, PA, USA) ( PLDI '18). ACM, New York, NY, USA, 617-630. https://doi.org/10.1145/3192366.3192406 Google Scholar
Digital Library
- Miguel Campusano and Johan Fabry. 2017. Live Robot Programming: The Language, its Implementation, and Robot API Independence. Science of Computer Programming 133 ( Jan. 2017 ), 1-19. https://doi.org/10.1016/j.scico. 2016. 06.002 Google Scholar
Cross Ref
- Xin Chen, Erika Ábrahám, and Sriram Sankaranarayanan. 2013. Flow*: An analyzer for non-linear hybrid systems. In Proceedings of the 25th International Conference on Computer Aided Verification (CAV '13), Natasha Sharygina and Helmut Veith (Eds.). Springer-Verlag, Berlin, Heidelberg, 258-263. https://doi.org/10.1007/978-3-642-39799-8_18 Google Scholar
Cross Ref
- Shun Yan Cheung and Vaidy S. Sunderam. 1995. Performance of Barrier Synchronization Methods in a Multiaccess Network. 6, 8 ( 1995 ), 890-895. https://doi.org/10.1109/71.406967 Google Scholar
Digital Library
- Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: Amazon's Highly Available Key-value Store. In Proceedings of Twenty-first ACM SIGOPS Symposium on Operating Systems Principles (Stevenson, Washington, USA) ( SOSP '07). ACM, New York, NY, USA, 205-220. https://doi.org/10.1145/1294261.1294281 Google Scholar
Digital Library
- Ankush Desai, Vivek Gupta, Ethan Jackson, Shaz Qadeer, Sriram Rajamani, and Damien Zuferey. 2013. P: Safe Asynchronous Event-Driven Programming. SIGPLAN Not. 48, 6 ( June 2013 ), 321-332. https://doi.org/10.1145/2499370.2462184 Google Scholar
Digital Library
- Ankush Desai, Indranil Saha, Jianqiao Yang, Shaz Qadeer, and Sanjit A. Seshia. 2017. DRONA: A Framework for Safe Distributed Mobile Robotics. In Proceedings of the 8th International Conference on Cyber-Physical Systems (Pittsburgh, Pennsylvania, USA) ( ICCPS '17). Association for Computing Machinery, New York, NY, USA, 239-248. https://doi.org/10. 1145/3055004.3055022 Google Scholar
Digital Library
- Isil Dillig, Thomas Dillig, Alex Aiken, and Mooly Sagiv. 2011. Precise and Compact Modular Procedure Summaries for Heap Manipulating Programs. In Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation (San Jose, California, USA) ( PLDI '11). Association for Computing Machinery, New York, NY, USA, 567-577. https://doi.org/10.1145/1993498.1993565 Google Scholar
Digital Library
- Cezara Drăgoi, Thomas A. Henzinger, and Damien Zuferey. 2016. PSync: A Partially Synchronous Language for Faulttolerant Distributed Algorithms. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (St. Petersburg, FL, USA) ( POPL '16). Association for Computing Machinery, New York, NY, USA, 400-415. https://doi.org/10.1145/2837614.2837650 Google Scholar
Digital Library
- Parasara Sridhar Duggirala, Sayan Mitra, and Mahesh Viswanathan. 2013. Verification of Annotated Models from Executions. In Proceedings of the Eleventh ACM International Conference on Embedded Software (Montreal, Quebec, Canada) ( EMSOFT '13). IEEE, New York, NY, USA, Article 26, 10 pages. https://doi.org/10.1109/EMSOFT. 2013.6658604 Google Scholar
Cross Ref
- Chuchu Fan, Bolun Qi, and Sayan Mitra. 2018. Data-Driven Formal Reasoning and Their Applications in Safety Analysis of Vehicle Autonomy Features. IEEE Design & Test 35, 3 ( 2018 ), 31-38. https://doi.org/10.1109/MDAT. 2018.2799804 Google Scholar
Cross Ref
- Chuchu Fan, Bolun Qi, Sayan Mitra, and Mahesh Viswanathan. 2017. DryVR: Data-driven Verification and Compositional Reasoning for Automotive Systems. In Proceedings of the 29th International Conference on Computer Aided Verification (Heidelberg, Germany) ( CAV '17). Springer, Cham, Switzerland, 441-461. https://doi.org/10.1007/978-3-319-63387-9_22 Google Scholar
Cross Ref
- Goran Frehse, Colas Le Guernic, Alexandre Donzé, Scott Cotton, Rajarshi Ray, Olivier Lebeltel, Rodolfo Ripado, Antoine Girard, Thao Dang, and Oded Maler. 2011. SpaceEx: Scalable Verification of Hybrid Systems. In Proceedings of the 23rd International Conference on Computer Aided Verification (Snowbird, UT, USA) ( CAV '11). Springer, Berlin, Heidelberg, 379-395. https://doi.org/10.1007/978-3-642-22110-1_30 Google Scholar
Cross Ref
- David Gauthier, Paul Freedman, Gregory Carayannis, and Alfred Malowany. 1987. Interprocess communication for distributed robotics. IEEE Journal on Robotics and Automation 3, 6 ( 1987 ), 493-504. https://doi.org/10.1109/JRA. 1987.1087141 Google Scholar
Cross Ref
- Mario Gerla, Eun-Kyu Lee, Giovanni Pau, and Uichin Lee. 2014. Internet of Vehicles: From Intelligent Grid to Autonomous Cars and Vehicular Clouds. In Proceedings of 2014 IEEE world forum on internet of things (Seoul, Korea) ( WF-IoT'14). IEEE, New York, NY, USA, 241-246. https://doi.org/10.1109/WF-IoT. 2014.6803166 Google Scholar
Cross Ref
- Ritwika Ghosh. 2020. Separation of Distributed Coordination and Control for Programming Reliable Robotics. Ph.D. Dissertation. University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA. Advisor(s) Sayan Mitra. http://hdl.handle. net/ 2142/108501Google Scholar
- Ritwika Ghosh, Joao P. Jansch-Porto, Chiao Hsieh, Amelia Gosse, Minghao Jiang, Hebron Taylor, Peter Du, Sayan Mitra, and Geir Dullerud. 2020. CyPhyHouse: A Programming, Simulation, and Deployment Toolchain for Heterogeneous Distributed Coordination. In Proceedings of 2020 IEEE International Conference on Robotics and Automation (Paris,France) ( ICRA '20). IEEE, New York, NY, USA, 6654-6660. https://doi.org/10.1109/ICRA40945. 2020.9196513 Google Scholar
Cross Ref
- Ritwika Ghosh, Sasa Misailovic, and Sayan Mitra. 2018. Language Semantics Driven Design and Formal Analysis for Distributed Cyber-Physical Systems: [Extended Abstract]. In Proceedings of the 2018 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed Systems (Egham, United Kingdom) (ApPLIED '18). ACM, New York, NY, USA, 41-44. https://doi.org/10.1145/3231104.3231958 Google Scholar
Digital Library
- Sukumar Ghosh. 2014. Distributed Systems: An Algorithmic Approach (2 ed.). Chapman and Hall/CRC.Google Scholar
Cross Ref
- Lars Grüne and Jürgen Pannek. 2017. Nonlinear model predictive control: Theory and Algorithms (2 ed.). Springer International Publishing. 45-69 pages. https://doi.org/10.1007/978-3-319-46024-6 Google Scholar
Cross Ref
- Ge Guo and Wei Yue. 2012. Autonomous Platoon Control Allowing Range-Limited Sensors. IEEE Transactions on vehicular technology 61, 7 (Sept. 2012 ), 2901-2912. https://doi.org/10.1109/TVT. 2012.2203362 Google Scholar
Cross Ref
- Debra Hensgen, Raphael Finkel, and Udi Manber. 1988. Two Algorithms for Barrier Synchronization. Int. J. Parallel Program. 17, 1 (Feb. 1988 ), 1-17. https://doi.org/10.1007/BF01379320 Google Scholar
Digital Library
- Thomas A. Henzinger, Peter W. Kopke, Anuj Puri, and Pravin Varaiya. 1995. What's decidable about hybrid automata?. In Proceedings of the twenty-seventh annual ACM symposium on Theory of computing (Las Vegas, Nevada, USA) ( STOC '95). Association for Computing Machinery, New York, NY, USA, 373-382. https://doi.org/10.1145/225058.225162 Google Scholar
Digital Library
- S. Karaman, A. Anders, M. Boulet, J. Connor, K. Gregson, W. Guerra, O. Guldner, M. Mohamoud, B. Plancher, R. Shin, and J. Vivilecchia. 2017. Project-based, collaborative, algorithmic robotics for high school students: Programming self-driving race cars at MIT. In Proceedings of 2017 IEEE Integrated STEM Education Conference (ISEC '17). IEEE, New York, NY, USA, 195-203. https://doi.org/10.1109/ISECon. 2017.7910242 Google Scholar
Cross Ref
- Michal Kvasnica, Pascal Grieder, Mato Baotić, and Manfred Morari. 2004. Multi-parametric toolbox (MPT). In Proceedings of the 7th International Workshop on Hybrid Systems: Computation and Control. Springer, Berlin, Heidelberg, 448-462. https://doi.org/10.1007/978-3-540-24743-2_30 Google Scholar
Cross Ref
- Avinash Lakshman and Prashant Malik. 2010. Cassandra: A Decentralized Structured Storage System. SIGOPS Oper. Syst. Rev. 44, 2 (April 2010 ), 35-40. https://doi.org/10.1145/1773912.1773922 Google Scholar
Digital Library
- Steven M LaValle. 1998. Rapidly-exploring random trees: A new tool for path planning. Technical Report. Ames, IA, USA. http://msl.cs.illinois.edu/~lavalle/papers/Lav98c.pdfGoogle Scholar
- Nancy A. Lynch. 1996. Distributed Algorithms. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.Google Scholar
Digital Library
- Johannes Meyer, Alexander Sendobry, Stefan Kohlbrecher, Uwe Klingauf, and Oskar von Stryk. 2012. Comprehensive Simulation of Quadrotor UAVs Using ROS and Gazebo. In Proceedings of the third International Conference on Simulation, Modeling, and Programming for Autonomous Robots (Tsukuba, Japan) ( SIMPAR '12), Itsuki Noda, Noriaki Ando, Davide Brugali, and James J. Kufner (Eds.). Springer, Berlin, Heidelberg, 400-411. https://doi.org/10.1007/978-3-642-34327-8_36 Google Scholar
Digital Library
- Aleksandar Milicevic, Damien Zuferey, and Martin Rinard. 2015. The REACT language for robotics. https://github.com/ aleksandarmilicevic/react-langGoogle Scholar
- Pieter J Mosterman, David Escobar Sanabria, Enes Bilgin, Kun Zhang, and Justyna Zander. 2014. A Heterogeneous Fleet of Vehicles for Automated Humanitarian Missions. Computing in Science & Engineering 16, 3 ( June 2014 ), 90-95. https://doi.org/10.1109/ MCSE. 2014.58 Google Scholar
Cross Ref
- Adithyavairavan Murali, Tao Chen, Kalyan Vasudev Alwala, Dhiraj Gandhi, Lerrel Pinto, Saurabh Gupta, and Abhinav Gupta. 2019. PyRobot: An Open-source Robotics Framework for Research and Benchmarking. ( 2019 ). arXiv:arXiv: 1906.08236Google Scholar
- Bill Nitzberg and Virginia Lo. 1991. Distributed Shared Memory: A Survey of Issues and Algorithms. Computer 24, 8 (Aug. 1991 ), 52-60. https://doi.org/10.1109/2.84877 Google Scholar
Digital Library
- Arne Nordmann, Nico Hochgeschwender, and Sebastian Wrede. 2014. A Survey on Domain-Specific Languages in Robotics. In Proceedings of the 4th International Conference on Simulation, Modeling, and Programming for Autonomous Robot (Bergamo, Italy) ( SIMPAR '14). Springer International Publishing, Cham, 195-206. https://doi.org/10.1007/978-3-319-11900-7_17 Google Scholar
Digital Library
- D. Pickem, P. Glotfelter, L. Wang, M. Mote, A. Ames, E. Feron, and M. Egerstedt. 2017. The Robotarium: A remotely accessible swarm robotics research testbed. In Proceedings of 2017 IEEE International Conference on Robotics and Automation (Singapore) (ICRA '17). IEEE, New York, NY, USA, 1699-1706. https://doi.org/10.1109/ICRA. 2017.7989200 Google Scholar
Cross Ref
- C. Pinciroli and G. Beltrame. 2016. Buzz: An Extensible Programming Language for Heterogeneous Swarm Robotics. In Proceedings of 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (Daejeon, Korea) (IROS '16). IEEE, New York, NY, USA, 3794-3800. https://doi.org/10.1109/IROS. 2016.7759558 Google Scholar
Digital Library
- J Norberto Pires and JMG Sá Da Costa. 2000. Object-oriented and distributed approach for programming robotic manufacturing cells. Robotics and Computer-Integrated Manufacturing 16, 1 ( 2000 ), 29-42. https://doi.org/10.1016/S0736-5845 ( 99 ) 00039-3 Google Scholar
Cross Ref
- André Platzer. 2018. Logical Foundations of Cyber-Physical Systems (1 ed.). Springer International Publishing. https: //doi.org/10.1007/978-3-319-63588-0 Google Scholar
Cross Ref
- Jelica Protic, Milo Tomasevic, and Veljko Milutinovic. 1997. Distributed Shared Memory: Concepts and Systems. IEEE Computer Society Press.Google Scholar
- Morgan Quigley, Ken Conley, Brian P. Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, and Andrew Y. Ng. 2009. ROS: an open-source Robot Operating System. In Proc. of the IEEE Intl. Conf. on Robotics and Automation (ICRA) Workshop on Open Source Robotics (Kobe, Japan). IEEE. http://www.willowgarage.com/sites/default/files/icraoss09-ROS.pdfGoogle Scholar
- Redmond R Shamshiri, Cornelia Weltzien, Ibrahim A Hameed, Ian J Yule, Tony E Grift, Siva K Balasundram, Lenka Pitonakova, Desa Ahmad, and Girish Chowdhary. 2018. Research and development in agricultural robotics: A perspective of digital farming. International Journal of Agricultural and Biology Engineering 11, 4 ( 2018 ). https://doi.org/10.25165/j.ijabe. 20181104.4278 Google Scholar
Cross Ref
- Grigore Rosu and Traian Florin Serbanuta. 2014. K Overview and SIMPLE Case Study. Electronic Notes in Theoretical Computer Science 304 ( June 2014 ), 3-56. https://doi.org/10.1016/j.entcs. 2014. 05.002 Google Scholar
Cross Ref
- Giovanni Russo and Jean-Jacques E Slotine. 2011. Symmetries, stability, and control in nonlinear systems and networks. Physical Review E 84, 4 (Oct 2011 ), 041929. https://doi.org/10.1103/PhysRevE.84.041929 Google Scholar
Cross Ref
- Hussein Sibai, Navid Mokhlesi, Chuchu Fan, and Sayan Mitra. 2020. Multi-Agent Safety Verification using Symmetry Transformations. In Proceedings of the 26th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (Dublin, Ireland) ( TACAS '20). Springer International Publishing, Cham, 173-190.Google Scholar
Cross Ref
- David St-Onge, Vivek Shankar Varadharajan, Guannan Li, Ivan Svogor, and Giovanni Beltrame. 2017. ROS and Buzz: consensus-based behaviors for heterogeneous teams. ( 2017 ). arXiv:arXiv:1710.08843Google Scholar
- Sebastian Thrun. 2003. Robotic Mapping: A Survey. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1-35.Google Scholar
- Brian C Williams, Michel D Ingham, Seung H Chung, and Paul H Elliott. 2003. Model-Based Programming of Intelligent Embedded Systems and Robotic Space Explorers. Proc. IEEE 91, 1 (Jan. 2003 ), 212-237. https://doi.org/10.1109/JPROC. 2002.805828 Google Scholar
Cross Ref
- Greta Yorsh, Eran Yahav, and Satish Chandra. 2008. Generating Precise and Concise Procedure Summaries. In Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (San Francisco, California, USA) ( POPL '08). Association for Computing Machinery, New York, NY, USA, 221-234. https://doi.org/10.1145/1328438. 1328467 Google Scholar
Digital Library
Index Terms
Koord: a language for programming and verifying distributed robotics application
Recommendations
DRONA: a framework for safe distributed mobile robotics
ICCPS '17: Proceedings of the 8th International Conference on Cyber-Physical SystemsDistributed mobile robotics (DMR) involves teams of networked robots navigating in a physical space to achieve tasks in a coordinated fashion. A major challenge in DMR is to program the ensemble of robots with formal guarantees and high assurance of ...
Informality in Program Specifications
This paper is concerned with the need for computer-based tools which help human designers formulate formal process-oriented specifications. It first determines some attributes of a suitable process-oriented specification language, then examines the ...
Distributed multi-robot formation control in dynamic environments
This paper presents a distributed method for formation control of a homogeneous team of aerial or ground mobile robots navigating in environments with static and dynamic obstacles. Each robot in the team has a finite communication and visibility radius ...






Comments