1. A dynamic, distributed directed activity network comprising: a. a directed activity control program defining specific tasks to be executed including required individual task inputs and outputs, the required order of specific task execution, and permitted parallelism in said task execution; b. a directed activity controller for executing said directed activity control program, said directed activity controller comprising a computing device that includes processing units and communication devices to allow the directed activity control program to communicate with other devices in a communication network; c. a plurality of distributed task execution agents, individual of said task execution agents having a set of agent attributes and capable of executing different tasks in said activity network; d. a plurality of task execution controllers including communication devices for communicating with said directed activity controller, each task execution controller associated with one or more of the task execution agents with access to agent attributes which may dynamically change over time; and e. wherein said task execution controllers and directed activity controllers execute said directed activity control program specific tasks using selected task execution agents with dynamic updating of task execution agent attributes by communications between task execution controllers and the directed activity controller.