Collaborative multi-drone, or more generally, multi-robot 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.