Engine

de.uni_luebeck.isp.tessla.interpreter.JavaApi$.Engine
case class Engine(spec: Interpreter)

Class for a TeSSLa monitor.

Intended usage is not to directly instantiate an Engine but to use the compile function instead. See usage example of JavaApi for details.

An Engine object can be used to receive events from input streams (see provide) and to attach listeners for output streams (see addListener)

Attributes

spec

The interpreter of the base specification

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

def addListener(listener: EngineListener): Unit

Add a listener for all output events. See EngineListener for details. Previously added listeners remain active.

Add a listener for all output events. See EngineListener for details. Previously added listeners remain active.

Attributes

listener

The listener to be added

def provide(stream: String, value: Int): Boolean

Provide an input event for an input stream of type Int.

Provide an input event for an input stream of type Int.

Attributes

stream

Name of the input stream

value

The value of the input event

Returns:

Boolean indicating if the event generation succeeded or if an error occurred.

def provide(stream: String, value: BigInt): Boolean

Provide an input event for an input stream of type Int. Use this variation if you want to pass a BigInt value.

Provide an input event for an input stream of type Int. Use this variation if you want to pass a BigInt value.

Attributes

stream

Name of the input stream

value

The value of the input event

Returns:

Boolean indicating if the event generation succeeded or if an error occurred.

def provide(stream: String, value: Boolean): Boolean

Provide an input event for an input stream of type Bool.

Provide an input event for an input stream of type Bool.

Attributes

stream

Name of the input stream

value

The value of the input event

Returns:

Boolean indicating if the event generation succeeded or if an error occurred.

def provide(stream: String, value: String): Boolean

Provide an input event for an input stream of type String.

Provide an input event for an input stream of type String.

Attributes

stream

Name of the input stream

value

The value of the input event

Returns:

Boolean indicating if the event generation succeeded or if an error occurred.

def provide(stream: String): Boolean

Provide an input event for an input stream of type Unit.

Provide an input event for an input stream of type Unit.

Attributes

stream

Name of the input stream

Returns:

Boolean indicating if the event generation succeeded or if an error occurred.

def provide(stream: String, value: Any): Boolean

Provide an input event for an input stream of any type.

Provide an input event for an input stream of any type.

Attributes

stream

Name of the input stream

value

The value of the input event

Returns:

Boolean indicating if the event generation succeeded or if an error occurred.

def setTime(time: Int): Unit

Propagates all inputs and progresses time to the given timestamp. After calling this function all outputs until time will be generated and printed. All subsequent calls provide will then rely to this timestamp.

Propagates all inputs and progresses time to the given timestamp. After calling this function all outputs until time will be generated and printed. All subsequent calls provide will then rely to this timestamp.

Note: Only call this function with strictly increasing arguments.

Attributes

time

The timestamp until which all outputs shall be processed.

def setTime(time: Time): Unit

Propagates all inputs and progresses time to the given timestamp. After calling this function all outputs until time will be generated and printed. All subsequent calls provide will then rely to this timestamp.

Propagates all inputs and progresses time to the given timestamp. After calling this function all outputs until time will be generated and printed. All subsequent calls provide will then rely to this timestamp.

Note: Only call this function with strictly increasing arguments.

Use this variant of the method if you require BigInt to represent your timestamps.

Attributes

time

The timestamp until which all outputs shall be processed.

def step(): Unit

Propagates all inputs without progressing time. Can only be called once per point in time. No more input values can be provided for the current time afterwards.

Propagates all inputs without progressing time. Can only be called once per point in time. No more input values can be provided for the current time afterwards.

Attributes

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product