CARLOS: An Open, Modular, and Scalable Simulation Framework for the Development and Testing of Software for C-ITS
<|reference_start|>CARLOS: An Open, Modular, and Scalable Simulation Framework for the Development and Testing of Software for C-ITS: Future mobility systems and their components are increasingly defined by their software. The complexity of these cooperative intelligent transport systems (C-ITS) and the everchanging requirements posed at the software require continual software updates. The dynamic nature of the system and the practically innumerable scenarios in which different software components work together necessitate efficient and automated development and testing procedures that use simulations as one core methodology. The availability of such simulation architectures is a common interest among many stakeholders, especially in the field of automated driving. That is why we propose CARLOS - an open, modular, and scalable simulation framework for the development and testing of software in C-ITS that leverages the rich CARLA and ROS ecosystems. We provide core building blocks for this framework and explain how it can be used and extended by the community. Its architecture builds upon modern microservice and DevOps principles such as containerization and continuous integration. In our paper, we motivate the architecture by describing important design principles and showcasing three major use cases - software prototyping, data-driven development, and automated testing. We make CARLOS and example implementations of the three use cases publicly available at github.com/ika-rwth-aachen/carlos<|reference_end|>
@article{geller2024carlos:,
    title={CARLOS: An Open, Modular, and Scalable Simulation Framework for the
  Development and Testing of Software for C-ITS},
    author={Christian Geller and Benedikt Haas and Amarin Kloeker and Jona Hermens
  and Bastian Lampe and Till Beemelmanns and Lutz Eckstein},
    journal={arXiv preprint arXiv:2404.01836},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.01836},
    primaryClass={cs.RO cs.SE}
}