de.cau.cs.kieler.sj.examples
Class PrimeFactor

java.lang.Object
  extended by de.cau.cs.kieler.sj.EmbeddedSJProgram<StateLabel>
      extended by de.cau.cs.kieler.sj.SJProgram<de.cau.cs.kieler.sj.examples.PrimeFactor.StateLabel>
          extended by de.cau.cs.kieler.sj.examples.PrimeFactor

public class PrimeFactor
extends SJProgram<de.cau.cs.kieler.sj.examples.PrimeFactor.StateLabel>

This example illustrates the use of valued signals and the proper handling of reincarnation/schizophrenia in SJ. It's based on PrimeFactor-sc.c from the SC examples. For more informations see the SC homepage.

Rating red

Field Summary
 Signal a
          The signals used by the Program.
 Signal b
          The signals used by the Program.
 Signal c
          The signals used by the Program.
 Signal d
          The signals used by the Program.
 ValuedSignal v
          Valued signal used by the program.
 
Fields inherited from class de.cau.cs.kieler.sj.EmbeddedSJProgram
INITIAL_TICK
 
Constructor Summary
PrimeFactor()
          Starts a new instance of the program PrimeFactor.
 
Method Summary
 void tick()
          Function that should be implemented with a SJ-Program.
 
Methods inherited from class de.cau.cs.kieler.sj.SJProgram
initSignals
 
Methods inherited from class de.cau.cs.kieler.sj.EmbeddedSJProgram
abort, activateCausalityCheck, addSignals, awaitDoneCB, doTick, fork, forkEB, getLogger, getName, getSignals, getTickNr, gotoB, haltCB, isCausalityCheckActive, isInInitialTick, isTerminated, isThreadRunning, isTickDone, joinDoneCB, pauseB, prioB, removeSignals, setLogger, state, suspend, termB, toString, transB
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

v

public ValuedSignal v
Valued signal used by the program. The parameter CombinationFunction.MULTIPLY means that if this signal is emitted multiple in a tick the emitted values will be multiply. Getter an setter are not used for this variable, because they not part of the signal concept in SJ.


a

public Signal a
The signals used by the Program. Because the class SJProgram is in a different package than this program, all signals must be public.


b

public Signal b
The signals used by the Program. Because the class SJProgram is in a different package than this program, all signals must be public.


c

public Signal c
The signals used by the Program. Because the class SJProgram is in a different package than this program, all signals must be public.


d

public Signal d
The signals used by the Program. Because the class SJProgram is in a different package than this program, all signals must be public.

Constructor Detail

PrimeFactor

public PrimeFactor()
Starts a new instance of the program PrimeFactor.

Method Detail

tick

public void tick()
Description copied from class: EmbeddedSJProgram
Function that should be implemented with a SJ-Program. It should contain the behaver of the program. Every time the method is called it should do exactly one tick an then terminate. Use this method only to override it if you want to execute a tick use EmbeddedSJProgram.doTick(Signal...)

Specified by:
tick in class EmbeddedSJProgram<de.cau.cs.kieler.sj.examples.PrimeFactor.StateLabel>
See Also:
EmbeddedSJProgram.doTick(Signal...)