lingua-franca 0.10.1
Lingua Franca code generator
Loading...
Searching...
No Matches
org.lflang.generator.WatchdogInstance Class Reference

Instance of a watchdog. More...

Inherits org.lflang.generator.TriggerInstance< Watchdog >.

Public Member Functions

Watchdog getDefinition ()
Set< ReactionInstancegetDependentReactions ()
 Return the reaction instances that are triggered or read by this trigger.
Set< ReactionInstancegetDependsOnReactions ()
 Return the reaction instances that may send data via this port or action.
int getDepth ()
 Get the depth of the reactor instance.
String getFullName ()
 Return the full name of this instance, which has the form "a.b.c", where "c" is the name of this instance, "b" is the name of its container, and "a" is the name of its container, stopping at the container in main.
String getFullNameWithJoiner (String joiner)
 Return a string of the form "a.b.c", where "." is replaced by the specified joiner, "c" is the name of this instance, "b" is the name of its container, and "a" is the name of its container, stopping at the container in main.
ModeInstance getMode (boolean direct)
 Returns the directly/indirectly enclosing mode.
String getName ()
ReactorInstance getParent ()
 Return the parent or null if this is a top-level reactor.
ReactorInstance getReactor ()
TimeValue getTimeout ()
int getWidth ()
 Return the width of this instance, which in this base class is 1.
boolean hasParent (ReactorInstance container)
 Return true if this instance has the specified parent (possibly indirectly, anywhere up the hierarchy).
boolean isReset ()
 Return true if this trigger is "startup".
boolean isShutdown ()
 Return true if this trigger is "shutdown".
boolean isStartup ()
 Return true if this trigger is "startup".
List< ReactorInstanceparents ()
 Return a list of all the parents starting with the root().
ReactorInstance root ()
 Return the root reactor, which is the top-level parent.
void setWidth (int width)
 Set the width.
String toString ()
String uniqueID ()
 Return an identifier for this instance, which has the form "a_b_c" or "a_b_c_n", where "c" is the name of this instance, "b" is the name of its container, and "a" is the name of its container, stopping at the container in main.
 WatchdogInstance (Watchdog definition, ReactorInstance reactor)
 Create a new watchdog instance associated with the given reactor instance.

Public Attributes

Set< TriggerInstance<? extends Variable > > effects = new LinkedHashSet<>()
 The ports or actions that this reaction may write to.

Static Public Attributes

static int identifierLengthLimit
 A limit on the number of characters returned by uniqueID.

Protected Attributes

int depth
 The depth in the hierarchy of this instance.

Static Package Functions

static TriggerInstance< BuiltinTriggerVariable > builtinTrigger (BuiltinTriggerRef trigger, ReactorInstance parent)
 Construct a new instance for a special builtin trigger.

Package Attributes

Set< ReactionInstancedependentReactions
 Reaction instances that are triggered or read by this trigger.
Set< ReactionInstancedependsOnReactions
 Reaction instances that may send data via this port or action.
ReactorInstance parent
 The reactor instance that creates this instance.
HashMap< String, Integer > uniqueIDCount
 Map from a name of the form a_b_c to the number of unique IDs with that prefix that have been already assigned.
int width
 The width of this instance.

Detailed Description

Instance of a watchdog.

Upon creation the actual delay is converted into a proper time value. If a parameter is referenced, it is looked up in the given (grand)parent reactor instance.

Author
Benjamin Asch
Edward A. Lee

Constructor & Destructor Documentation

◆ WatchdogInstance()

org.lflang.generator.WatchdogInstance.WatchdogInstance ( Watchdog definition,
ReactorInstance reactor )

Create a new watchdog instance associated with the given reactor instance.

Member Function Documentation

◆ builtinTrigger()

TriggerInstance< BuiltinTriggerVariable > org.lflang.generator.TriggerInstance< T extends Variable >.builtinTrigger ( BuiltinTriggerRef trigger,
ReactorInstance parent )
staticpackageinherited

Construct a new instance for a special builtin trigger.

Parameters
triggerThe actual trigger definition.
parentThe reactor instance that creates this instance.

◆ getDefinition()

Watchdog org.lflang.generator.WatchdogInstance.getDefinition ( )

◆ getDependentReactions()

Set< ReactionInstance > org.lflang.generator.TriggerInstance< T extends Variable >.getDependentReactions ( )
inherited

Return the reaction instances that are triggered or read by this trigger.

If this port is an output, then the reaction instances belong to the parent of the port's parent. If the port is an input, then the reaction instances belong to the port's parent.

◆ getDependsOnReactions()

Set< ReactionInstance > org.lflang.generator.TriggerInstance< T extends Variable >.getDependsOnReactions ( )
inherited

Return the reaction instances that may send data via this port or action.

If this is an input port, then the reaction instance belongs to parent of the port's parent. If it is an output port, the reaction instance belongs to the port's parent. If it is an action, then the reaction belongs to the same parent as that of this action.

◆ getDepth()

int org.lflang.generator.NamedInstance< T extends EObject >.getDepth ( )
inherited

Get the depth of the reactor instance.

This is 0 for the main reactor, 1 for reactors immediately contained therein, etc.

◆ getFullName()

String org.lflang.generator.NamedInstance< T extends EObject >.getFullName ( )
inherited

Return the full name of this instance, which has the form "a.b.c", where "c" is the name of this instance, "b" is the name of its container, and "a" is the name of its container, stopping at the container in main.

If any reactor in the hierarchy is in a bank of reactors then, it will appear as a[index]. Similarly, if c is a port in a multiport, it will appear as c[index].

Returns
The full name of this instance.

◆ getFullNameWithJoiner()

String org.lflang.generator.NamedInstance< T extends EObject >.getFullNameWithJoiner ( String joiner)
inherited

Return a string of the form "a.b.c", where "." is replaced by the specified joiner, "c" is the name of this instance, "b" is the name of its container, and "a" is the name of its container, stopping at the container in main.

Returns
A string representing this instance.

◆ getMode()

ModeInstance org.lflang.generator.NamedInstance< T extends EObject >.getMode ( boolean direct)
inherited

Returns the directly/indirectly enclosing mode.

Parameters
directflag whether to check only for direct enclosing mode or also consider modes of parent reactor instances.
Returns
The mode, if any, null otherwise.

◆ getName()

String org.lflang.generator.WatchdogInstance.getName ( )

◆ getParent()

ReactorInstance org.lflang.generator.NamedInstance< T extends EObject >.getParent ( )
inherited

Return the parent or null if this is a top-level reactor.

◆ getReactor()

ReactorInstance org.lflang.generator.WatchdogInstance.getReactor ( )

◆ getTimeout()

TimeValue org.lflang.generator.WatchdogInstance.getTimeout ( )

◆ getWidth()

int org.lflang.generator.NamedInstance< T extends EObject >.getWidth ( )
inherited

Return the width of this instance, which in this base class is 1.

Subclasses PortInstance and ReactorInstance change this to the multiport and bank widths respectively.

◆ hasParent()

boolean org.lflang.generator.NamedInstance< T extends EObject >.hasParent ( ReactorInstance container)
inherited

Return true if this instance has the specified parent (possibly indirectly, anywhere up the hierarchy).

◆ isReset()

boolean org.lflang.generator.TriggerInstance< T extends Variable >.isReset ( )
inherited

Return true if this trigger is "startup".

/

◆ isShutdown()

boolean org.lflang.generator.TriggerInstance< T extends Variable >.isShutdown ( )
inherited

Return true if this trigger is "shutdown".

◆ isStartup()

boolean org.lflang.generator.TriggerInstance< T extends Variable >.isStartup ( )
inherited

Return true if this trigger is "startup".

/

◆ parents()

List< ReactorInstance > org.lflang.generator.NamedInstance< T extends EObject >.parents ( )
inherited

Return a list of all the parents starting with the root().

◆ root()

ReactorInstance org.lflang.generator.NamedInstance< T extends EObject >.root ( )
inherited

Return the root reactor, which is the top-level parent.

Returns
The top-level parent.

◆ setWidth()

void org.lflang.generator.NamedInstance< T extends EObject >.setWidth ( int width)
inherited

Set the width.

This method is here for testing only and should not be used for any other purpose.

Parameters
widthThe new width.

◆ toString()

String org.lflang.generator.WatchdogInstance.toString ( )

◆ uniqueID()

String org.lflang.generator.NamedInstance< T extends EObject >.uniqueID ( )
inherited

Return an identifier for this instance, which has the form "a_b_c" or "a_b_c_n", where "c" is the name of this instance, "b" is the name of its container, and "a" is the name of its container, stopping at the container in main.

All names are converted to lower case. The suffix n is usually omitted, but it is possible to get name collisions using the above scheme, in which case _n will be an increasing integer until there is no collision. If the length of the root of the name as calculated above (the root is without the _n suffix) is longer than the static variable identifierLengthLimit, then the name will be truncated. The returned name will be the tail of the name calculated above with the prefix ''.

Returns
An identifier for this instance that is guaranteed to be unique within the top-level parent.

Member Data Documentation

◆ dependentReactions

Set<ReactionInstance> org.lflang.generator.TriggerInstance< T extends Variable >.dependentReactions
packageinherited

Reaction instances that are triggered or read by this trigger.

If this port is an output, then the reaction instances belong to the parent of the port's parent. If the port is an input, then the reaction instances belong to the port's parent.

◆ dependsOnReactions

Set<ReactionInstance> org.lflang.generator.TriggerInstance< T extends Variable >.dependsOnReactions
packageinherited

Reaction instances that may send data via this port or action.

If this is an input port, then the reaction instance belongs to parent of the port's parent. If it is an output port, the reaction instance belongs to the port's parent. If it is an action, then the reaction belongs belongs to the same parent as this action.

◆ depth

int org.lflang.generator.NamedInstance< T extends EObject >.depth
protectedinherited

The depth in the hierarchy of this instance.

This is 0 for main or federated, 1 for the reactors immediately contained, etc.

◆ effects

Set<TriggerInstance<? extends Variable> > org.lflang.generator.WatchdogInstance.effects = new LinkedHashSet<>()

The ports or actions that this reaction may write to.

◆ identifierLengthLimit

int org.lflang.generator.NamedInstance< T extends EObject >.identifierLengthLimit
staticinherited

A limit on the number of characters returned by uniqueID.

◆ parent

ReactorInstance org.lflang.generator.NamedInstance< T extends EObject >.parent
packageinherited

The reactor instance that creates this instance.

◆ uniqueIDCount

HashMap<String, Integer> org.lflang.generator.NamedInstance< T extends EObject >.uniqueIDCount
packageinherited

Map from a name of the form a_b_c to the number of unique IDs with that prefix that have been already assigned.

If none have been assigned, then there is no entry in this map. This map should be non-null only for the main reactor (the top level).

◆ width

int org.lflang.generator.NamedInstance< T extends EObject >.width
packageinherited

The width of this instance.

This is 1 for everything except a PortInstance representing a multiport and a ReactorInstance representing a bank.


The documentation for this class was generated from the following file:
  • /Users/runner/work/lingua-franca/lingua-franca/core/src/main/java/org/lflang/generator/WatchdogInstance.java