Successfully reported this slideshow.
Your SlideShare is downloading. ×

Status report @Soleil, Nov, 2016

Ad

Move to GitHub/git

Ad

22/11/16 Igor Khokhriakov 2
Done:
● CppTango
● Tango-idl
● Docker-mysql
● Tango-cs-docker
● PANIC
● Fandango
● Taurus
●
Si...

Ad

22/11/16 Igor Khokhriakov 3
CMake
● TangoTest;
● TangoAccessControl;
● TangoIDL
– Pkg-config
● Starter.
Docker
● Docker-my...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 16 Ad
1 of 16 Ad
Advertisement

More Related Content

Advertisement

Status report @Soleil, Nov, 2016

  1. 1. Move to GitHub/git
  2. 2. 22/11/16 Igor Khokhriakov 2 Done: ● CppTango ● Tango-idl ● Docker-mysql ● Tango-cs-docker ● PANIC ● Fandango ● Taurus ● SimulatorDS ● TangoTest ● TangoDataBase ● TangoAccessControl Pending*: ● JTango ● Astor ● LogViewer ● Atk&co ● Jive ● Starter * – requires approval from maintainers
  3. 3. 22/11/16 Igor Khokhriakov 3 CMake ● TangoTest; ● TangoAccessControl; ● TangoIDL – Pkg-config ● Starter. Docker ● Docker-mysql; ● Tango-cs-docker.
  4. 4. 22/11/16 Igor Khokhriakov 4 cppTango ● Pkg-config file ● CMakeLists.txt – Code restructured; idl2cpp generation; cxx tests generation; doxygen integration; debian package ● Travis ● Readme ● Documentation ● Issues ● Tango-9-LTS
  5. 5. 22/11/16 Igor Khokhriakov 5 Mavenization
  6. 6. 22/11/16 Igor Khokhriakov 6 Mavenization
  7. 7. 22/11/16 Igor Khokhriakov 7 Mavenization ● Astor; LogViewer; atk-panel; atk-tuning; jive – code restructured; – pom.xml: automatic release, dependencies ● ATK toolset – Code restructures; – pom.xml: modules, maven plugin for BeanInfo generation, automatic release, dependencies – Submitted to Jcenter ● JTango – Code restructered; – pom.xml – single multi module project, automatic release, dependencies
  8. 8. 22/11/16 Igor Khokhriakov 8 Mavenization ● All Java projects are deployed to bintray ● ATKCore and ATKWidget may be added to JCenter – (if so others will be submitted as well) ● Promote bintray to be official tango-controls repository
  9. 9. 22/11/16 Igor Khokhriakov 9 TODOs ● Pogo – – requires non-trivial pom.xml to integrate xtext ● Documentation – Done for Jive*, Starter**, cppTango** ● Readmes (Done for ATK) ● Migrate issues ● Setup Continuous testing (travis, appveyor) ● Move remaining: archiving; bindings etc ** – html hosted on github.io * – sphinx hosted on readthedocs.io
  10. 10. 22/11/16 Igor Khokhriakov 10 Tango V10
  11. 11. 22/11/16 Igor Khokhriakov 11 Absorb CORBA is the way ● Add CORBA sources to cppTango as a module ● Wrap with API (plugin) ● Some proof-of-the-concept refactorings were done – DevVarDouble, – Isolate ORB, – replace omni_thread with c++11 thread ● Tango::polling – 83 commits, 116 files changed, codebase reduced by ~2K lines
  12. 12. 22/11/16 Igor Khokhriakov 12 Some thoughts ● Merge ApiUtil and Util ● Util is basically a DS, i.e. merge Util and server ● DeviceProxy (Database) has a connection (not inherit) ● Replace ifs with polymorphism (Db, FileDb; DeviceServer, PyDeviceServer etc) ● Replace map<device,smth> with corresponding Device field ● Distinguish Heartbeat, StoreSubDevices and Polling threads ● Implement event driven service bus
  13. 13. 22/11/16 Igor Khokhriakov 13 Event driven architecture ● ORB layer generates events for incoming requests (attr read/write, cmd, pipe etc) ● Server generates events: new attribute value, state change etc ● AccessControl ● Logging ● Blackbox ● Polling (push new values) ● Attribute Read/Writter ● Command executor ● User defined services Services
  14. 14. 22/11/16 Igor Khokhriakov 14 Conclusions ● Code base is huge ● hard to read and understand for new comers ● Extremely difficult to maintain (non-trivial bug fixes) without Emmanuel ● If development is planned for another 10-15 years refactoring is required ● On the other hand it is very mature and stable
  15. 15. 22/11/16 Igor Khokhriakov 15 Questions?
  16. 16. 22/11/16 Igor Khokhriakov 16 Thank you!

Editor's Notes

  • Mature and stable - Not much bugs are being reported

×