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)

Value parameters

spec

The interpreter of the base specification

Attributes

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

Members list

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.

Value parameters

listener

The listener to be added

Attributes

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.

Value parameters

stream

Name of the input stream

value

The value of the input event

Attributes

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.

Value parameters

stream

Name of the input stream

value

The value of the input event

Attributes

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.

Value parameters

stream

Name of the input stream

value

The value of the input event

Attributes

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.

Value parameters

stream

Name of the input stream

value

The value of the input event

Attributes

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.

Value parameters

stream

Name of the input stream

Attributes

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.

Value parameters

stream

Name of the input stream

value

The value of the input event

Attributes

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.

Value parameters

time

The timestamp until which all outputs shall be processed.

Attributes

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.

Value parameters

time

The timestamp until which all outputs shall be processed.

Attributes

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