Modelling the Turtle Python library in CSP

Dara MacConville, M. Farrell, Matt Luckcuck, Rosemary Monahan
{"title":"Modelling the Turtle Python library in CSP","authors":"Dara MacConville, M. Farrell, Matt Luckcuck, Rosemary Monahan","doi":"10.4204/EPTCS.362.4","DOIUrl":null,"url":null,"abstract":"Software verification is an important tool in establishing the reliability of critical systems. One potential area of application is in the field of robotics, as robots take on more tasks in both day-to-day areas and highly specialised domains. Robots are usually given a plan to follow, if there are errors in this plan the robot will not perform reliably. The capability to check plans for errors in advance could prevent this. Python is a popular programming language in the robotics domain, through the use of the Robot Operating System (ROS) and various other libraries. Python's Turtle package provides a mobile agent, which we formally model here using Communicating Sequential Processes (CSP). Our interactive toolchain CSP2Turtle with CSP model and Python components, enables Turtle plans to be verified in CSP before being executed in Python. This means that certain classes of errors can be avoided, and provides a starting point for more detailed verification of Turtle programs and more complex robotic systems. We illustrate our approach with examples of robot navigation and obstacle avoidance in a 2D grid-world.","PeriodicalId":313985,"journal":{"name":"AREA@IJCAI-ECAI","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"AREA@IJCAI-ECAI","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4204/EPTCS.362.4","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Software verification is an important tool in establishing the reliability of critical systems. One potential area of application is in the field of robotics, as robots take on more tasks in both day-to-day areas and highly specialised domains. Robots are usually given a plan to follow, if there are errors in this plan the robot will not perform reliably. The capability to check plans for errors in advance could prevent this. Python is a popular programming language in the robotics domain, through the use of the Robot Operating System (ROS) and various other libraries. Python's Turtle package provides a mobile agent, which we formally model here using Communicating Sequential Processes (CSP). Our interactive toolchain CSP2Turtle with CSP model and Python components, enables Turtle plans to be verified in CSP before being executed in Python. This means that certain classes of errors can be avoided, and provides a starting point for more detailed verification of Turtle programs and more complex robotic systems. We illustrate our approach with examples of robot navigation and obstacle avoidance in a 2D grid-world.
在CSP中建模Turtle Python库
软件验证是建立关键系统可靠性的重要工具。一个潜在的应用领域是机器人领域,因为机器人在日常领域和高度专业化的领域都承担着更多的任务。通常给机器人一个计划,如果这个计划有错误,机器人将不能可靠地执行。提前检查计划错误的能力可以防止这种情况的发生。通过使用机器人操作系统(ROS)和各种其他库,Python是机器人领域中流行的编程语言。Python的Turtle包提供了一个移动代理,我们在这里使用通信顺序进程(CSP)对其进行正式建模。我们的交互式工具链CSP2Turtle带有CSP模型和Python组件,可以在CSP中验证Turtle计划,然后在Python中执行。这意味着可以避免某些类型的错误,并为更详细地验证Turtle程序和更复杂的机器人系统提供了起点。我们用二维网格世界中的机器人导航和避障示例来说明我们的方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信