Slashdot Mirror


A Programming Language For Self-Organizing Swarms of Drones

New submitter jumpjoe writes: Drones are becoming a staple of everyday news. Drone swarms are the natural extension of the drone concept for applications such as search and rescue, mapping, and agricultural and industrial monitoring. A new programming language, compiler, and virtual machine were recently introduced to specify the behaviour of an entire swarm with a single program. This programming language, called Buzz, allows for self-organizing behaviour to accomplish complex tasks with simple program. Details on the language and examples are available here. Full disclosure: I am one of the authors of the paper.

1 of 56 comments (clear)

  1. Puzzling Paper by prefec2 · · Score: 3, Insightful

    I wonder, why you constructed that language as an external language, while for the most part it is just C like. And then you did not use flex and bison to construct scanner and parser of the language or any LL parser generator. This makes the whole language developing stuff cumbersome. You did not provide any definition in the paper or your site on the grammar used (I did not find any BNF-like grammar notation). And your semantics are vague. Furthermore, it is not very clever to allow unknown symbols. While lazy loading and other mechanisms are often seen as a convenient thing by programmers (at first), they later have to pay the price and debug like hell. Especially in flying or driving robots, you do not want to have faulty code on the machine. Therefore, you should ensure that all symbols are available with their complete signature.

    BTW: Most people would have developed this with any of the DSL development tools in existence, e.g., flex/bison+emacs (if you are from the 1990s), Xtext, MPS, Spoofax etc. and generated C code which would subsequently compiled to machine code of the specific platform. That would allow to support multiple platforms and you could use the optimization capabilities of the compiler.