software components deployment repository structure test suites xal version 2 christopher k. allen,...

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

Upload: marion-kelley

Post on 13-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

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

SOFTWARE COMPONENTSDEPLOYMENT

REPOSITORY STRUCTURETEST SUITES

XAL Version 2

Christopher K. Allen, ORNL

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

Outline: XAL Version 2

10/14/2007XAL Meeting - ICALEPCS 2007

2

1. Motivation

2. Development Strategy

3. Version 2 Architecture1. Installation2. Components3. Repository structure

4. Test Suites

5. Summary

6. Open Issues

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

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 3rd 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

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

2. XAL 2 Development Plan

10/14/2007XAL 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

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

5

3 Original XAL Conceptual DesignXAL 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/2007XAL Meeting - ICALEPCS 2007

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

3. XAL2 Components

10/14/2007XAL 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)

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

3. XAL2 Installation

10/14/2007XAL Meeting - ICALEPCS 2007

7

xalhware2.jar(hardware)

xaltools2.jar

xalservice2.jar(connection)

xalmodel2.jar(online model)

CAJJCA

xal.xml

DB

Eff

ort

model_params

element_map

node_map

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

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/2007XAL Meeting - ICALEPCS 2007

XAL2 Collaboration Diagram

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

3. XAL2 Site Extensions

10/14/2007XAL 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)

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

3. XAL2 Repository Structure

10/14/2007XAL Meeting - ICALEPCS 2007

10

Accommodate: Component builds Multi-site development Multi-site extensions

Management? Test suites? High-priest of XXX.jar?

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

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

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

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

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

5. Summary

10/14/2007XAL 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

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

6. Open Issues

10/14/2007XAL Meeting - ICALEPCS 2007

14

Repository management

3rd Party softwareTestingScheduleResponsible parties…

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

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/2007XAL Meeting - ICALEPCS 2007

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

10/14/2007XAL Meeting - ICALEPCS 2007 16