A Build System for Software Development in Robotic Academic Collaborative Environments

被引:1
|
作者
Domenichelli, Daniele E. [1 ]
Traversaro, Silvio [2 ]
Muratore, Luca [3 ,4 ]
Rocchi, Alessio [3 ]
Nori, Francesco [5 ]
Natale, Lorenzo [1 ]
机构
[1] Ist Italian Tecnol, Humanoid Sensing & Percept, Via San Quirico 19, I-16163 Genoa, Italy
[2] Ist Italian Tecnol, iCub, I-16163 Genoa, Italy
[3] Ist Italian Tecnol, Adv Robot, Via Morego 30, I-16163 Genoa, Italy
[4] Univ Manchester, Sch Elect & Elect Engn, Manchester M13 9PL, Lancs, England
[5] Ist Italian Tecnol, Dynam Interact Control, Via San Quir 19, I-16163 Genoa, Italy
关键词
Build system; software development cycle; software reuse; superbuild;
D O I
10.1142/S1793351X19400087
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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 in 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.
引用
收藏
页码:185 / 205
页数:21
相关论文
共 50 条
  • [1] A Build System for Software Development in Robotic Academic Collaborative Environments
    Domenichelli, Daniele E.
    Traversaro, Silvio
    Muratore, Luca
    Rocchi, Alessio
    Nori, Francesco
    Natale, Lorenzo
    2018 SECOND IEEE INTERNATIONAL CONFERENCE ON ROBOTIC COMPUTING (IRC), 2018, : 33 - 40
  • [2] Software development environment for collaborative research workflow in robotic system integration
    El Hafi, Lotfi
    Ricardez, Gustavo Alfonso Garcia
    von Drigalski, Felix
    Inoue, Yuki
    Yamamoto, Masaki
    Yamamoto, Takashi
    ADVANCED ROBOTICS, 2022, 36 (11) : 533 - 547
  • [3] Detecting coordination problems in collaborative software development environments
    Amrit, Chintan
    van Hillegersberg, Jos
    INFORMATION SYSTEMS MANAGEMENT, 2008, 25 (01) : 57 - 70
  • [4] On the development of a collaborative robotic system for industrial coating cells
    Arrais, Rafael
    Costa, Carlos M.
    Ribeiro, Paulo
    Rocha, Luis F.
    Silva, Manuel
    Veiga, Germano
    INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING TECHNOLOGY, 2021, 115 (03): : 853 - 871
  • [5] On the development of a collaborative robotic system for industrial coating cells
    Rafael Arrais
    Carlos M. Costa
    Paulo Ribeiro
    Luís F. Rocha
    Manuel Silva
    Germano Veiga
    The International Journal of Advanced Manufacturing Technology, 2021, 115 : 853 - 871
  • [6] On the development of a collaborative robotic system for industrial coating cells
    Arrais, Rafael (rafael.l.arrais@inesctec.pt), 1600, Springer Science and Business Media Deutschland GmbH (115):
  • [7] Development of a collaborative robotic system to polish leather surfaces
    Gonzalez, Alejandra
    Perez-Vidal, Carlos
    Borrell, Jorge
    Solanes, J. Ernesto
    Gracia, Luis
    INTERNATIONAL JOURNAL OF COMPUTER INTEGRATED MANUFACTURING, 2024, 37 (03) : 285 - 303
  • [8] Evaluation of Collaborative Development Environments for Software Engineering Courses in Higher Education
    Kadenbach, Daniel
    Kleiner, Carsten
    SOCIAL COMPUTING AND SOCIAL MEDIA, SCSM 2016, 2016, 9742 : 365 - 372
  • [9] Building a Community System to Teach Collaborative Software Development
    Villarrubia, Andrew
    Kim, Hyunju
    10TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE & EDUCATION (ICCSE 2015), 2015, : 829 - 833
  • [10] An Inconsistency Management Support System for Collaborative Software Development
    Phan Thi Thanh Huyen
    Ochimiziu, Koichiro
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2014, E97D (01): : 22 - 33