Skip to content

Glossary of Terms

Marco Roda edited this page Mar 16, 2020 · 16 revisions

This page defines the current language being used to describe elements of the DAQ Application Framework. discuss

Core Terms or General Concepts

  • DAQ System: A set of DAQ Applications working in concert to perform the functions needed to effect data acquisition.
  • DAQ Application: A single unit of the DAQ System in the form of an executable program that is started and controlled through the CCM. DAQ Applications perform a defined set of tasks based on their configuration.
  • Plugin: A piece of code provided either by the toolkit or by users (generally-useful plugins should be incorporated into the toolkit if possible), characterized by a specific interface, to perform a single task. Multiple plugins with different implementations can exist for a single interface. Users of plugins should be shielded from any implementation details. The plugin compiled code should be a shared library containing Components
  • Component an implementation of one or more Interfaces
  • Factory a component that provides instantiated Components via its Interface C++ type a component type name and an instance name
  • Component Type Name string data (not code) identifying a Component, may be the C++ type name or another
  • Component Instance Name string data identifying one instantiation of a component
  • Queue: A class which stores data between User Modules within a DAQ Application and provides methods for storage and retrieval. May provide a queue-like interface or random access.
  • Interface: A pure abstract base class.
  • Data Flow Programming: (DFP) a paradigm to describe a larger system as a graph in terms of data transformation nodes and data transportation edges
  • DFP Node: a unit of code with an identifier (name) unique in the system with zero or more DFP Ports
  • DFP Port: an identified point on a DFP Node which may produce or accept DFP data message (or both). It typically as a Socket
  • DFP Edge: a data transport conduit between two DFP Ports
  • Socket: the endpoints of a DFP Edge, each associated with a DFP Port. An application may send() a message to a Socket and it may recv() a message from a Socket (eg: BSD sockets, ZeroMQ sockets)
  • Transport: act of transmitting a message between a Socket send() to another Socket recv(), transports include transmission over TCP/IP, Unix domain sockets ("FIFO"s) and inter-thread via shared memory.

DUNE DAQ specific names

  • User Module: A distinct set of code which performs a specific task. Implemented by users, will be loaded into a DAQ Application according to the application configuration. Can load plugins. Connected to other User Modules within a DAQ Application via queues.
Clone this wiki locally