The Protelis logo is a P and a tThe goal of the Protelis language is to make it easier to build a resilient and well-behaved networked system out of an assortment of different potentially mobile devices. Protelis is designed for the paradigm of "aggregate programming", a way of thinking about and decomposing problems that can be solved with a network of distributed sensors and computers. Aggregate programming tries to produce reliable and robust collective behavior from uncoordinated local interactions between machines. That's hard to do, but Protelis helps!

Assorted devices distributed across space can turned into an inherently resilient distributed system by using a computational field programming model to handle peer-to-peer monitoring, tasking, and communicating.

Protelis was designed specifically to support aggregate programming: