What You Always Wanted to Know About Datalog (And Never Dared to Ask)
IEEE Transactions on Knowledge and Data Engineering
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Programmable self-assembly: constructing global shape using biologically-inspired local interactions and origami mathematics
Hood: a neighborhood abstraction for sensor networks
Proceedings of the 2nd international conference on Mobile systems, applications, and services
TinyDB: an acquisitional query processing system for sensor networks
ACM Transactions on Database Systems (TODS) - Special Issue: SIGMOD/PODS 2003
Computer
Infrastructure for Engineered Emergence on Sensor/Actuator Networks
IEEE Intelligent Systems
Declarative networking: language, execution and optimization
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
The regiment macroprogramming system
Proceedings of the 6th international conference on Information processing in sensor networks
Reliable and efficient programming abstractions for wireless sensor networks
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Protoswarm: a language for programming multi-robot systems using the amorphous medium abstraction
Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems - Volume 3
TinyOS Programming
Research Summary: Logic Programming for Massively Distributed Systems
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
Applying prolog to develop distributed systems
Theory and Practice of Logic Programming
Blinky blocks: a physical ensemble programming platform
CHI '11 Extended Abstracts on Human Factors in Computing Systems
Realizing the future of wireless data communications
Communications of the ACM
Forty data communications research questions
ACM SIGCOMM Computer Communication Review
Modeling datalog fact assertion and retraction in linear logic
Proceedings of the 14th symposium on Principles and practice of declarative programming
Distributed and efficient algorithm for self-reconfiguration of MEMS microrobots
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Decentralized execution of constraint handling rules for ensembles
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Distributed socialite: a datalog-based language for large-scale graph analysis
Proceedings of the VLDB Endowment
Hi-index | 0.02 |
We address how to write programs for distributed computing systems in which the network topology can change dynamically. Examples of such systems, which we call ensembles , include programmable sensor networks (where the network topology can change due to failures in the nodes or links) and modular robotics systems (whose physical configuration can be rearranged under program control). We extend Meld [1], a logic programming language that allows an ensemble to be viewed as a single computing system. In addition to proving some key properties of the language, we have also implemented a complete compiler for Meld. It generates code for TinyOS [14] and for a Claytronics simulator [12]. We have successfully written correct, efficient, and complex programs for ensembles containing over one million nodes.