res : array : task-result : [request] = {} ..
info : array : integer : [request] = {} ..

request : array : task-request = {
                                   < request : strings.1, port-name : 'task-1' >
                                   < request : strings.2, port-name : 'task-2' >
                                   < request : strings.3, port-name : 'task-3' >
                                 }

do {1..request._} i ->
  start task request.i ( x -> res.i = x )    
;

while (!all-values res) ->   
  read request.1.port-name info.1 [ !res.1 ]
  read request.2.port-name info.2 [ !res.2 ]
  read request.3.port-name info.3 [ !res.3 ]

  say "\v\v\v" 'T1: ' info.1 '%',
               'T2: ' info.2 '%',
               'T3: ' info.3 '%'
;