Glossary of SST Terms
Anonymous subcomponent
A subcomponent that is not directly instantiated in the simulation configuration file but rather instantiated by another element in its component tree.
AutoTester
SST's continuous integration (CI) and testing infrastructure.
Clock
An event that is triggered on a regular cadence (frequency) by calling a clock handler.
Component
The basic building block of an SST simulation. Components are simulation models and multiple components can be connected to form simulated systems. Components together with their subcomponents and extensions are called a "component tree".
Component extension
A class derived from SST::ComponentExtension
that is conceptually part of a component. Used when it makes sense from a code-organization perspective to break a component into multiple classes. Unlike subcomponents, component extensions are not dynamically loadable.
Component tree
A component together with any subcomponents and component extensions it loads. Conceptually, SST treats a component tree as if it were a component, despite it potentially being comprised of multiple elements.
Core
Generally refers to "SST-Core", SST's discrete-event simulation framework.
Config file
The input provided to SST which defines the components to simulate, how to connect those components, and what statistics should be generated by the simulation. Most often this is a Python script but other inputs such as JSON are possible too.
Element
An SST object that can be used to build simulations. Elements include components, subcomponents, modules, and component extensions.
Element library
A group of elements that are compiled together into a single dynamic library.
ELI
"Element Library Information". Metadata including name, description, supported parameters, ports, etc. about an SST element that is registered with the SST-Core.
Event
The unit of communication between component trees.
Link
Links represent connectivity between two component trees. Component trees interact with each other by sending Events over Links.
Module
A dynamically-loadable class that does not have access to SST's Component APIs (see subcomponent for contrast).
Port
A named connection point for a Link in a component or subcomponent.
Self-link
A special case of Link where both endpoints of the link connect to the same component tree.
Subcomponent
A class that can be dynamically loaded into a component or another subcomponent and that has access to SST's Component APIs. Subcomponents are considered part of their parent (sub)component and may communicate with their parent or child (sub)components via function calls in addition to Links.
Time base
Units of time.
Time vortex
The data structure in SST-Core that manages event delivery and ordering.
User subcomponent
A subcomponent that is explicitly instantiated in an SST configuration file.