机器人学术协作环境下软件开发的构建系统

Daniele E. Domenichelli, Silvio Traversaro, L. Muratore, A. Rocchi, F. Nori, L. Natale
{"title":"机器人学术协作环境下软件开发的构建系统","authors":"Daniele E. Domenichelli, Silvio Traversaro, L. Muratore, A. Rocchi, F. Nori, L. Natale","doi":"10.1109/IRC.2018.00014","DOIUrl":null,"url":null,"abstract":"The software development cycle in the robotic research environment is hectic and heavily driven by project or paper deadlines. Developers have only little time available for packaging the C/C++ code they write, develop and maintain the build system and continuous integration tools. Research projects are joint efforts of different groups working remotely and asynchronously. The typical solution is to rely on binary distributions and/or large repositories that compile all software and dependencies. This approach hinders code sharing and reuse and often leads to repositories whose inter-dependencies are difficult to manage. Following many years of experience leading software integration is research projects we developed YCM, a tool that supports our best practices addressing these issues. YCM is a set of CMake scripts that provides (1) build system support: to develop and package software libraries and components, and (2) superbuild deployment: to prepare and distribute sets of packages in source form as a single meta build. In this paper we describe YCM and report on our experience adopting it as a tool for managing software repositories in large research projects.","PeriodicalId":416113,"journal":{"name":"2018 Second IEEE International Conference on Robotic Computing (IRC)","volume":"120 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"A Build System for Software Development in Robotic Academic Collaborative Environments\",\"authors\":\"Daniele E. Domenichelli, Silvio Traversaro, L. Muratore, A. Rocchi, F. Nori, L. Natale\",\"doi\":\"10.1109/IRC.2018.00014\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The software development cycle in the robotic research environment is hectic and heavily driven by project or paper deadlines. Developers have only little time available for packaging the C/C++ code they write, develop and maintain the build system and continuous integration tools. Research projects are joint efforts of different groups working remotely and asynchronously. The typical solution is to rely on binary distributions and/or large repositories that compile all software and dependencies. This approach hinders code sharing and reuse and often leads to repositories whose inter-dependencies are difficult to manage. Following many years of experience leading software integration is research projects we developed YCM, a tool that supports our best practices addressing these issues. YCM is a set of CMake scripts that provides (1) build system support: to develop and package software libraries and components, and (2) superbuild deployment: to prepare and distribute sets of packages in source form as a single meta build. In this paper we describe YCM and report on our experience adopting it as a tool for managing software repositories in large research projects.\",\"PeriodicalId\":416113,\"journal\":{\"name\":\"2018 Second IEEE International Conference on Robotic Computing (IRC)\",\"volume\":\"120 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 Second IEEE International Conference on Robotic Computing (IRC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IRC.2018.00014\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 Second IEEE International Conference on Robotic Computing (IRC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IRC.2018.00014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

摘要

机器人研究环境中的软件开发周期是忙乱的,并且在很大程度上受到项目或论文截止日期的驱动。开发人员只有很少的时间来打包他们编写的C/ c++代码,开发和维护构建系统和持续集成工具。研究项目是不同小组远程和异步工作的共同努力。典型的解决方案是依赖二进制发行版和/或编译所有软件和依赖项的大型存储库。这种方法阻碍了代码共享和重用,并且经常导致难以管理其相互依赖关系的存储库。根据多年的软件集成研究项目的经验,我们开发了YCM,这是一种支持我们解决这些问题的最佳实践的工具。YCM是一组CMake脚本,它提供(1)构建系统支持:开发和打包软件库和组件,以及(2)超级构建部署:以源形式准备和分发包集作为单个元构建。在本文中,我们描述了YCM,并报告了我们在大型研究项目中采用它作为管理软件存储库的工具的经验。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
A Build System for Software Development in Robotic Academic Collaborative Environments
The software development cycle in the robotic research environment is hectic and heavily driven by project or paper deadlines. Developers have only little time available for packaging the C/C++ code they write, develop and maintain the build system and continuous integration tools. Research projects are joint efforts of different groups working remotely and asynchronously. The typical solution is to rely on binary distributions and/or large repositories that compile all software and dependencies. This approach hinders code sharing and reuse and often leads to repositories whose inter-dependencies are difficult to manage. Following many years of experience leading software integration is research projects we developed YCM, a tool that supports our best practices addressing these issues. YCM is a set of CMake scripts that provides (1) build system support: to develop and package software libraries and components, and (2) superbuild deployment: to prepare and distribute sets of packages in source form as a single meta build. In this paper we describe YCM and report on our experience adopting it as a tool for managing software repositories in large research projects.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Learning a Set of Interrelated Tasks by Using Sequences of Motor Policies for a Strategic Intrinsically Motivated Learner Improving Code Quality in ROS Packages Using a Temporal Extension of First-Order Logic Rapid Qualification of Mereotopological Relationships Using Signed Distance Fields Towards a Multi-mission QoS and Energy Manager for Autonomous Mobile Robots A Computational Framework for Complementary Situational Awareness (CSA) in Surgical Assistant Robots
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1