Title: Software Project
1Software Project
- Brent Fultz
- California Institute of Technology
- Issues
- Specifications
- Algorithms
- Web service model
- Plan for a plan
2Software Roadmap v. 1.0
3ARCS -- The Project -- Software
4Python and C
- For example, given a solver routine such as
double adlibStableTimeStep()
and a wrapper
char pyadlib_stableTimestep__name__
stableTimestep PyObject pyaldib_stableTimeste
p(PyObject , PyObject args) double dt
adlibStableTimeStep(deformation) return
Py_BuildValue(d, dt)
one can place the result of the routine in a
python variable
dt pyadlib.stableTimestep()
5User Ratings of Software Packages
User Opinion (2 to 2) Strength of Opinion (0 to
3) Number of Respondents Rating UOSO/N
6Present -- Survey Users, Test Packages
- Interesting
- CS Unisoft, Computational Crystallographic
Toolkit - User DAVE, Mslice, McStas, Gulp, Chop
- Problems
- 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
7Issues in Software Development
- If it takes 100 hours to develop a code for
yourself, it takes - 300 hours to make it convenient for others
- 1000 hours to make it run for others on several
platforms - Release 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.
8Status of Software Development
- Subtract coherent multiphonon scattering from
data - Lattice dynamics with classes
- Group of the chemical bond
- Developing specifications
- User interface concept
9Present -- Write the Manual
Specifications Reference for all modules
Define the scope Show interrelationships
Documentation How to write a manual? Define
needs and scope
10The 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
11Coherent Inelastic Scattering
12Coherent Inelastic Multiphonon Data
- Standard corrections for multiphonon scattering
are in incoherent approximation. - This assumption no longer seems necessary
- Simulation of data and inversion process
- JaeDong Lees approach
13(No Transcript)
14(No Transcript)
15Data 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
16XML and the Network
- 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
XML-RPC
Database Server
XML-RPC
XML-RPC
XML-RPC
Client Web Browser
Web Server
Beowulf Cluster
17The 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
18The User Interface (cont.)
- Users search online databases or regular
filesystems
19The 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
20Data Analysis Execution
- Finally, the user hits Run, and a flurry of
XML-RPC commands are issued to the server. Data
processing commences.
21Data 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?
22A 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 modules
- 2) assess code in some more modules
- A baseline plan is possible by January, 2003.
23Status of Project
- Python/C
- Implementation decisions are made
- Scope and effort are being evaluated
- Assess whats 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.edu8000/arcs/1
- http//arcscluster.caltech.edu/jonny/