
.. _sardana-glossary:

===========
Glossary
===========

.. glossary::
    :sorted:
    
    plugin
        See :term:`plug-in`.
    
    `plug-in`_
        a plug-in (or plugin) is a set of software components that adds 
        specific abilities to a larger software application. If supported, 
        plug-ins enable customizing the functionality of an application. For
        example, plug-ins are commonly used in web browsers to play video,
        scan for viruses, and display new file types.
    
    MCA
        Multichannel Analyzer (MCA) is a device for ...

    `CCD`_
        A charge-coupled device (CCD) is a device for the movement of electrical
        charge, usually from within the device to an area where the charge can
        be manipulated, for example conversion into a digital value. This is
        achieved by "shifting" the signals between stages within the device one
        at a time. CCDs move charge between capacitive bins in the device, with
        the shift allowing for the transfer of charge between bins.

    `API`_
        An application programming interface (API) is a particular set of rules
        and specifications that software programs can follow to communicate with
        each other. It serves as an interface between different software
        programs and facilitates their interaction, similar to the way the user
        interface facilitates interaction between humans and computers.
        An API can be created for applications, libraries, operating systems,
        etc., as a way of defining their "vocabularies" and resources request
        conventions (e.g. function-calling conventions). It may include
        specifications for routines, data structures, object classes, and
        protocols used to communicate between the consumer program and the
        implementer program of the API.

    `CLI`_
        A command-line interface (CLI) is a mechanism for interacting with a
        computer operating system or software by typing commands to perform
        specific tasks. This text-only interface contrasts with the use of a
        mouse pointer with a graphical user interface (:term:`GUI`) to click on
        options, or menus on a text user interface (TUI) to select options.
        This method of instructing a computer to perform a given task is
        referred to as "entering" a command: the system waits for the user
        to conclude the submitting of the text command by pressing the "Enter"
        key (a descendant of the "carriage return" key of a typewriter keyboard).
        A command-line interpreter then receives, parses, and executes the
        requested user command. The command-line interpreter may be run in a
        text terminal or in a terminal emulator window as a remote shell client
        such as PuTTY. Upon completion, the command usually returns output to
        the user in the form of text lines on the CLI. This output may be an
        answer if the command was a question, or otherwise a summary of the
        operation.

    `GUI`_
        A graphical user interface (GUI) is a type of user interface that
        allows users to interact with electronic devices with images rather
        than text commands. GUIs can be used in computers, hand-held devices
        such as MP3 players, portable media players or gaming devices,
        household appliances and office equipment. A GUI represents the
        information and actions available to a user through graphical icons and
        visual indicators such as secondary notation, as opposed to text-based
        interfaces (:term:`CLI`), typed command labels or text navigation.
        The actions are usually performed through direct manipulation of the
        graphical elements.

    SDS
        Sardana Device server (SDS) is the sardana tango device server
        :term:`daemon`.

    `OS`_
        An operating system (OS) is software, consisting of programs and data,
        that runs on computers, manages computer hardware resources, and
        provides common services for execution of various application software.
        Operating system is the most important type of system software in a
        computer system. Without an operating system, a user cannot run an
        application program on their computer, unless the application program
        is self booting.

    `daemon`_
        In Unix and other computer multitasking operating systems, a daemon is a
        computer program that runs in the background, rather than under the
        direct control of a user. They are usually initiated as background
        processes. Typically daemons have names that end with the letter "d": for
        example, *syslogd*, the daemon that handles the system log, or *sshd*,
        which handles incoming SSH connections.

    `SCADA`_
        supervisory control and data acquisition (SCADA) generally refers to
        industrial control systems: computer systems that monitor and control
        industrial, infrastructure, or facility-based processes.

    `client-server model`_
        The client-server model of computing is a distributed application
        structure that partitions tasks or workloads between the providers of a
        resource or service, called servers, and service requesters, called
        clients. Often clients and servers communicate over a computer network
        on separate hardware, but both client and server may reside in the same
        system. A server machine is a host that is running one or more server
        programs which share their resources with clients. A client does not
        share any of its resources, but requests a server's content or service
        function. Clients therefore initiate communication sessions with servers
        which await incoming requests.

.. _plug-in: http://en.wikipedia.org/wiki/Plug-in_(computing)
.. _CCD: http://en.wikipedia.org/wiki/Charge-coupled_device
.. _API: http://en.wikipedia.org/wiki/API
.. _CLI: http://en.wikipedia.org/wiki/Command-line_interface
.. _GUI: http://en.wikipedia.org/wiki/Graphical_user_interface
.. _OS: http://en.wikipedia.org/wiki/Operating_system
.. _daemon: http://en.wikipedia.org/wiki/Daemon_(computing)
.. _SCADA: http://en.wikipedia.org/wiki/SCADA
.. _client-server model: http://en.wikipedia.org/wiki/Client%E2%80%93server_model

.. _ALBA: http://www.cells.es/
.. _ANKA: http://http://ankaweb.fzk.de/
.. _ELETTRA: http://http://www.elettra.trieste.it/
.. _ESRF: http://www.esrf.eu/
.. _FRMII: http://www.frm2.tum.de/en/index.html
.. _HASYLAB: http://hasylab.desy.de/
.. _MAX-lab: http://www.maxlab.lu.se/maxlab/max4/index.html
.. _SOLEIL: http://www.synchrotron-soleil.fr/

.. _Tango: http://www.tango-controls.org/
.. _PyTango: http://packages.python.org/PyTango/
.. _Taurus: http://packages.python.org/taurus/
.. _QTango: http://www.tango-controls.org/download/index_html#qtango3
.. _Qt: http://qt.nokia.com/products/
.. _PyQt: http://www.riverbankcomputing.co.uk/software/pyqt/
.. _PyQwt: http://pyqwt.sourceforge.net/
.. _Python: http://www.python.org/
.. _IPython: http://ipython.scipy.org/
.. _ATK: http://www.tango-controls.org/Documents/gui/atk/tango-application-toolkit
.. _Qub: http://www.blissgarden.org/projects/qub/
.. _numpy: http://numpy.scipy.org/
.. _SPEC: http://www.certif.com/
.. _EPICS: http://www.aps.anl.gov/epics/