Tango V10Tango V10
04/02/2019 Igor Khokhriakov & Olga Merkulova 2
Acknowledgements
Tango Controls Steering committee
and Kernel developers
04/02/2019 Igor Khokhriakov & Olga Merkulova 3
Disclaimer
We are not official Tango Controls representatives →
It is only our view on TangoV10.
Tango V10 design document is an initial draft → the document will be
revisioned after the Kernel meeting, new concepts will be added
Ideas and thoughts → tango-controls/tango-v10-design-doc
Tango V10 Design DocTango V10 Design Doc
current statuscurrent status (v.0.9)(v.0.9)
Quality attributesQuality attributes
Command-Command-
Query-Query-
Responsibility-Responsibility-
SegregationSegregation
(CQRS)(CQRS)
04/02/2019 Igor Khokhriakov & Olga Merkulova 7
Tango V9 main questions and queries
● CORBA is deeply integrated into Tango
● Remove CORBA → re-implement CORBA
● Architectural concepts are fine
● Design and implementation is the bottleneck
04/02/2019 Igor Khokhriakov & Olga Merkulova 8
Tango V9 main questions and queries
● Quality attributes
● Most of the problems come from design and
implementation
– ZMQ event system
– Polling
What was doneWhat was done
04/02/2019 Igor Khokhriakov & Olga Merkulova 10
● Terminology
04/02/2019 Igor Khokhriakov & Olga Merkulova 11
● Diagrams
04/02/2019 Igor Khokhriakov & Olga Merkulova 12
● Lots of code schemes
04/02/2019 Igor Khokhriakov & Olga Merkulova 13
● GitHub issues
04/02/2019 Igor Khokhriakov & Olga Merkulova 14
● GitHub skeletal implementation
Ideas for Tango V10Ideas for Tango V10
04/02/2019 Igor Khokhriakov & Olga Merkulova 16
● Ideally our goal is a layered architecture
● Event sourcing as a basic idea
● Integrate CQRS into Tango
● Plugins
● CORBA/ZMQ must be hidden below protocol
layer (Adapters)
Gradual improvementsGradual improvements
can be done without major changes tocan be done without major changes to
existing code baseexisting code base
04/02/2019 Igor Khokhriakov & Olga Merkulova 18
● High level Tango protocol
– Server start-up/shutdown sequence
– heartbeats exchange independent from events
– health checks
● A number of issues in the repo:
– self-discovery/self-registration
– Starter like functionality embedded into core library
– Points of extension (also cppTango#498)
– ...
Dziękuję bardzo!Dziękuję bardzo!

V10

Editor's Notes

  • #4 This is an attempt to write an initial document to raise questions and thoughts and to share our ideas
  • #17 Plugins – must be possibility to write