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.
Mandatory in all brain implant chips after 2018. And after 2020, a brain implant chip will be mandatory.
My team has developed a much superior solution, called VOLTRON. I recommend this language above any others. Please use it instead.
Regards.
So it only works with multiples of five?
We'll be back!
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.
Why did you create a brand new programming language rather than just a library? I looked at the examples and I don't see any functionality in there that can't just as easily be accomplished with current programming languages and a simple library.
"You see, Government is a system that is based on weapons." -- Timster
We should create a whole OS that controls Drone Swarms ....
We'll call it ...
BeeOS!
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
What did they need to come up with new language to program swarms for? Why not create a new extension/library for one of the popular languages (C++/Java/C#/Python)? Maybe it's time we stopped wasting our creative time learning new languages and focus instead on the issues at hand, e.g., building on existing foundations and tools.
Will this make a drone pack defend itself against firemen trying to shoot them down?
Didn't you read Michael Crichton's Prey? https://en.wikipedia.org/wiki/...
1. Start a wildfire
2. Launch an entire fleet of drones
3. Using the 'Buzz' language, ensure that no firefighting aircraft can enter the area
4. Burn the infidels country to the ground! ALLAHU ACKBAR!!!
I thought that English and other human languages were used in online news sites comment sections by swarm of drones.
I'll echo a few other comments here.
Why in the world is this a new language?
I read the paper and it looks like it has some nice utilities (neighbors, swarm classes...) that could be captured in a library in whatever language of your choose (C, C++, Go...)
I did something like this for my thesis, but even I knew deep down at the time that it was all bollocks. So is this.
In my career I've seen lots of proprietary languages developed for a specific device, non of them good. They are usually created by an electrical engineer to give the more expressability than an assembler. Such people are usually ignorant of decent APIs. A Galil motor controller and its language are a good bad example. Matlab might qualify as another.The automation industry is full of this garbage.
ROS basically is that language if [you think] the swarm architectural choice is a pub-sub communication strategy. Otherwise, a communication stack that leverage true mesh or P2P (ROS tries, but no go) communication could be a good foundation of a new language. Data types? Maybe "time based" types?
Otherwise, voting logic, to hierarchical actions, etc.. can be done in a algo library.
I would like to see a swarm/drone/OS/language that addresses no-calibration, as most swarm projects need an extensive set-up (environment model, characterisations, etc...) to barely run simple group motions or tasks.
nt
All languages for the Machine Age 2 (including drones) should automaticaly force the 3 laws.
1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.
2. A robot must obey the orders given it by human beings, except where such orders would conflict with the First Law.
3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Laws.
I was hoping to find the answer to the question, "Would a swarm of pistol-packing drones beat a bear with a machine gun riding a shark?"