1 / 16

XAL Version 2

XAL Version 2. Software Components Deployment Repository Structure Test Suites. Christopher K. Allen, ORNL. Outline: XAL Version 2. Motivation Development Strategy Version 2 Architecture Installation Components Repository structure Test Suites Summary Open Issues. 1. Motivation.

Download Presentation

XAL Version 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XAL Version 2 Software Components Deployment Repository Structure Test Suites Christopher K. Allen, ORNL

  2. Outline: XAL Version 2 • Motivation • Development Strategy • Version 2 Architecture • Installation • Components • Repository structure • Test Suites • Summary • Open Issues XAL Meeting - ICALEPCS 2007

  3. 1. Motivation "Engineers believe that if it ain't broke, it doesn't have enough features yet."     — Scott Adams. Many new features and capabilities have been added to XAL since its original design • XAL is getting big • Not all capabilities fit naturally into the original design • Multi-site development(?) • Deployment is getting complicated • 3rd party software • New Architecture to supported the evolved framework • XAL2 XAL Version 1 XAL Version 2 XAL Meeting - ICALEPCS 2007

  4. 2. XAL 2 Development Plan Version 2 Development • Maintain working “operational” version • Migrate/develop XAL 2 concurrently into different repository • New installations from XAL 2 repository operation Working Repository (Version 1) XAL migration Development Repository (Version 2) XAL XAL Meeting - ICALEPCS 2007

  5. XAL was originally designed with the following objectives: Hware representation (introspective) High-level connection management Fast simulation Tool suite It is natural to break out these components directly into software components 3 Original XAL Conceptual Design XAL Meeting - ICALEPCS 2007

  6. 3. XAL2 Components Create separate JAR files for each component • Eases deployment • Install in stages • Compartmentalize XAL development • Mnging team develop. • Maintenance • Quality control • Development is Harder • Application development • Easier? EPICS xalapps.jar (MIC) xalapps.jar (MRC) xalservice2.jar (connection) xalcore2.jar (hardware) xalhware2.jar (online model) xaltools2.jar xaltest2.jar (testsuites) XAL Meeting - ICALEPCS 2007

  7. 3. XAL2 Installation Effort CAJ JCA xalservice2.jar (connection) xalhware2.jar (hardware) xalmodel2.jar (online model) xaltools2.jar xal.xml DB node_map model_params element_map XAL Meeting - ICALEPCS 2007

  8. XAL2 Collaboration Diagram XAL Components What goes where? The number of outgoing edges indicates dependency The number of incoming edges indicates importance (include multi-vertex edges) For example,Break a Core Tool: breaks XAL Core break Online Model breaks applications XAL Meeting - ICALEPCS 2007

  9. 3. XAL2 Site Extensions • We have addressed “core” XAL • XAL elements common to all sites • “Extension” XAL • Specific to site • Developed by site xalservice2.jar (connection) xalhware2.jar (hardware) jparchware.jar (J-PARC HW) snshware.jar (SNS HW) XAL Meeting - ICALEPCS 2007

  10. 3. XAL2 Repository Structure • Accommodate: • Component builds • Multi-site development • Multi-site extensions • Management? • Test suites? • High-priest of XXX.jar? XAL Meeting - ICALEPCS 2007

  11. 4. Test Suites Must ensure new code does not break repository • Developers love to write testing code • (Developers should write testing code) • Provide test suites for important code • Critical code – must ensure operation • Many people are developing XAL • With a standard test suite we can check modifications XAL Meeting - ICALEPCS 2007

  12. 4. Test Suites • Where do we put them? • In development branch? • Mirror branch (e.g., test.core.model.alg  xal.core.model.alg) • Separate jar (testxalmodel2.jar) • Naming convention? • “TestClassName.java” • “TestClassName.py” • JUnit?! XAL Meeting - ICALEPCS 2007

  13. 5. Summary XAL has become a very large software system New version would address - deployment- maintenance- usability We can start moving to a version 2 without interrupting operation XAL Meeting - ICALEPCS 2007

  14. 6. Open Issues • Repository management • 3rd Party software • Testing • Schedule • Responsible parties • … XAL Meeting - ICALEPCS 2007

  15. A man was crossing a road one day when a frog called out to him and said: "If you kiss me, I'll turn into a beautiful princess“. • He bent over, picked up the frog and put it in his pocket. The frog spoke up again and said: "If you kiss me and turn me back into a beautiful princess, I will stay with you for one week.” • The man took the frog out of his pocket, smiled at it and returned it to the pocket. The frog then cried out: "If you kiss me and turn me back into a princess, I'll stay with you and do ANYTHING you want". • Again the man took the frog out, smiled at it and put it back into his pocket. • Finally, the frog asked: "What is the matter ? I've told you I'm a beautiful princess, that I'll stay with you for a week and do anything you want. Why won't you kiss me ?” • The man said, "Look I'm a software engineer. I don't have time for a girlfriend, but a talking frog is cool." Software Development and Social Values XAL Meeting - ICALEPCS 2007

  16. XAL Meeting - ICALEPCS 2007

More Related