**** ZIMSET and ZIMULATION

     ZIMSET and ZIMULATION are two SIMULA classes which include
     simple tracing facilities.  They may be used for educational
     as well as debugging purposes.

     For complete documentation, see FOA Report C10055-M3(E5),
     October 1976, distributed as ZIMULA.MAN.

     A small example:

     BEGIN
         EXTERNAL PROCEDURE abort;
         EXTERNAL TEXT PROCEDURE upcase, conc, puttime,
         putfloat, today, daytime;
         EXTERNAL CLASS zimset,zimulation;

         zimulation BEGIN

             process CLASS a; Passivate;

             traceon("Trace.Log","*");
             ! Start trace on TRACE.LOG;

             setparms('M',0);
             ! Time format: Minutes, no decimal seconds;
             activat(NEW a,"DELAY",5,NONE);
             ! ACTIVATE NEW a DELAY 5;
             activat(NEW a,"AT",8,NONE);
             ! ACTIVATE NEW a AT 8;
             hold(2);
             sqslist;
             reactivat(current,"AT",10,NONE);
             ! REACTIVATE Current AT 10;
             prior:= TRUE;   activat(NEW a,"AFTER",0,NEW a);
             ! ACTIVATE NEW a AFTER NEW a PRIOR;

         END zimulation

     END of program


     will produce the following output on TRACE.LOG:

*** Trace generated 1976-10-13 at 12:20:35 ***  Trace Codes: All

        00:00.00 (  2)        will be Delayed  to       00:05.00
                 (  3)        will be ACT. AT           00:08.00
                 Main Program Held       00:02.00 to    00:02.00

:---- Scheduled Processes ----
:         Evtime    Title
:       00:02.00    Main Program
:       00:05.00    (  2)
:       00:08.00    (  3)
:---- End of SQS List --------

        00:02.00 Main Program will be ACT. AT           00:10.00
                 Main Program was REACT. from           00:02.00
        00:05.00 (  2)        Passivated
        00:08.00 (  3)        Passivated
?       00:10.00 (  4)        Pass. due to ACT. AFTER Idle (  5)

		[End of ZIMULA.HLP]

