Successfully reported this slideshow.
Your SlideShare is downloading. ×

TANGO Kernel meeting, Sep. 2016, ESRF

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 15 Ad
Advertisement

More Related Content

Advertisement

TANGO Kernel meeting, Sep. 2016, ESRF

  1. 1. Tango V10 Wishlist Igor Khokhriakov
  2. 2. ● Compose several few A4 pages guides (how to get started) ● Improve in-code documentation: examples, guides. See, for instance, BUG-810 ● Mark topics in the forum as SOLVED when solved ● Launch something like askTango Documentation
  3. 3. Code quality and simplicity ● Use maven for Java and CMake for native; Gradle (???) for agregators and language; Python (???) ● Redesign event system: – do not perform sync call (!!!) – subscription topics: host; server; device; attribute/command – allow user defined events (push(EventType, Data)) – use dedicated sockets pair for heartbeat – distinguish heartbeat error (connectivity errors) from errors returned from server ● restructure Java kernel part (TBD); restructure and clean cpp kernel part ● redesign threading: easier implementation for multithreaded device servers (State& Status update; send event; exception when in FAULT state)
  4. 4. Code quality and simplicity. 2 ● Java – remove slf4j implementation dependency from JtangoServer – mavenize Java tools (Jive, Pogo, Astor etc) – replace DevTangoXXX with native java types ● CPP – rewrite in pure C (TBD)
  5. 5. Usability ● OS integration: systemd; service (no need in Starter) ● events with 0-efforts (start polling automatically when there is a subscriber; stop polling when there is no subscribers) ● three level of API: low level; high level; extended (for backward compatability) ● redesign API: write_read; write_with_read etc (see BUG-812; BUG-809 etc) ● Use REST based pathes to define resources (host, device, attributes, attr etc) ● Generate .xmi from .java using pogo from cli ● Exception hierarchy (currently everything is DevFailed)
  6. 6. Replace CORBA ● simplify and standardize Tango protocol (implementation independent) ● remove IDL (no benefit but only brings complexity)
  7. 7. Removing CORBA issues https://bitbucket.org/tango-controls- collaboration/v10-features- request/overview#markdown-header- removing-corba-issues
  8. 8. Migration to GitHub/git Status Report
  9. 9. cppTango ● svn/Cppapi ● svn/Log4tango ● svn/cpp_test_suite ● svn/cpp_test_ds git/cppTango Goal: anyone is able to clone and compile...
  10. 10. cppTango ● Cmake (everything compiles, tests start) ● Log4tango is part of cppTango ● Pkg-config file for installation library Must be done: – Restructure – Environment independent tests (important for Continuous Integration) – Issues (https://github.com/tango-controls/cppTango/issues)
  11. 11. JTango ● svn/Idl ● svn/JtangoCommons ● svn/JtangoServer ● svn/Tangorb ● svn/etc git/JTango
  12. 12. Other Kernel projects already in git ● TangoSourceDistribution ● TangoDatabase ● TangoAccessControl ● TangoTest ● Tango-idl
  13. 13. Next Green light: ● Astor ● Jive ● Pogo ● Starter ● AtkPanel Requires coordination: ● Archiving ● Binding ● GUI ● tools
  14. 14. Problems (Tasks) ● CppTango: – Restructure and clean up – Setup CI ● Jtango – Restructure – Setup CI with Soleil* ● fix SourceDistribution
  15. 15. Next (non git related) ● Tango protocol ● Low level API (prototype) ● Compare performance ● Estimate compatability

Editor's Notes

  • Transfer one repository – 5 min manual work

×