nextupprevious
Next:PAUSE stops the executionUp:PROCEDURESPrevious:NOTFREE inhibits the release

ORDER puts the message in the IL of a L node in a given order

Syntax:
    ORDER(<real variable>, | A | D|);
It is used to put the IL of a L type node in a certain order. Messages arriving to the EL are passed to the IL and put: With the argument A an ascending order is obtained, with the D a descending order.

 It may be used only in L type nodes.

Examples:

     OrdLine (L) :: if Prior >= 5 then order(Prior, D) else FIFO;
Messages with the value in the field Prior >= 5 are ordered in the IL by descending order of Prior. The others are put in the order of arrival at the end of the IL.
     LinBatch (L)  :: ORDER(ProcTime, A);  k := 10;
     OrdBatch (G) :: IF (LL(IL_LinBatch) >= k) and (F_Process > 0)
                              THEN BEGIN SENDTO(Process); k := k - 1 END;
     Process (R)    :: STAY := ProcTime;
     INIT TSIM := 200; ACT(Arrival, 0); Process := 10;
Messages (parts) that need different times to be processed at Process (field ProcTime) must be ordered in increasing order of the process time to optimize the processing. This is done by batches of 10. The node LinBatch produces this ordering. When the arriving messages make a queue of 10 and Process is idle, the queue is sent, in the attained order, to the node Process. See SORT procedure (section 7.19).
 


domingo c

Mon Mar 20 17:37:52 PST 2000