SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
How much control do you
need to dance TANGO?
Juande Santander-Vela
SDP/TM Element Systems Engineer
TANGO: SCADA for SKA
SCADA: Supervisory Control And Data Acquisition
TANGO: TAco Next Generation Object-oriented
(control system)
➥ TACO: Telescope and Accelerator Control Objects
Not that foreign
to astronomy!
TACO @ Hartebeesthoek Radio
Astronomy Observatory
Why TANGO for SKA?
Need for a common control middleware across the SKA
Need for industrial-strength SCADA
Open Source, very large, vibrant community
Some experience in astronomy: TANGO is TACO++
Preferred to ALMA Common Software & EPICS
Very successful in
synchrotron world
How do you TANGO?
The TANGO Control System Manual
Version 9.2
The TANGO Control System Manual
Version 9.2
RTFM!
Looks easy!
Tango & Control
There’s a leader
There’s a follower
Tango & Control
Inputs (follower)
• Torso orientation
• Distance between chests
• Centre of gravity
• Pressure on the back
• Distance to other dancers
• …

Outputs (follower)
• Leg movement
• Arm movement
• Hip position
• Centre of gravity
Needs constant
attention
Refined with
experience
TANGO & Control
There’s a leader → Device Client
There’s a follower → Device Server
additional information to send on the wire, TANGO version control etc. These details can and should be
wrapped in TANGO Application Programmer Interface (API). The API is implemented as a library in C++
and as a package in Java. The API is what makes TANGO clients easy to write. The API’s consists the
following basic classes :
• DeviceProxy which is a proxy to the real device
• DeviceData to encapsulate data send/receive from/to device via commands
• DeviceAttribute to encapsulate data send/receive from/to device via attributes
• Group which is a proxy to a group of devices
In addition to these main classes, many other classes allows a full interface to TANGO features. The
following figure is a drawing of a typical client/server application using TANGO.
Client
Database
TANGO
TANGO
ServerTANGO
Cmd Attrib
CORBA
attrib
CORBA
opera
API
API
Devices
CORBA
CORBACORBA
OK for one couple
What about ballrooms?
Control Strategy: Startup, Dance, Stop
Distributed,
autonomous
control
What about systems?
Leaders are many times followers of other leaders
(military hierarchy)
Anyone could be a follower of anyone (swarms)
Strategy allows for clear decision and action at the
different levels
Think
hierarchically
These are
modes!
(of the dancers)
Or are they
attributes?
A TANGO Device Server
Device server
Instance Name
State
Attribute_1
Attribute_2
Attribute_3
Attribute_4
Command_1
Command_2
Command_3
Class-dependent
Think
hierarchically
A TANGO Device Server
Device server
Instance Name
State
Attribute_1
Attribute_2
Attribute_3
Attribute_4
Command_1
Command_2
Command_3
Think inheritance
Class-dependent
A TANGO Hierarchy
Device1 Device2 Device3 Device4
A TANGO Hierarchy
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
A TANGO Hierarchy
TEL-
MGT
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
A TANGO Hierarchy
TEL-
MGT
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
A TANGO Hierarchy
TEL-
MGT
Client1
Client2
Client3
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
A TANGO Hierarchy
Client1
Client2
Client3
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
A TANGO Hierarchy
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Generic
Client
This is the
power of TANGO
A TANGO Hierarchy
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Generic
Client
A TANGO Hierarchy
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Generic
Client
A TANGO Hierarchy
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Generic
Client
Generic
Client
Each one
for each
specialist
A TANGO Hierarchy
TEL-
MGT
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
A TANGO Hierarchy
Proxy1
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Proxy2
Device
Server4
Device
Server3
Device5 Device6 Device7 Device8
TEL-
MGT
A TANGO Hierarchy
Proxy1
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Proxy2
Device
Server4
Device
Server3
Device5 Device6 Device7 Device8
TEL-
MGT
DB
A TANGO Hierarchy
Proxy1
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Proxy2
Device
Server4
Device
Server3
Device5 Device6 Device7 Device8
TEL-
MGT
DB
DB
A TANGO Hierarchy
Proxy1
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Proxy2
Device
Server4
Device
Server3
Device5 Device6 Device7 Device8
TEL-
MGT
DB
DB
Can be
scaled
easily
A TANGO Hierarchy
Proxy1
Device
Server1
Device
Server2
Device1 Device2 Device3 Device4
DB
Proxy2
Device
Server4
Device
Server3
Device5 Device6 Device7 Device8
TEL-
MGT
DB
DB
Allows for
bottom-up
building
Not talking about…
Commonality of attributes (LMC harmonisation)
Having similar interfaces for similar devices
(inheritance, device libraries, software harmonisation)
Archiving and logging
Time-stamping
Synchronous vs. asynchronous
And many others,
included in TANGO
How much control do you need
to dance TANGO?
Ability to keep track of own status (state, attributes),
and perform “moves” (commands)
Ability to measure attributes in others (read attributes)
Signal others what is going to happen (write
attributes), ask directly (command)
Let others define the higher-level of control
TANGO rules are embedded throughout
Thank you!
Questions?
TANGO & SKA

Contenu connexe

Similaire à How much control do you need to dance TANGO?

How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?
Enkitec
 
Legacy Lowdown - Options When Migrating Solaris Applications
Legacy Lowdown - Options When Migrating Solaris ApplicationsLegacy Lowdown - Options When Migrating Solaris Applications
Legacy Lowdown - Options When Migrating Solaris Applications
AppZero
 

Similaire à How much control do you need to dance TANGO? (20)

Lect 1.pptx
Lect 1.pptxLect 1.pptx
Lect 1.pptx
 
Scaling terraform
Scaling terraformScaling terraform
Scaling terraform
 
ARM - Advance RISC Machine
ARM - Advance RISC MachineARM - Advance RISC Machine
ARM - Advance RISC Machine
 
arm
armarm
arm
 
Terracotta And Hibernate
Terracotta And  HibernateTerracotta And  Hibernate
Terracotta And Hibernate
 
CampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology EvolvementCampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology Evolvement
 
Terraform training 🎒 - Basic
Terraform training 🎒 - BasicTerraform training 🎒 - Basic
Terraform training 🎒 - Basic
 
Trash Robotic Router Platform
Trash Robotic Router PlatformTrash Robotic Router Platform
Trash Robotic Router Platform
 
How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
 
denme
denmedenme
denme
 
Terraform Abstractions for Safety and Power
Terraform Abstractions for Safety and PowerTerraform Abstractions for Safety and Power
Terraform Abstractions for Safety and Power
 
Master Oct 1 2009
Master Oct 1 2009Master Oct 1 2009
Master Oct 1 2009
 
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
 
Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1
 
Introductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with TerraformIntroductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with Terraform
 
What is FPGA?
What is FPGA?What is FPGA?
What is FPGA?
 
Legacy Lowdown - Options When Migrating Solaris Applications
Legacy Lowdown - Options When Migrating Solaris ApplicationsLegacy Lowdown - Options When Migrating Solaris Applications
Legacy Lowdown - Options When Migrating Solaris Applications
 
The Rangecast WebScanner Technical Presentation
The Rangecast WebScanner Technical PresentationThe Rangecast WebScanner Technical Presentation
The Rangecast WebScanner Technical Presentation
 

Plus de Joint ALMA Observatory

Plus de Joint ALMA Observatory (20)

Hablemos de ALMA — Wideband Sensitivity Upgrade
Hablemos de ALMA — Wideband Sensitivity UpgradeHablemos de ALMA — Wideband Sensitivity Upgrade
Hablemos de ALMA — Wideband Sensitivity Upgrade
 
From SKA to SKAO: Early progress in SKA project construction.
From SKA to SKAO: Early progress in SKA project construction.From SKA to SKAO: Early progress in SKA project construction.
From SKA to SKAO: Early progress in SKA project construction.
 
The Square Kilometre Array Science Cases (CosmoAndes 2018)
The Square Kilometre Array Science Cases (CosmoAndes 2018)The Square Kilometre Array Science Cases (CosmoAndes 2018)
The Square Kilometre Array Science Cases (CosmoAndes 2018)
 
Software Development Practices in ESFRIS—SKA Software Development
Software Development Practices in ESFRIS—SKA Software DevelopmentSoftware Development Practices in ESFRIS—SKA Software Development
Software Development Practices in ESFRIS—SKA Software Development
 
Agile Systems Engineering & Agile at SKA Scale
Agile Systems Engineering & Agile at SKA ScaleAgile Systems Engineering & Agile at SKA Scale
Agile Systems Engineering & Agile at SKA Scale
 
Citizen Science in the era of the Square Kilometre Array
Citizen Science in the era of the Square Kilometre ArrayCitizen Science in the era of the Square Kilometre Array
Citizen Science in the era of the Square Kilometre Array
 
The Square Kilometre Array: Overview and Engineering Update
The Square Kilometre Array: Overview and Engineering UpdateThe Square Kilometre Array: Overview and Engineering Update
The Square Kilometre Array: Overview and Engineering Update
 
SKA Systems Engineering: from PDR to Construction
SKA Systems Engineering: from PDR to ConstructionSKA Systems Engineering: from PDR to Construction
SKA Systems Engineering: from PDR to Construction
 
Building a National Virtual Observatory: The Case of the Spanish Virtual Obse...
Building a National Virtual Observatory: The Case of the Spanish Virtual Obse...Building a National Virtual Observatory: The Case of the Spanish Virtual Obse...
Building a National Virtual Observatory: The Case of the Spanish Virtual Obse...
 
Wf4Ever: Scientific Workflows and Research Objects as tools for scientific in...
Wf4Ever: Scientific Workflows and Research Objects as tools for scientific in...Wf4Ever: Scientific Workflows and Research Objects as tools for scientific in...
Wf4Ever: Scientific Workflows and Research Objects as tools for scientific in...
 
e-Science for the Science Kilometre Array
e-Science for the Science Kilometre Arraye-Science for the Science Kilometre Array
e-Science for the Science Kilometre Array
 
VO Course 11: Spatial indexing
VO Course 11: Spatial indexingVO Course 11: Spatial indexing
VO Course 11: Spatial indexing
 
VO Course 10: Big data challenges in astronomy
VO Course 10: Big data challenges in astronomyVO Course 10: Big data challenges in astronomy
VO Course 10: Big data challenges in astronomy
 
Curso VO 07: Sistemas gestores de bases de datos
Curso VO 07: Sistemas gestores de bases de datosCurso VO 07: Sistemas gestores de bases de datos
Curso VO 07: Sistemas gestores de bases de datos
 
VO Course 06: VO Data-models
VO Course 06: VO Data-modelsVO Course 06: VO Data-models
VO Course 06: VO Data-models
 
VO Course 05: VOTable, VO Protocols, and UCDs
VO Course 05: VOTable, VO Protocols, and UCDsVO Course 05: VOTable, VO Protocols, and UCDs
VO Course 05: VOTable, VO Protocols, and UCDs
 
VO Course 04: VO architecture
VO Course 04: VO architectureVO Course 04: VO architecture
VO Course 04: VO architecture
 
VO Course 03: IVOA, the International Virtual Observatory Alliance
VO Course 03: IVOA, the International Virtual Observatory AllianceVO Course 03: IVOA, the International Virtual Observatory Alliance
VO Course 03: IVOA, the International Virtual Observatory Alliance
 
VO Course 02: Astronomy & Standards
VO Course 02: Astronomy & StandardsVO Course 02: Astronomy & Standards
VO Course 02: Astronomy & Standards
 
VO Course 12: Workflows & the Wf4Ever project
VO Course 12: Workflows & the Wf4Ever projectVO Course 12: Workflows & the Wf4Ever project
VO Course 12: Workflows & the Wf4Ever project
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

How much control do you need to dance TANGO?