Capsules are an abstracted data type that store encapsulated data and are used in all components of the system.

Each capsule contains unexported fields that are accessed by getters and setters:

  • data: stores structured or unstructured data

  • metadata: stores structured metadata that describes the data

Values in the metadata field are accessed using the key pattern !metadata [key]. Values can be freely moved between the data and metadata fields using processors.

Substation applications follow these rules when handling capsules:

  • Sources set the initial metadata, but this can be modified in transit by applying processors

  • Sinks only output data, but metadata can be retained by copying it from metadata into data