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)
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
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)
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)
– ...