_________________________________________________________________



NAME

     lts - Logical Time System Abstraction

_________________________________________________________________


     lts parent ?-speed speed? ?-offset offset? ?-value value?

          creates  and  returns  a  logical  time  system   (lts)
          abstraction  with  the  name  <parent><uid>  as the new
          object's name (refered to from now on  as  ltsName.   A
          command  ltsName is added to the current interpreter to
          access the lts.  A logical time system is a linear  map
          from system time to logical time.  The speed of the lts
          determines how fast logical time is to run --  a  speed
          of 0 indicates that logical time is stopped, a speed of
          2 indicates logical time is running  twice  as  fast  a
          system time.  The default speed is 0.

          The value of the lts is the current position in logical
          time.  The default value is 0.

          The offset of the lts is the internal  offset  used  to
          map  from system time to logical time.  Although not of
          any interest to most humans, the offset can  be  expli-
          citly  set  to force two lts's with access to synchron-
          ized system clocks to be synchronized.

     ltsName config

     ltsName config ?-slot?

     ltsName config ?-slot newValue?

          In the first form, this command returns a list of  tri-
          ples  specifying  the  name,  default value and current
          value of all slots in the lts.   In  the  second  form,
          this  command  returns a triple specifying the, default
          value and current value the attribute named slot in the
          lts.   In the third form, this command sets the current
          value the attribute named slot in the lts to  newValue.
          The  possible  values  for  slot  are  speed, offset or
          value.

     ltsName slot-value slot

          This command returns the current value of the specified
          slot, where slot is one of speed, offset or value.

     ltsName destroy

          This command destroys the lts named ltsName and removes
          the command from the interpreter.

     ltsName logicalTimeOf systemTime

          This command returns the value in logical time  associ-
          ated  with  systemTime.   If  systemTime is the keyword
          ``now'', then then system clock is read and the current
          logical time is returned.


     ltsName systemTimeOf logicalTime

          This  command  returns  the  value   in   system   time
          corresponding  with  the  logical time logicalTime.  If
          the lts speed is 0, then no mapping is possible and the
          value "undefined" is returned.


     ltsName addSlave ltsName2

          This command adds the lts  ltsName2  as  a  slave.  All
          changes to ltsName are propagated to ltsName2.


     ltsName delSlave ltsName2

          This command removes the lts ltsName2 as  a  slave.  If
          ltsName2 does not match any current slaves, no error is
          reported and the command does nothing.


     ltsName clearSlaves

          This command clears the slave list to be empty.



AUTHOR

     Brian Smith (bsmith@cs.berkeley.edu)
     Steve Yen (syen@cs.berkeley.edu)
     Ketan Patel