Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOFTWARE COMPONENTS DEPLOYMENT REPOSITORY STRUCTURE TEST SUITES XAL Version 2 Christopher K. Allen, ORNL.

Similar presentations


Presentation on theme: "SOFTWARE COMPONENTS DEPLOYMENT REPOSITORY STRUCTURE TEST SUITES XAL Version 2 Christopher K. Allen, ORNL."— Presentation transcript:

1 SOFTWARE COMPONENTS DEPLOYMENT REPOSITORY STRUCTURE TEST SUITES XAL Version 2 Christopher K. Allen, ORNL

2 Outline: XAL Version 2 10/14/2007 XAL Meeting - ICALEPCS 2007 2 1. Motivation 2. Development Strategy 3. Version 2 Architecture 1. Installation 2. Components 3. Repository structure 4. Test Suites 5. Summary 6. Open Issues

3 XAL Version 1 XAL Version 2 1. Motivation 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  3 rd party software  New Architecture to supported the evolved framework  XAL2 "Engineers believe that if it ain't broke, it doesn't have enough features yet." — Scott Adams. 10/14/2007 3 XAL Meeting - ICALEPCS 2007

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

5 5 3 Original XAL Conceptual Design 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 10/14/2007 XAL Meeting - ICALEPCS 2007

6 3. XAL2 Components 10/14/2007 XAL Meeting - ICALEPCS 2007 6 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? xalcore2.jar (hardware) xaltools2.jar xalservice2.jar (connection) xalhware2.jar (online model) xaltest2.jar (testsuites) EPICS xalapps.jar (MIC) xalapps.jar (MRC)

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

8 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 8 10/14/2007 XAL Meeting - ICALEPCS 2007 XAL2 Collaboration Diagram

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

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

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 10/14/2007 11 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?! 10/14/2007 12 XAL Meeting - ICALEPCS 2007

13 5. Summary 10/14/2007 XAL Meeting - ICALEPCS 2007 13 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

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

15 Software Development and Social Values 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." 15 10/14/2007 XAL Meeting - ICALEPCS 2007

16 10/14/2007 XAL Meeting - ICALEPCS 2007 16


Download ppt "SOFTWARE COMPONENTS DEPLOYMENT REPOSITORY STRUCTURE TEST SUITES XAL Version 2 Christopher K. Allen, ORNL."

Similar presentations


Ads by Google