Tango Request For Comments (RFC)

Tango Request For Comments (RFC)#

This repository is the home of all Tango Open Specification.

It is rendered on the readthedocs.io: Documentation Status

Mission#

The goal of this RFC project is to provide a formal specification of the current (V9) Tango Controls system. This specification shall include:

  1. Concepts,

  2. Terminology,

  3. Protocol behaviour,

  4. Conventions,

each on a sufficient level for future evolution of Tango Controls and/or implementation in other languages. In that respect, concepts are more important than implementation details.

Contribution#

The process to add or change an RFC is the following:

  • An RFC is created and modified by pull requests according to the Collective Code Construction Contract (C4).

  • The RFC life-cycle SHOULD follow the life-cycle defined in the Consensus-Oriented Specification System (COSS).

  • The specification SHOULD use Augmented BNF for Syntax Specifications: ABNF (RFC5234)

Every merge request proposing a change needs at least three approvals from Tango core developers. After these approvals are gathered, the person proposing the MR asks the editor for review. If the editor does approve, the MR can be merged immediately. If the editor objects, the objections need to be sorted out. If the editor does not reply in a four weeks term, the MR is considered good and can be merged. If the editor proposed the MR, then it just needs approval from three other Tango core developers.

Read more here.

RFCs#

The table below summarises all available or expected specifications.

Short Name

Title

Status

Editor

1/Tango

The Tango control system

Stable

Lorenzo Pivetta

2/Device

The device object model

Stable

Thomas Juerges

3/Command

The command model

Stable

Sergio Rubio

4/Attribute

The attribute model

Stable

Sergio Rubio

5/Property

The property model

Stable

Gwenaelle Abeillé

6/Database

The database system

Stable

Gwenaelle Abeillé

7/Pipe

The pipe model

Stable

Reynald Bourtembourg

8/Server

The server model

Stable

Lorenzo Pivetta

9/DataTypes

Data types

Stable

Gwenaelle Abeillé

10/RequestReply

The Request-Reply protocol

Stable

Reynald Bourtembourg

11/RequestReplyCORBA

The Request-Reply protocol - CORBA implementation

Postponed

12/PubSub

The Publisher-Subscriber protocol

Draft

Thomas Juerges

13/PubSubZMQ

The Publisher-Subscriber protocol - ZeroMQ implementation

Postponed

Thomas Juerges

14/Logging

Logging service

Stable

Sergio Rubio

15/DynamicAttrCmd

The dynamic attribute and command

Stable

Reynald Bourtembourg

16/TangoResourceLocator

Tango Resource Locator

Stable

Thomas Braun

17/MemorisedAttr

Memorised attribute service

Postponed

18/AccessCtrl

Authorisation system

Postponed

19/Telemetry

The Telemetry service

WIP, !178

Thomas Braun

20/Encryption

Encryption of Tango communication

WIP, !172

Anton Joubert