Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan."— Presentation transcript:

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

5 User Ratings of Software Packages User Opinion (–2 to +2) Strength of Opinion (0 to +3) Number of Respondents Rating = UO*SO/N

6 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

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: 1) Simulation of data and inversion process 2) JaeDong Lee’s approach

13

14

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 Client Web Browser Web 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

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 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/


Download ppt "Software Project Brent Fultz California Institute of Technology Issues Specifications Algorithms Web service model Plan for a plan."

Similar presentations


Ads by Google