The customer application is represented by a data structure known as the electronic DNA (eDNA), which is produced by the Design Suite during compilation of the customer’s application. The eDNA is in its essence a low granularity task graph representation of the customer application. Each task in the task graph is represented by a table, which describes the task to be executed and which of the other cores to communicate with. The eDNA also contains mapping information that maps the tasks to cores. All cores in the Application Specific Configurable Architecture (ASCA) contain the eDNA (configuration string). This is possible due to our unique programming model lowering the information and memory required (compared to an FPGA). The term ‘eDNA’ builds upon an analogy to the way cells in multicellular organisms interprets their DNA. As in biology, our eDNA enables three key capabilities: Self-configuration, autonomous fault detection, and self-repair.