Packages

package interpreter

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. class CtfEventIterator extends Trace

    An Interpreter.Trace generated from a CTF trace.

  2. class EventIterator extends Iterator[Event]

    An Interpreter.Trace generated from de.uni_luebeck.isp.tessla.interpreter.TraceParser.Events.

  3. class Interpreter extends StreamEngine

    An interpreter instance for a given specification.

  4. class RuntimeEvaluator extends AnyRef

    An evaluator for core expressions, given implementations for externs.

  5. class StreamEngine extends AnyRef

    Evaluates a stream graph synchronously.

    Evaluates a stream graph synchronously. In each evaluation cycle inputs are supplied with values. Then.input and delay nodes are triggered to initiate the propagation of values. Listeners can be registered to receive results at output streams.

Value Members

  1. case object BuildInfo extends Product with Serializable

    This object was generated by sbt-buildinfo.

  2. object Interpreter

    Evaluates a core specification with a given input trace, producing a trace of events as result.

  3. object JavaApi

    API interface for accessing the TeSSLa compiler from other Java or Scala projects.

    API interface for accessing the TeSSLa compiler from other Java or Scala projects. This API is optimized for a comfortable use from Java and Scala code.

    Usage example (in Java):

    import de.uni_luebeck.isp.tessla.interpreter.JavaApi;
    import de.uni_luebeck.isp.tessla.interpreter.JavaApi.*;
    import de.uni_luebeck.isp.tessla.interpreter.StreamEngine;
    
    class Main {
    
        public static void main(String[] args) {
    
             String spec_str = "in temperature: Events[Int]\r\n" +
             "\r\n" +
             "def low = temperature < 3\r\n" +
             "def high = temperature > 8\r\n" +
             "def unsafe = low || high\r\n" +
             "\r\n" +
             "out unsafe";
    
    
             System.out.println("Compiling...");
    
             Engine res = JavaApi.compile(spec_str ,"spec.tessla").engine();
    
             System.out.println("Ready!");
    
             res.addListener(new EngineListener(){
               public void event(String stream, scala.math.BigInt time, Object value) {
                 System.out.println("Got: " + stream + " = " + value + " at " + time);
               }
    
               public void printEvent(scala.math.BigInt time, Object value) {
                 System.out.println("Raw output: " + value + " at " + time);
               }
             });
    
             res.setTime(1);
             res.provide("temperature",2);
             res.setTime(2);
             res.provide("temperature",15);
             res.setTime(5);
             res.provide("temperature",8);
             res.step();
    
             System.out.println("Finished!");
    
         }
    
     }

    Note: This API internally uses the TeSSLa interpreter. For high performance applications it is advisable to use the TeSSLa compiler to generate a Scala API directly for a specific specification.

  4. object RuntimeEvaluator
  5. object RuntimeTypeChecker

    Performs type checking on runtime values.

  6. object StreamEngine
  7. object Trace

    Factory for Interpreter.Traces.

  8. object TraceExpressionEvaluator

    Evaluates expressions used in traces.

    Evaluates expressions used in traces.

    See also

    de.uni_luebeck.isp.tessla.interpreter.TraceParser.Event

  9. object TraceParser

    Provides parsing for traces in csv or standard format.

Ungrouped