Abstract. This paper presents a high level dynamic task allocation algorithm that is inspired by the biological development process and the immune system. For a microprocessor (µP) array, a program is partitioned into a number of workload oriented tasks with data dependencies and a few internal status-oriented tasks. Each µP in the array is capable of processing one of these tasks. The algorithm assigns tasks to the µP array that satisfy the requirements of the problem, and it dynamically recovers the system from faults at runtime.