Software Project - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Software Project

Description:

User Ratings of Software Packages. User Opinion ( 2 to 2) Strength of Opinion (0 to 3) ... The visual user interface makes non-programmers and programmers ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 24
Provided by: dougabe
Category:
Tags: project | software

less

Transcript and Presenter's Notes

Title: Software Project


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

2
Software Roadmap v. 1.0
3
ARCS -- The Project -- Software
4
Python 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()
5
User Ratings of Software Packages

User Opinion (2 to 2) Strength of Opinion (0 to
3) Number of Respondents Rating UOSO/N
6
Present -- 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

7
Issues 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.


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

9
Present -- Write the Manual
Specifications Reference for all modules
Define the scope Show interrelationships
Documentation How to write a manual? Define
needs and scope
10
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
11
Coherent Inelastic Scattering
12
Coherent 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)
15
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

16
XML 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
17
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

18
The User Interface (cont.)
  • Users search online databases or regular
    filesystems

19
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

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

21
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?

22
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 modules
  • 2) assess code in some more modules
  • A baseline plan is possible by January, 2003.

23
Status 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/
Write a Comment
User Comments (0)
About PowerShow.com