Using teams of robots to complete a task provides a number of advantages over the use of a single robot. Multiple robots are able to complete tasks faster, and provide redundancy in case of equipment failure or loss. Teams of robots with different capabilities and physiologies are beneficial because they allow a team to provide a high level of overall functionality while striking a balance between the cost and complexity of the robots. Previous work tends to focus on the use of pre-formed teams of robots, with little attention to the formation and maintenance of the team itself. An environment such as a disaster zone presents numerous challenges to robotic operation, and it can be expected that the nature of a team will change due to, for example, malfunctions and the introduction of replacement equipment. I developed a framework to support the maintenance of teams of heterogeneous robots operating in complex and dynamic environments such as disaster zones. Given an established team, my work also facilitates the discovery of work to be done during the team's mission and its subsequent assignment to members of the team in a distributed fashion. I evaluated my framework through the development of an example implementation where robots perform exploration in order to locate victims in a simulated disaster environment.ii