.. _glossary: ======== Glossary ======== .. glossary:: Attribute A specific type of :term:`value ` that is associated with each :term:`simulant `. For example, each simulant may have an attribute to describe their age or position. These are computed by :term:`attribute pipelines ` and stored in the :term:`population state table `. Attribute Pipeline A specific type of :term:`pipeline ` whose callable must accept a :term:`simulant ` index and return tabular data of :term:`attributes ` for those simulants. Component Any self-contained piece of code that can be plugged into the simulation to add some functionality. In ``vivarium`` we typically think of components as encapsulating and managing some behavior or :term:`attributes ` of the :term:`simulants `. Configuration The configuration is a set of parameters a user can modify to adjust the behavior of :term:`components `. Components themselves may provide defaults for several configuration parameters. Metrics Simulation outputs, often used interchangeably with "results". Model Specification A complete description of a ``vivarium`` model. This description details all :term:`plugins `, :term:`components `, and :term:`configuration ` required to run the model. A model specification is stored in a yaml model specification file which is parsable by the simulation framework. Pipeline A ``vivarium`` value pipeline. A pipeline is a framework tool that allows users to dynamically construct and share data across several :term:`components `. See also: :term:`Attribute Pipeline`. Plugin A plugin is a python class intended to add additional functionality to the core framework. Unlike a normal :term:`component ` which adds new behaviors and :term:`attributes ` to :term:`simulants `, a plugin adds new services to the framework itself. Examples might include a new simulation clock, a results handling service, or a logging service. Population State Table The core representation of the population in the simulation. Often referred to as simply the "state table", it consists of a row for each :term:`simulant ` and a column for each :term:`attribute `. Private Column The source of a corresponding :term:`attribute pipeline `. Only the :term:`component ` that creates a private column has read or write access to it. Note that not all attribute pipelines require private columns as a source, but any private columns created are automatically paired with an attribute pipeline of the same name. Public Column A column in the :term:`population state table ` that is generated by an :term:`attribute pipeline ` and is read-accessible by all :term:`components `. Simulant An individual or agent. One member of the population being simulated. Value A dynamic variable in the simulation that is computed by a :term:`pipeline ` and can be shared across multiple :term:`components `.