MIT M.Eng. Thesis · 1999
Hive: A Software Infrastructure for Things That Think
- Author
- Oliver R. Roup
- Degree
- Master of Engineering in Electrical Engineering and Computer Science
- Institution
- MIT, Department of Electrical Engineering and Computer Science
- Supervisor
- Michael Hawley, MIT Media Lab
- Submitted
- May 21, 1999
Abstract
Hive is a software toolkit to facilitate the creation of distributed systems of Things That Think. Hive contains a number of features that distinguish it from comparable toolkits including an unusual organizational metaphor, a reliance upon mobile code, and a powerful description facility to allow components of the system to find each other and communicate meaningfully.
As its name implies, Hive is based upon a biological metaphor. A Hive is composed of a collection of Cells which act as host to a population of Agents: mobile computational objects with some sort of agenda. Cells also play host to a number of distinct local resources called Shadows. A rich lookup scheme allows Agents to discover Shadows and each other and to facilitate meaningful ad-hoc connections.
The split between Shadows and Agents and the ability of Agents to move from Cell to Cell creates a great deal of flexibility. Code stability and wide-scale distribution of systems is encouraged.
Applications are implemented as the emergent behavior of an ecology of Agents: a population of Agents that move from Cell to Cell, discover resources, and interact with each other and the local Shadows.
Hive has been successfully deployed within the MIT Media Lab as the technical foundation for a number of widely varying projects and is scheduled for an Open Source release in the near future.