Context-Role Oriented Programming in Julia: Advancing Swarm Programming

Research output: Contribution to book/Conference proceedings/Anthology/ReportConference contributionContributedpeer-review

Abstract

Collaborative multi-drone, or more generally, multirobot systems - also called swarms - have many possible operational scenarios. They can be used in scenarios that are dangerous for humans or where deploying humans or stationary hardware would cost many resources. However, developing software for swarms is challenging. Common software development tools make it complex to define collaborative operations and distribute individual information correctly. We present a solution that allows an elegant and comprehensible definition of swarms and their constituents' behavior. We introduce an implementation of the Context-Role-oriented Programming paradigm realized using the Julia programming language. Roles can then be used to assign tasks and specific behavior to certain swarm members. We evaluate the feasibility of our approach by implementing a surveillance task for a drone swarm. Using this application, we show how to define a swarm structure, how to implement role-specific behavior, and how roles can be used to distribute relevant information. We discuss centralized and decentralized swarms and provide a performance evaluation of CROP in Julia.

Details

Original languageEnglish
Title of host publication2025 IEEE/ACM 20th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)
PublisherIEEE Computational Intelligence Society (CIS)
Pages85-95
Number of pages11
ISBN (electronic)979-8-3315-0181-5
ISBN (print)979-8-3315-0182-2
Publication statusPublished - 29 Apr 2025
Peer-reviewedYes

Publication series

SeriesSEAMS International Workshop on Software Engineering for Adaptive and Self-Managing Systems, ICSE
ISSN2157-2305

Conference

Title20th International Conference on Software Engineering for Adaptive and Self-Managing Systems
Abbreviated titleSEAMS 2025
Conference number20
Duration28 - 29 April 2025
Website
Degree of recognitionInternational event
LocationRogers Centre
CityOttawa
CountryCanada

External IDs

Scopus 105009161299
ORCID /0000-0003-1537-7815/work/205991637
ORCID /0000-0002-3513-6448/work/205991856
ORCID /0009-0008-3887-3217/work/205992865

Keywords

ASJC Scopus subject areas

Keywords

  • Collaboration, Drones, Hardware, Multi-robot systems, Performance evaluation, Programming, Software, Software development management, Software engineering, Surveillance, Swarms, Roles, Contexts, Julia, Teams, SelfAdaptive Systems