All Classes and Interfaces
Class
Description
Annotation used to identify which DIARC Component methods are
available to the Goal Manager.
An
ActionBinding is an association between a variable name and a
value.An
ActionDBEntry is the general-purpose container for one unit
of knowledge; can be factual (e.g., "person") or procedural (e.g., "goHome").ActionInterpreter is the primary step execution module for the
robot.Top level class in charge of maintaining action learning, including the current learning state
and other paused learning states (a paused learning state is different from a parent learning state),
...
An interface that can be used by the ActionInterpreter to notify other objects
of progress during action execution.
A WebSocket adapter for the client to direct the creation of particular
actions, or to modify Action Script Language (.asl) files.
The ActionStack stores the currently executed steps.
Enumeration for the status of actions.
This class wraps an ActionDBEntry and provides methods to edit this entry without actually
changing anything within the ActionDBEntry (final fields).
Question Answering
This class provides an empty implementation of
ASLListener,
which can be extended to create a listener which only needs to handle a subset
of the available methods.This class provides an empty implementation of
ASLVisitor,
which can be extended to create a visitor which only needs to handle a subset
of the available methods.This interface defines a complete listener for a parse tree produced by
ASLParser.This interface defines a complete generic visitor for a parse tree produced
by
ASLParser.Represents the API of the Ava robot.
Represents the Ava robot navigation functionality.
Class representing the display functionality on the screen of the Ava robot.
Event DTO for Ava statistics notifications.
A WebSocket adapter for communication between the
BeliefComponent and the frontend Belief Viewer GUI.Note: The maps of bindings from Variables to Lists of Symbols are here
represented by
HashMap<Variable, ArrayList<Symbol>>.Cartesia cloud TTS over a shared websocket.
A WebSocket adapter for communication between DIARC and the frontend
Chat Viewer GUI.
Code to compress/decompress a byte array.
Annotation used to specify a condition for an action.
A Condition is a (set of) predicate(s) that has(ve) to hold before or during the execution of an action.
Disjunction constructor.
Containing annotation type for Condition.
Manages application configurations such as base URL and CORS origins.
Representation of constant logical form.
ConsultantInterface is the base set of methods for reference resolution (i.e., POWER) in DIARC.
Base class for action execution nodes that make up the execution tree.
Utility methods for exploring, searching, analyzing, etc the Context tree.
Methods for converting between various Transform related types (points, orientations, etc).
Core interface for robot coordinate frames and their transformations.
The result of combining together multiple single-variable candidate lists: a set of candidate
variable-reference bindings, and an aggregate probability for that joint mapping.
Interface used by the Database to notify other objects
of changes in its contents.
TODO: this class (and all sub-classes) are meant to be immutable, but currently several methods
return ActionBindings which are not immutable, which breaks the immutability of this class.
Interface for the Talos/DCEC logical proof generator
Contains the following functionality:
- Solve query via online Talos/DCEC server
- Knowledge database in DCEC syntax
- Prolog to DCEC syntax converter
Mimics the way the prolog is used in DIARC/Belief:
- Add facts to the database through the assert asserta, assertz commands
- Remove facts from the database through the retract, retractall commands
- Prove conjecture
Features from prolog that are missing:
- Get bindings
- Probably some more stuff...
Manages the dialogue messages for the Ava Display Component.
represents a char message within the Ava Display Component.
Class representing the canvas object used to render image, text and other graphical elements for the display.
Annotation used to specify an effect of an action.
An Effect is the result of an action.
Containing annotation type for Effect.
Effect types.
Gson can't directly populate this class because it contains a java.util.Map, so it must
be populated manually after the JSON has been parsed.
An event specification is a description of a step (event) in an action script.
Enum used alongside goal notification updates to indicate whether the goal was added, removed, or already present
in the relevant collection
The Exit control can be used to end the execution of a script.
Helper class to "track" target obstacle and calculate velocities for robot following behavior.
This represents the semantics of the FOR control in an action script.
This represents the semantics of the FOR EACH control in an action script.
Class which holds intended configuration of the front end of the system and exposes TRADE services for the rest of the system to branch logic based on what
components and services should exist.
Goal encapsulates a goal Predicate, the ActionInterpreter in charge of
executing it and some additional information.Enum to define different Goal categories.
An interface that can be used to send notifications about Goals.
A WebSocket adapter for communication between the
GoalManagerImpl and the frontend Goal Manager GUI.The Goal Manager (also called the Action Manager or simply “Action”)
manages and executes agents' tasks (goals) in DIARC.
Notification mechanism for the GoalManagerComponent.
A WebSocket adapter for communication between the
GoalManagerImpl and the frontend Goal Viewer GUI.A WebSocket adapter for communication between the
GoalManagerImpl and the frontend Goal Viewer GUI.Describes a position from which an object can be grasped.
Growler: Givenness and Relevance Theoretic Open-World Entity Resolution
An abstract class which defines required behavior for GUI adapters.
An implementation of the Spring server backend.
An interface which marks the implementing class as a component with a GUI.
A WebSocket handler which instantiates
GuiAdapters when their
respective GuiProvider are registered with TRADE,
distributes incoming messages to the relevant GuiAdapters,
and collects outgoing messages for transmission to the frontend.A thread-safe way to assign unique IDs
This represents the semantics of the IF-THEN-ELSE controls in an action script.
Interface to be implemented by a Python module, not a Java DIARC component.
Gson can't directly populate this class because it contains a java.util.Map, so it must
be populated manually after the JSON has been parsed.
This is a helper class to enable waiting for a scheduled goal to finish.
Justification why a context has specific status
only stored for single status
getFailedPredicates, get predicates contributing to failure of context
getBindings, get bindings for predicates
Self-hosted synthesis via a local Kokoro sidecar.
LearningComponent is the base set of methods for learning/unlearning concepts.
LearningState is used to store relevant information during learning of a new action (task or skill), including
the roles (argument and local variables), action steps, effects (success and failure), conditions (pre and operational),
also contains additional information about skills and instructions
This class is modified by the ActionLearning class
Gson can't directly populate this class because it contains a java.util.Map, so it must
be populated manually after the JSON has been parsed.
Handles WebSocket messages for MapComponent-related functionalities within the web interface.
Custom implementation of an MCTS tree node.
MemoryObject - A Java class-wrapper for the data to be passed between the
vision system and the rest of the Java system.
This is a helper component for running a mock unity space station environment.
Provides simplified access to the ROS move base component on the PR2.
In lieu of a Pair class, this class is to store a name and description
pair.
The
NaoComponent interface.Enumeration for specifying Nao joints.
NaoWizardComponent.Interface for complex/stateful motion commands (e.g., move to a location,
turn a given amount).
This uses SimpleNLG to translate a list of lemmas into a
sentence.
Base set of methods for natural language understanding in DIARC.
This class is VERY MUCH still a work in progress.
Indicates whether a state should be
- observed (TRUE): look for an observer than can verify it
- inferred (FALSE): check in StateMachine/Belief
- both (DEFAULT): try to observe first, if it fails (no observer or not found), check in StateMachine/Belief.
Annotation used to specify an observation that an action can make.
From Ava documentation:
position.x: the x coordinate of the center of the obstacle, in map coordinates.
This class contains all the numeric operator logic that is not possible in prolog (prolog is bad with numbers,
especially non-integers).
Interface for complex/stateful motion commands (e.g., move to a location,
turn a given amount).
This class gathers information from several places/components in DIARC to generate a pddl domain and problem
file on the fly.
This class parses a PDDL domain and problem file and populates several DIARC components with the parsed
information.
Tree to keep track of the probability an action will succeed and the expect time given arguments
Using tree instead of table for easier lookup of queries using unbound args
This represents the semantics of a persistent action in an action script.
Constraints that define when a RecoveryPolicy is applicable.
Defines the desired execution behavior to be performed after successful execution of an action recovery policy
RETRY: Re-execute the failed context which triggered recovery.
Representation of predicate logical form.
Helper methods to deal with Predicates in VisionComponent.
Available provers.
Controls surface variation while preserving semantic content.
A candidate binding between a variable and a candidate
A resolution candidate
Straightforward: A resolution candidate paired with a probability value.
This is used to explicitly return from an action script early, just as you would from Java.
This class helps with finding and listing out ROS package information.
A collection of static methods to help out with rotations.
This class is mostly to help with finding the relevant parts of a
control block (e.g., while, if/else, for, etc).
Stores audio data into numbered (MS-)wav files.
Provides static methods for geometry calculations.
Class responsible for managing the display of images on the canvas.
Class responsible for managing the display of text on the canvas.
SimSpeechProductionComponent.SimSpeechProductionComponentVis.SimSpeechRecognitionComponent provides a keyboard interface
to replace a speech recognition component.GUI clicky speech interface to stand in for speech recognition for
testing NLP, etc.
A list of candidates to associate with a given variable
Defines a standard set of methods that must be defined in an
DIARCComponent to send text for speech production.
The implementation of an DIARCComponent with the Sphinx4 speech recognizer.
Defines a standard set of methods that must be defined in an DIARCComponent
that utilizes Sphinx4 speech recognition.
High-level class for live speech recognition.
StepExecution the execution process for executing
a context step: canDoStep, doStep, getNextStep, finishStep.Utility methods for stereo image processing.
Streaming TTS behind a pluggable synthesis backend (kokoro by default).
Representation of symbol logical form.
Unified interface for streaming TTS synthesis backends.
Available engines.
One utterance's worth of synthesis.
Where synthesized PCM goes.
Example publisher that just prints.
Example publisher that calls the setVels TRADE service.
Simple velocity container (holonomic): x forward, y left, yaw CCW.
Implement this to send velocity to your robot.
Representation of term logical form.
TradeServiceAdapter.
TradeServiceComponent.
Generic GUI for any class that offers TRADE services.
Generic GUI for any class that offers TRADE services.
This represents the semantics of the TRY control in an action script.
Helper methods to convert between various space station tube name forms.
Defines a PDDL type and it's sub-types and super-types.
Routes agent-specific messages from UnityComponent to and from TRADE services.
Provides a socket-based connection to Unity for message passing
from and to TRADE services.
An Utterance is used to transmit information between component, including the
semantic meaning, the dialogue act, the speaker, and the listener(s).
An UtteranceType is an allowed dialogue act.
Representation of variable logical form.
Minimal interface for setting and getting velocities.
Possible fields:
translate (float): the translation velocity (m/s)
sidestep (float): the lateral drive velocity (m/s, in left direction)
rotate (float): the rotation velocity to command (radians/sec, ccw)
duration (float): the duration of the velocity command (seconds -- defaults to 0.5 if omitted)
nudge (bool): whether or not to nudge obstacles at low speed (10 cm/s)
Core interface for vision servers.
Interface for the DIARC Vision Component.
Web MVC Configuration for handling CORS policies and static resource locations.
This represents the semantics of the WHILE-DO controls in an action script.
The implementation of an DIARCComponent with the Whisper speech recognizer.
MZ: I obtained this XML code from an internet blog, with permission (see below)
It is a very nice simple code, and makes XML parsing and writing easy.
Class to launch a DIARC configuration specified in a YAML file.
Class that gets populated from parsed YAML file.