Nick Draper Tessella The Mantid Project: Notes from an international software collaboration.

Slides:



Advertisements
Similar presentations
© Copyright 2007 Exempler Telecom Test Automation System Exempler - We pride ourselves with providing lightweight robust engineering solutions.
Advertisements

Enabling Technology Innovation using Open Source Software
Pulan Yu School of Informatics Indiana University Bloomington Web service based Varuna.Net.
© S.J. Coles 2006 Usability WS, NeSC Jan 06 Experiences in deploying a useable Grid-enabled service for the National Crystallography Service Simon J. Coles.
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Document Manager Product Overview.
Introduction Main technologies: core written in Java embedded Jython interpreter code managed using the Eclipse plugin framework client program uses Eclipse.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
MXF An Introduction. MXF An Introduction What is MXF ? What does it do ? How does it do it ? Please feel free to ask questions !
SAE INTERNATIONAL Copyright (c) 2015 SAE International and Data Conversion Laboratory. Further use or distribution is not permitted without permission.
Delivering Staff Development Online Colin Milligan.
Summary Role of Software (1 slide) ARCS Software Architecture (4 slides) SNS -- Caltech Interactions (3 slides)
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
1 The IIPC Web Curator Tool: Steve Knight The National Library of New Zealand Philip Beresford and Arun Persad The British Library An Open Source Solution.
21 st July 2006FLOSSIE Conference Open Source Assistive Technology Software OATS David Colven, Steve Lee & Simon Judge.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Experimental Facilities DivisionORNL - SNS June 22, 2004 SNS Update – Team Building Steve Miller June 22, 2004 DANSE Meeting at Caltech.
Computing and Data Infrastructure for Large-Scale Science Deploying Production Grids: NASA’s IPG and DOE’s Science Grid William E. Johnston
SolidWorks UGM Yakima, WA. What Is DraftSight? Easy to use, professional grade, 2d CAD software Intuitive and Powerful Best of all… It’s FREE !!!
© , Michael Aivazis DANSE Software Issues Michael Aivazis California Institute of Technology DANSE Software Workshop September 3-8, 2003.
Copyright © 2007 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Groupware to Support Distributed & Collocated Software Engineering Student Group Projects Sarah Drummond RISE Dept. Computer Science University of Durham.
Understanding of Automation Framework A Storehouse of Vast Knowledge on Software Testing and Quality Assurance.
Agile Testing with Testing Anywhere The road to automation need not be long.
DAVE: Cooperative Development of Data Visualization and Analysis Software Rob Dimeo NIST Center for Neutron Research What is DAVE? The DAVE team Motivation.
Open and save files directly from Word, Excel, and PowerPoint No more flash drives or sending yourself documents via Stop manually merging versions.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
1 Software Reviews - FTR SWENET Module QUA2. Formal Technical Review u Features – Formal v Scheduled event v Defined procedure v Reported result – Technical.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Benefits of ICT Communicating As an Internet user, the tools you are most likely to use to communicate with other Internet users are: Electronic mail the.
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
SDT NIWA Systems Development Team Andrew Watkins SDT Overview Taking dull repetitive work from scientists and giving it to robots since 2008.
Nick Draper Teswww.mantidproject.orgwww.mantidproject.org Instrument Independent Reduction and Analysis at ISIS and SNS.
ISIS: towards a 21st century facility computing environment (slowly) Robert McGreevy Science and Technology Facilities Council ISIS, Rutherford Appleton.
NEPTUNE Canada Workshop Oceans 2.0 Project Environment NEPTUNE Canada DMAS Team Victoria, BC February 16, 2009.
DANSE Diffraction Software for the SNS: DiffDANSE S.J.L. Billinge Dept. Physics and Astronomy Michigan State University.
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
Mantid Scientific Steering Committee Nick Draper 10/11/2010.
7-1 Management Information Systems for the Information Age Copyright 2004 The McGraw-Hill Companies, Inc. All rights reserved Chapter 7 IT Infrastructures.
Mantid Development introduction Nick Draper 11/04/2008.
Nick Draper 05/11/2008 Mantid Manipulation and Analysis Toolkit for ISIS data.
CommSee - a client service systems development strategy using .NET
Start Now CRM Solutions Growing the business through customer focus.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Bizfss File Sync and Sharing Solution, Built on Microsoft Azure, Allows Businesses to Sync, Share, Back Up Using Their Own Cloud Storage MICROSOFT AZURE.
S. Shumilov – Zürich Analytical Visualization Framework - a visual data processing and knowledge discovery system Ivan Denisovich, Serge Shumilov Department.
Mantid Current Development and Future Plans Nicholas Draper ICNS 2013.
Mantid Stakeholder Review Nick Draper 01/11/2007.
Nick Draper Tessella Instrument Independent Reduction and Analysis at ISIS and SNS.
Portals and Web Standards Lessons Learned and Applied David Cook Copyright The University of Texas at Austin This work is the.
Mantid Stakeholder Review Nick Draper 01/11/2007.
Mantid Manipulation and Analysis Toolkit for ISIS data.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Comprehensive Project Management Solutions with the.NET Server family.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
NSF Middleware Initiative Purpose To design, develop, deploy and support a set of reusable, expandable set of middleware functions and services that benefit.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Mantid Manipulation and Analysis Toolkit for Instrument data.
Mantid: A new approach to data analysis at large scale facilities Jon Taylor Project WIKI (Binary downloads)
Mantid Scientific Steering Committee Nick Draper 03/10/2011.
The Integrated Spectral Analysis Workbench (ISAW) DANSE Kickoff Meeting, Aug. 15, 2006, D. Mikkelson, T. Worlton, Julian Tao.
Market Evolution Program. 2 Topics Overview of the Market Evolution Program Consultation Plan for Phase 1 Overview of the Market Evolution Program Consultation.
VisIt for the Mantid Project Owen Arnold (Tessella LLC) Michael Reuter (ORNL NSSD) February 10, 2011.
ORNL is managed by UT-Battelle for the US Department of Energy Status Report: Data Acquisition and Instrument Controls for the Spallation Neutron Source.
Mantid Scientific Steering Committee Nick Draper 18/06/2010.
Building PetaScale Applications and Tools on the TeraGrid Workshop December 11-12, 2007 Scott Lathrop and Sergiu Sanielevici.
Mantid Scientific Steering Committee Nick Draper 13/05/2011.
Docker Birthday #3.
Software for Neutron Imaging Analysis
Presentation transcript:

Nick Draper Tessella The Mantid Project: Notes from an international software collaboration

Overview Mantid Introduction Why collaborate? Collaboration Models ISIS - SNS & HFIR collaboration –Organisation –Benefits –Lessons Learned

Project History July 2007 Requirements & Design April 2008 V 1.0 First instrument support Feb 2010 V1.1 Support multiple techniques April 2010 Collaboration with SNS & HFIR

Project Goals Goals –Consolidate the data analysis software for neutron scattering without restricting the needs of the instrument scientists Key requirement –Create a Data Analysis framework not instrument or technique/dependent –Cross-platform Windows, Linux, Mac –Easily extensible –Freely redistributable

Framework vs individual applications Less time spent developing input and output routines More time on scientific algorithms Cross benefits from other groups Lower support requirements Better documentation and training Fewer single points of failure Structure for further developments

Framework flexibilty Instrument independence –Virtual instrument defined Loaded from xml definition –Location, rotation and shape of every pixel –Sample –Source Technique independence –Algorithms Unit Reduction and analysis steps –Workflow scripts Chain algorithms to perform a reduction workflow

Framework flexibilty Plug in extensions –Common Algorithms – C++ or Python Instruments Workflow scripts Custom user interfaces Custom algorithm dialogs –Less frequent Workspaces Units Optimisation –Functions & models –Optimisers & cost functions –Constraints

Open Source GPL v3 –Free to use –Source code openly available –Results cannot be sold Unless you own the copyright Good basis for collaboration Sharing benefits to wider community Why not LGPL, BSD etc?

Future Development Scope Reduction Analysis Spallation & Reactor Technique support –Inelastic Direct Indirect –Diffraction Powder Engineering Single Crystal Diffuse scattering –Disordered Materials –Large Scale Structures Small angle Reflectometry –Muons

Collaboration Benefits Why Collaborate? Solve big problems Cover a wide scope  access to skills and talents Reduce costs Access to existing code Improved support All parties should benefit

Collaboration Challenges Why Collaborate? Larger development team  induction  communication  project structure Generic solutions take time  documentation It is important to minimise these effects

Collaboration Models Many possible models Several used within Mantid –Open contributions - Informal Anarchy –User donated code –Joint distributed team –Application integration Important to pick the right model for the situation

Open Contributions - Informal Anarchy Key Features –People choose their own priorities –Anyone can submit code –Immediately available to all Advantages –Very lightweight Drawbacks –Negative effect on quality –Likely to repeat work Use in Mantid –User script library

User donated code Key Features –Users submit code to the dev team –Dev team adopt the code Review & Refactor Test Document Advantages –High quality additions to functionality Drawbacks –Significant dev team involvement Use in Mantid –User supplied algorithms and key scripts

Joint distributed team Key Features –Single project management lead –Geographically separated, but joint dev teams Advantages –Consistent, planned development –Increased support hours Drawbacks –Increased communication –Initially introduction of a whole dev team Use in Mantid –ISIS – SNS Development

Application integration Key Features –Integration with well known tools –Smooth transfer to/from Mantid –Rapid increase in functionality Advantages –Can be simple file format support –Avoids reinventing the wheel Drawbacks –Imperfect user experience –Lack of direct control Use in Mantid –GSAS, Fullprof & other tools

ISIS - SNS & HFIR collaboration

SNS Collaboration Timeline March ICNS 2009 –Initial meeting & discussions Oct Due Diligence visit –Week with the development team –Discussions with several scientist users –Future plans –Areas of common interest Jan Go / No Go decision Apr Memorandum of Understanding May Joint development begins Aug 2010 – Initial SNS & HFIR support

Previous Project Organisation Users Scientific Steering Committee Development Team 27 beamlines, 1600 users 9 Key scientists representing every beamline. PM & 7 Developers

Project Organisation Users Scientific Steering Committee Development Team Users Scientific Steering Committee Development Team SNS/HIFR ISIS

Team Structure Joint project management board Two scientific steering committees One project manager –Control overall project direction –Final point of decision making Local Development Team Leaders One Development Team –7 FTE staff at ISIS –9+ FTE staff at SNS and still growing

Continuous Integration Environment SVN Repository Build + unit test -Linux -Mac OSX -Windows 32 -Windows 64 Developers trac Issue tracking system Mantid Project Wiki Automated System test Deploy to Download site

Communication Face to face meetings –PM 3-4yr –Developer visit program –Developer workshops Developer Transfer –ISIS lead developer transferred to US Easy communication channels –Developer list –Skype –Phone –Screen sharing –Video conferencing

ISIS -> SNS wins Robust framework –Common development structure –Multithreaded performance –Documentation and training –Automated build, test and deployment Algorithms –Over 100 algorithms already developed Development support –help

SNS -> ISIS wins Improvements to build process –Cmake, Hudson Event Workspaces Event Filtering –Currently by time –Will expand Improved python code framework New file format support –NxSPE –Event Nexus

Lessons Learned Developer documentation –Need to rapidly induct several new developers –Will not be good enough Communication –Has to be encouraged –Will take some time Personal relationships –Are key to working together in a team High level support is essential No two facilities are the same –Archive structure –Information catalog

Lessons Learned Minor irritations –You may have learned to live with them –Will be much more irritating to new developers Make use of this enthusiasm Development Environments –Will differ across facilities –Set up can be painful –Don’t let issues linger Design –Consider implications –Design for flexibility

Further Information Project Web Page – Project Introduction Document – troduction%20Document.dochttp://svn.mantidproject.org/mantid/trunk/Documents/Requirements/Project%20In troduction%20Document.doc User Requirements Document – Architectural Design Document – ign%20Document.dochttp://svn.mantidproject.org/mantid/trunk/Documents/Design/Architecture%20Des ign%20Document.doc

Future Instrument specific UI Architectural Design - Overview Mantid Framework MantidScript Command line & Scripting interface MantidScript Command line & Scripting interface MantidPlot Graphing and analysis RAW data files NEXUS data files Future Instrument specific UI Instrument log files API Workspaces Matlab Interface DAE direct access Algorithms