tesl
Class DelayedImplication<M1 extends java.lang.Comparable<? super M1>,M2 extends java.lang.Comparable<? super M2>,S extends java.lang.Comparable<? super S>>

java.lang.Object
  extended by tesl.ImplicationRelation
      extended by tesl.DelayedImplication<M1,M2,S>

public class DelayedImplication<M1 extends java.lang.Comparable<? super M1>,M2 extends java.lang.Comparable<? super M2>,S extends java.lang.Comparable<? super S>>
extends ImplicationRelation


Nested Class Summary
private  class DelayedImplication.DelayedImplicationBackup
           
 
Field Summary
private  boolean counting_
           
private  int delay_
           
private  boolean immediate_
           
private  int n_
           
 
Fields inherited from class tesl.ImplicationRelation
applied_now_
 
Constructor Summary
DelayedImplication(Clock<M1> reference, Clock<M2> counting, Clock<S> slave, int n)
          Get slave by delaying reference (not immediately) by n on counting
DelayedImplication(Clock<M1> reference, Clock<M2> counting, Clock<S> slave, int n, boolean immediate)
          Get slave by delaying reference (immediately or not) by n on counting
 
Method Summary
 ImplicationBackupInterface backup()
           
 Clock<?> getCountingClock()
          Return the counter clock, for the DelayedFor constraint
 Clock<?> getReferenceClock()
          Return the reference clock, for the DelayedFor constraint
 boolean induceTicks()
          Determine whether a tick should be set as "now" on the slave clock Impose the slave clock to tick synchronously with the n-th tick of the counter clock (master2 clock) following a tick of the reference clock (master1 clock)
 void restore(ImplicationBackupInterface bck)
           
 java.lang.String toString()
           
 
Methods inherited from class tesl.ImplicationRelation
apply, getMasterClocks, getSlaveClock, startSolving
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

immediate_

private boolean immediate_

delay_

private int delay_

n_

private int n_

counting_

private boolean counting_
Constructor Detail

DelayedImplication

public DelayedImplication(Clock<M1> reference,
                          Clock<M2> counting,
                          Clock<S> slave,
                          int n,
                          boolean immediate)
Get slave by delaying reference (immediately or not) by n on counting

Parameters:
reference - clock to delay
counting - clock for counting the delay
slave - delayed clock
n - length of the delay
immediate - does the delay start immediately (if 'counting' tick at the same time as 'reference')

DelayedImplication

public DelayedImplication(Clock<M1> reference,
                          Clock<M2> counting,
                          Clock<S> slave,
                          int n)
Get slave by delaying reference (not immediately) by n on counting

Parameters:
reference - clock to delay
counting - clock for counting the delay
slave - delayed clock
n - length of the delay
Method Detail

getReferenceClock

public Clock<?> getReferenceClock()
Return the reference clock, for the DelayedFor constraint


getCountingClock

public Clock<?> getCountingClock()
Return the counter clock, for the DelayedFor constraint


induceTicks

public boolean induceTicks()
Determine whether a tick should be set as "now" on the slave clock Impose the slave clock to tick synchronously with the n-th tick of the counter clock (master2 clock) following a tick of the reference clock (master1 clock)

Specified by:
induceTicks in class ImplicationRelation

toString

public java.lang.String toString()
Overrides:
toString in class ImplicationRelation

backup

public ImplicationBackupInterface backup()
Specified by:
backup in class ImplicationRelation

restore

public void restore(ImplicationBackupInterface bck)
Specified by:
restore in class ImplicationRelation