module APPLICATION (TYPES) is -- application with one main task forking both 2*N_b bitstream subtasks and -- (N_v/2)+1 vector subtasks, each of which forks two nested vector subtasks -- (where N_b is the number of processors with bitstream extension, and N_v is -- the number of processors with vector extension) process EXECUTE [ST, MSG: any] (id: Pid, j: Job_Desc, in out s: Job_Desc_Stack) is case j.pc of PC in DONT_CARE_1_1 -> MASTER [ST, MSG] (DONT_CARE, DONT_CARE_1_1, BITSTREAM_1, BITSTREAM, Int (2 * NB_BITSTREAM_PROCESSORS), DONT_CARE_1_2, ID, !?S) | DONT_CARE_1_2 -> MASTER [ST, MSG] (DONT_CARE, DONT_CARE_1_2, VECTOR_1_1, VECTOR, Int (NB_VECTOR_PROCESSORS div 2) + 1, DONT_CARE_1_3, ID, !?S) | DONT_CARE_1_3 -> LEAF [MSG] (DONT_CARE, DONT_CARE_1_3, ID) | BITSTREAM_1 -> SLAVE [MSG] (BITSTREAM, BITSTREAM_1, ID, j.index) | VECTOR_1_1 -> MASTER [ST, MSG] (VECTOR, VECTOR_1_1, VECTOR_2, VECTOR, 2 of Int, VECTOR_1_2, ID, !?S) | VECTOR_1_2 -> SLAVE [MSG] (VECTOR, VECTOR_1_2, ID, j.index) | VECTOR_2 -> SLAVE [MSG] (VECTOR, VECTOR_2, ID, j.index) | any -> null -- to avoid a warning from lnt2lotos end case end process process HOST_APPLI [HOST: any] is HOST (HOST_JOB (DONT_CARE_1_1, DONT_CARE)); stop end process end module