Brent Fultz; Co-PIs are Michael Aivazis, Ian Anderson; PM is Mike McKerns California Institute of Technology Spallation Neutron Source (SNS) Accelerator + Target + Instruments = B$ 1.411 Reasons for DANSE New Science Better Science Ease of Use Software Stability and Reuse Support Early Operations of the SNS Excitations in Solids: An Optical Illusion of Space-Time Correlations Neutron Scattering Word Pairs {coherent, elastic} {coherent, inelastic} {incoherent, elastic} {incoherent, inelastic} Examples diffraction dispersions diffuse scattering densities of states elastic inelastic Coherence: Preserves the Phase Coherence –k0 Q k0 k k Incoherence: Arbitrary Phase k0 Incoherence Structure and Dynamics QuickTime™ and a GIF decompressor are needed to see this picture. QuickTime™ and a GIF decompressor are needed to see this picture. QuickTime™ and a GIF decompressor are needed to see this picture. http://physics.ucsc.edu/research/images/ Structure in Space; Dynamics in Time Diffraction Inelastic: (incoherent, inelastic) vs. (coherent, inelastic) Correlation Functions Diffraction, SANS gives spatial correlation functions (Patterson function — structure) Inelastic scattering gives space-time correlation function (Van Hove correlation function — dynamics) “reduction and visualization” The DANSE Project SNS NCNR Lujan IPNS HFIR User Community (International) DANSE Project: Big Picture • Enable new neutron scattering science by scientific computing. • Allow experimentalists to rearrange modularized components, and create new components. • Build enough important and quality pieces to make DANSE the choice of future developers. • Well-defined tasks organized by subfields. • System in place for Earned Value Management. • M$ 12 over 5 years Operational Goals • • • • • • Provide today’s capabilities of reduction and visualization Enable new types of science in major subfields Standardize software design, and start to standardize usage Provide a runtime framework onto which scientists can add components Support for early SNS instruments Maintainable by SNS before the end of the project Component Framework Encapsulate scientist’s code within component. A component inherits methods from the framework, user communicates properties through framework. Users Differ in Needs and Expertise 1. Beginning Student 2. Senior Student or Postdoc 3. Young Scientist 4. Established Researcher 5. Instrument Scientist 6. Software Developer 7. System Maintainer One software system must serve everyone, but different people need different interfaces. Users: 1. Beginning Student • • • • Complexity reduced to essential modules Reasonable defaults for most choices Failures must be diagnosed and explained Help with science principles “Dashboard-type” GUI and Help services Users: 3. Young Scientist • • • • Flexible, interactive explorations of data Modeling and simulation packages Compare outputs of different analyses Software must facilitate science Seeks empowerment from GUI and command-line control. Users: 6. Software Developer • • • • • Well-documented access to the integration layer Portable building tools Robust framework for debugging Regression test suites Development process and tools for quality and efficiency Direct command line control, but support for all other user interfaces. When analysis components are building blocks, what will scientists build? Facilitate discovery in neutron scattering science by raising computation to a higher level of abstraction. Can scientific careers be developed by adding value at this higher level? Deployment Diagrams theorist@mit colleague@caltech data@ornl QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. Experiment teams are already delocalized geographically. Natural for collaborative interactions across distributed computing resources system@sns DANSE and the NSF • Leverage the DOE BES investment in SNS hardware to do innovative science (often done under NSF grants) • Software has strong connections to NSF emphasis on - scientific principles - education • Initiate a partnership between a university-based developer community and a national facility • Communication and science community outreach is central to DANSE – should promote NSF-DOE interactions too • DANSE, both project and product, is extensible to other facilities and disciplines DANSE and the SNS • DANSE project augments SNS expertise and resources • Early DANSE deliverables track instrument commissioning at the SNS • DANSE project will facilitate new science from the SNS, especially in the early years of operations • Good communication channels between SNS and DANSE • Decoupling of software development efforts - DANSE emphasis on advanced data analysis (modeling and simulation) - SNS emphasis on data services (acquisition and curation) • Engineering consistency: SQRL consults for the SNS, subcontract with DANSE Number of Instruments 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 2006 DANSE Project HYSPEC (BL-14B) Vision (BL-16B) Construction NOMAD (BL-1B) Commissioning TOPAZ (BL-12) Initial Users Spin Echo (BL-15) General Users Fundamental Physics (BL-13) Sequoia (BL-17) SNAP (BL-3) Vulcan (BL-7) CNCS (BL-5) ARCS (BL-18) Powder Diffractometer (BL-11A) SANS (BL-6) Liquids Reflectometer (BL-4B) Magnetism Reflectometer (BL-4A) Backscattering Spectrometer (BL-2) 2007 2008 2009 2010 Calendar Year 2011 2012 2013 2014 DANSE Effort Today (Personnel) • All senior personnel together since early 2003 • Professional staff - scientific and technical leadership assessment of what is practical to deliver infrastructure, support tools, institutional memory • Postdoc Software Developers • Graduate Students • Undergraduate Students • External collaborators - mostly physical scientists interested in software varying software skill okay, but cannot start at zero must sustain their scientific research transitions out of DANSE/ARCS projects have been successful can leverage DANSE in thesis research testing and some development mostly in computer science DANSE Effort Today (Technical) • Scientific capabilities defined, packages selected • ARCS inelastic software in production, pyre framework • Reflectometry software in production, moving to framework • Software development process is established • Common components for I/O, interface, and numerics gives economies of scale, reusability, uniformity, and fewer bugs (over 4 years, 12 workshops, 6 polls, and former CED project) DANSE Effort Today (Management ) • Earned value management established with a Project Baseline • Change, risk, configuration control plans are ready • Infrastructure tools identified (svn, trac, build/release, gui) • Development processes are specified • Project management in place Work Breakdown Structure • Think of Microsoft Project • Layout of all tasks. Each task has: - description in a dictionary file - estimate of time - estimate of cost - markers of task progress • WBS maintained by Mike McKerns, Project Manager • Changes are expected, but must be documented. Earned Value Management System • Beyond Microsoft Project, becoming a federal requirement • Monthly reports of progress (Earned Value) - use markers of task progress • Monthly reports of expenditures (Actual Costs) - estimates of time and cost • Actual Costs and Earned Value are in units of dollars • EVMS maintained by B. Thibadeau at SNS Integration of: Design Process, QA, Releases • • • State purpose of component, specifications, functional tests Object-oriented programming allows early selection of design patterns Review, commit to svn • • Prototype. Review the design and costs Build to specifications, revise specs, develop certification tests • Deploy to all target systems Release Milestones. For applications, occurs about annually. Good time for a Review. Features of the Development Process • Misperceptions of specifications are the biggest source of risk in software projects. • DANSE developers write specs, so communication problems are minimized. • Code inspections and QA practices further minimize risk. • Agile commercial practices are appropriate for a scientific development team. • Good specifications and requirements can facilitate collaborations. Education • Pre-service teacher education at ISU - develop K-12 lesson plans from subprojects - adoption by young teachers • Nanoscience program at MSU • Student involvement - minority student funds - testers of software and documentation - some in computer science • New role for documentation (texts by Fultz, Billinge, Ustundag) Broader Impact • Algorithm Development Moves to Higher Levels - flexible integration of DANSE components and applications - subproject science packages • DANSE should be Useful for Other Groups - other neutron facilities - synchrotron radiation research - education programs in materials/chemistry/condensed matter • Demonstrate a New Approach to Scientific Software Development - professional standards with O-O design - distributed team, now cohesive - some interest from computational scientists Summary of DANSE • The road from neutron data to neutron science is paved by computing. • DANSE system moves data analysis at the a higher level of abstraction where new science is found. • Integration of Design, Development, QA, Release Management. • Plan, key personnel, technical and management systems are in place for construction of DANSE. Now funded by NSF IMR-MIP program 2006-2011. For this Kickoff Meeting • DANSE Subproject Teams - Status reports - Technical discussion • Collaborators - Look over DANSE status and plans - We want to hear updates from you too • Visitors to this Kickoff Meeting - Do we have common interests? - Keep in touch! End Presentation