software project brent fultz california institute of technology issues specifications algorithms web...

23
Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model • Plan for a plan

Post on 19-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Software Project Brent Fultz

California Institute of Technology

• Issues• Specifications• Algorithms• Web service model• Plan for a plan

Page 2: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Software Roadmap v. 1.0

Page 3: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

ARCS -- The Project -- Software

Page 4: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Python and C++

For example, given a solver routine such as

and a wrapper

double adlib::StableTimeStep();

char pyadlib_stableTimestep__name__[] = “stableTimestep”;PyObject * pyaldib_stableTimestep(PyObject *, PyObject * args){ double dt = adlib::StableTimeStep(“deformation”);

return Py_BuildValue(“d”, dt);}

dt = pyadlib.stableTimestep()

one can place the result of the routine in a python variable

Page 5: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

User Ratings of Software Packages

ISAW Genie Homer Lamp Treat Mscat Mflcour Maxent

+0.5 +2.33 +2.5 -0.3 -3.5 0.0 -1.0 +1.3

Mslice Tobyfit Tobyplot Chop Gulp Unisoft+3.6 +3.0 +2.4 +3.2 +4.3 +2.0

McStas Vitess Ideas Matlab IDL

+4.0 +1.7 +1.3 +2.8 +1.4

User Opinion (–2 to +2)Strength of Opinion (0 to +3)Number of RespondentsRating = UO*SO/N

Page 6: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Present -- Survey Users, Test Packages

Interesting:CS: Unisoft, Computational Crystallographic Toolkit User: DAVE, Mslice, McStas, Gulp, Chop

Problems:1. Code Quality and User Opinion are

not necessarily correlated (McStas is an exception)2. We are still looking at details, but we can already

see that there will be more rewriting than expected

Page 7: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Issues in Software Development

• If it takes 100 hours to develop a code for yourself, it takes:300 hours to make it convenient for others1000 hours to make it run for others on several platformsRelease management difficult with several platforms

• Adding personnel to a late software project makes the project later. (Brooks Law)

• Most inelastic neutron scattering codes are unusable by ARCS project.

Page 8: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Status of Software Development

• Subtract coherent multiphonon scattering from data• Lattice dynamics with classes• Group of the chemical bond• Developing specifications• User interface concept

Page 9: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Present -- Write the Manual

Specifications: Reference for all modules Define the scope Show interrelationships Documentation

How to write a manual? Define needs and scope

Page 10: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

The Manual is a Book!

Experimental Inelastic Neutron Scattering

Scope: Theory of neutron scattering Theory of excitations in condensed matter Data Analysis Procedures Software Architecture Reference Manual

Approach: We write it as we learn it Springer-Verlag LATEX macros

Page 11: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Coherent Inelastic Scattering

Page 12: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Coherent Inelastic Multiphonon Data

Standard corrections for multiphonon scattering are in incoherent approximation.

This assumption no longer seems necessary:1) Simulation of data and inversion process2) JaeDong Lee’s approach

Page 13: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan
Page 14: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan
Page 15: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Data Analysis as a Web Service

• Any platform with a web browser can access the service from anywhere

• HTML and Java interface is flexible and easy to use

• Computation occurs on the server side; client web browser only issues commands

Page 16: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

XML and the Network

Client Web BrowserWeb Server

Database Server

Beowulf Cluster

• XML-RPC is an open standard for remote procedure calls• The client, through her web browser, issues commands to a server• The server can then farm out the commands to other servers

Page 17: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

The User Interface• Users navigates the web site with the left frame.• This content is dynamically generated by the web server, so it is extremely flexible.• Users select data and calculataional tools, and adds them to the Java applet on the right• Connect the boxes with input and output nodes

Page 18: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

The User Interface (cont.)

• Users search online databases or regular filesystems

Page 19: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

The User Interface (cont.)

• The user “wires” the boxes together to represent data flows• We intend to allow users to insert new code in empty boxes, and archive sessions and procedures

Page 20: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Data Analysis Execution

• Finally, the user hits “Run,” and a flurry of XML-RPC commands are issued to the server. Data processing commences.

Page 21: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Data Analysis as a Web Service

• The visual user interface makes non-programmers and programmers more efficient

• Most all data sets and processing code reside on the servers, so very little data bandwidth is needed.

• The server side can utilize Beowulf clusters • Computing engines can be changed without affecting the user.• Platform independent. This is a huge savings in effort!• The user interface can be modified or replaced at will, as the

underlying XML-RPC structure is standardized• Possible SNS standard?

Page 22: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

A Plan for a Plan

• If the IDT can accept a web service computing model, the major architectural decisions are resolved.

• We can write a software plan now.• Contingencies are large until, but these will be reduced

considerably after we:1) write some test modules2) assess code in some more modules

• A baseline plan is possible by January, 2003.

Page 23: Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan

Status of Project

• Python/C++• Implementation decisions are made• Scope and effort are being evaluated• Assess what’s there• Test case of object-oriented lattice dynamics• Specifications are being settled• Web-based service?• We know how to develop a software plan

• Please visit the ARCS wiki• http://viz.cacr.caltech.edu:8000/arcs/1• http://arcscluster.caltech.edu/~jonny/