Using Context-Role-Oriented Programming for Swarms to Alleviate the Micro-Macro ProblemFull Paper
The development of systems comprised of multiple robots is challenging. This holds in particular for swarm robotics, where no central coordination is possible. Swarm programming requires the developer to foresee the desired emergent behavior as the result of the interaction between individual robots. The application logic is designed on micro-level, i.e, for an individual robot. But, the envision application is on macro-level, i.e., the swarm. In this paper, we aim to bridge the gap between micro- and macro-level programming by introducing a swarm element feedback loop on top of the individual feedback loop for each swarm constituent. The additional feedback loop uses context-role-oriented programming to capture the current role the robot plays within the swarm as well as its beliefs about its current perception. This enables developers to embed swarm-level application logic into their micro-level application. In turn, program comprehension and explainability of adaptation actions are improved. We evaluate our approach using an exemplary swarm application: a foraging chain. All robots participating in the swarm work together to collect prey and transport it to the nest. When robots detect each other, they form a chain and hand over the collected material to each other. We show the feasibility of our approach by simulating swarms of increasing size, and we assess the performance and scalability of our approach.
| Slides (seams-presentation-31.pdf) | 1.52MiB |