SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
2.
04/02/2019 Igor Khokhriakov & Olga Merkulova 2
Acknowledgements
Tango Controls Steering committee
and Kernel developers
3.
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
4.
Tango V10 Design DocTango V10 Design Doc
current statuscurrent status (v.0.9)(v.0.9)
7.
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
8.
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
16.
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)
17.
Gradual improvementsGradual improvements
can be done without major changes tocan be done without major changes to
existing code baseexisting code base
18.
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)
– ...