The Software Sustainability Institute (SSI) provides services to help research groups sustain their software over the long term. It collaborates with groups in various fields to improve key software through advice, training, and partnerships. Case studies describe projects in fields like fusion energy, climate modeling, geospatial data, and computational chemistry. The SSI aims to promote best practices and change perceptions so software is recognized as a valuable long-term asset, not just for initial research. Sustaining software requires support for both technical aspects and community engagement over decades.
Why Good Software Sometimes Dies... and how to save it
Preserving Research Software
1. Software Sustainabilitypreserving the future of research software 6 December 2010 University of Tsukuba – University of Edinburgh Joint Symposium Neil ChueHong, Director N.ChueHong@software.ac.uk
2. Agenda Why software sustainability is important for the UK What the Software Sustainability Institute does, and its collaborative projects The research challenges for software sustainability for the future
3. 3 UK investment in e-Science Over 100 projects, worth more than £250 million Facilities, services and community support e-Science Institute National and Regional Centres, NCeSS, Environmental e-Science Centres, … NGS & Grid-PP, OMII-UK, Digital Curation Centre, … Many ongoing activities and services unperturbed European Bioinformatics Unit, HPCx & HECToR, … Velocity magnitude flow field pertaining to a cerebral patient specific vascular tree, simulated with HemeLB, an example of urgent computing Image courtesy Peter Coveney, UCL Slide courtesy Malcolm Atkinson, UK e-Science Envoy
4. Just the Nature of the problem? No one starts writing software intending to abandon it completely and yet sustainability – developing and maintaining over a long period – is a problem for scientific software Statistics courtesy of Greg Wilson, Software Carpentry, from Nature article Published online 13 October 2010 | Nature 467, 775-777 (2010) doi:10.1038/467775a
5.
6. The Software Sustainability Institute A national facility for research software Providing services for research software users and developers Developing research community interactions and capacity Promoting research software best practice and capability Sustaining software by helping to negotiate the stages of the software maturity cycle
7.
8.
9. Funded by EPSRC for 5 years, 9.5 FTE, £4.2 million, !st June 2010 – 31st May 2015
10.
11. consultative advice (software evaluation , development process, community engagement, dissemination, workshops+surgeries)
12. collaborative partnerships (usability, quality, maintainability)Engagement with international community, doctoral training centres and funding programmes to change policy towards software sustainability
13. SSI Guides Software development Software development: general best practice Developing maintainable software Testing your software Repositories Choosing a repository for your software project Migrating project resources: what to remember Creating and managing SourceForge projects Retrieving project resources from NeSCForge Open source Adopting an open-source licence Supporting open-source software Community building Recruiting champions for your project Recruiting student developers
15. SSI Workshops Collaborations Workshop 3-4 March 2011, Edinburgh Software Sustainability Surgeries Run on behalf of funders Can also provide to universities Software Sustainability Training Potential Summer School for Doctoral Training Centres Training on development practices for research teams
22. Case Study: NERC Data Grid Security Provides single sign-on to federated data infrastructure NDGS software now installed at major NERC data centres in the UK Now used across multiple projects Filter based approach and OpenID work used by US Earth System Grid for access to CMIP5 archive NCAR deployed worldwide to provide interoperable access control mechanism for next IPCC report in 2013 METAFOR QUESTIONNAIRE COWS/NCEO Contributions back to Python community ndg_saml, ndg_xacml, MyproxyClient
23. Case Study: Fusion Research GS2 used to study low-frequency turbulence in magnetized plasma No common visualisation across different groups Deliver mutually agreeable framework that can be extended easily and can be maintained by the small fusion community Initially looking at Paraview
24. Case Study: ECIAS Enhanced Community Integrated Assessment System Understand impact of climate policy Bring together disparate numerical models and datasets from community into common framework Provide public CLIMASCOPE portal Figure: Modelled sea level rise from 1765 to 2100 using the simple models in the MAGICC package.
25. Case Study: GeoTod-II Transform legacy geospatial data sources to a ‘linked-data’ representation Extend OGSA-DAI for transformation of both relational and file data sources to linked-data, and integrating geospatial data sources (e.g. ESRI ShapeFiles, Oracle Spatial) Initial demonstration of exposing INSPIRE hydrography datasets as linked-data Figure: Data from the National Hydrography Dataset (NHD) accessed by Gaia 3 geospatial viewer
26. Case Study: NeISS Evaluate impact of traffic control measures over next 5/10/15 years Access baseline demographic data about the city Execute simulation of traffic system and population Visualise simulation outputs Augment with new forms of data Run dynamic models to assess future patterns (congestion, health, social inequality)
29. Case Study:NanoCMOS 21 The simulation Paradigm now Vout2 [V] A 22 nm MOSFET In production 2008 Vout1 [V] A 4.2 nm MOSFET In production 2023
30. Case Study: Crystal Energy Landscapes Understanding polymorphism in drugs E.g. Dosage profile Chemists Computational Experimental Developers Domain S/W Engineers Integrators Research Computing Services Facilitator http://www.youtube.com/watch?v=bkbRwOWmiwo
31. Case Study: VIC + RAT Media backbone tools for audio and video maintained by UCL since early 90s Used as the basis for Access Grid, VRVS OMII-UK funding when other sources cut Allowed continued maintenance and bug fixes Enabled projects from Australia, Korea to contribute However difficulties in sustaining Rapid changes in hardware / software Too low profile Other projects not contributing back
32. Software Testing / Cloud Computing Helping groups develop software tests appropriate to the situation Looking at Cloud Computing / Virtualisation to provide infrastructure for UK groups We would be very interested to collaborate on better frameworks for software testing, cloud computing and modelling of costs for CC 24
33. Exploiting software for sustainability Models Grant Mosaic Institutional support Fully Costed Service External Enterprise / Consultancy Royalties and Fees Donations Advertising T-shirt (spinoff merchandising) Vehicles University based Spin out company Consultancy and Customisation Industrial knowledge transfer Contracts Licensing Certification Support services / training Software as a Service Software Foundation Most common but what happens when PI retires?
34. Sustainability in Context Support / Contributions Software Sustainability Community Engagement Software Engineering Product Management Market Development Funding/ Effort
35. Software sustainability is part of the process Comparable to risk management No one right “solution” but many examples of best practice and process Plan from before the start if possible But must be reviewed regularly No longer considering timescales bounded by a project, but considering the product
36. The Software Maturity Curve Portals Quantum chemistry Cloud Computing RDBMS Social Simulation Workflows Spatio- Temporal viz Molecular Dynamics Geospatial viz Digitised Doc Analysis Digital repositories Software proliferation Innovation Consolidation Customisation Time
37. Enabling Innovation Supporting emergent disciplines Needs recognition of innovative software development as part of funding Breaking down barriers We cannot assume that the way people interact with resources will conform to expectations e.g. researchers will use/store files outside of universities Researchers will do whatever they can to get an edge – they will not always conform
38. Supporting Consolidation “e-Science is an organic, emergent process requiring ongoing, coordinated investment from multiple funders and coordinated action by multiple research and infrastructure communities. It is both an enabler of research and an object of research” – RCUK Review of e-Science Bridging the expectation gaps between participants Maintenance vs. research Different timescales for “exciting” work Well supported open platforms are the key in the age of the research mashup Platforms to enable bottom-up innovation Platforms to enable citizen participation Competition/innovation built on top c.f. industry
39. Sustaining Customisation “The time constants for real transformative impact and significant competitive advantage is decades” – RCUK Review of e-Science Sustain software infrastructure in the long term Differing models: through centres; within institutions; distributed Need to change perceptions so that software is seen as valuable! (and not just invaluable) Lower barriers to community growth and participation Increase value of providing services Virtually merge + map small amounts of effort / funding
40. Invest in people People are the most important investment Adaptability, ability to recognise transferable skills, not strict career paths Software developers come from many backgrounds If e-Science is multi-disciplinary, multi-institution, multi-scale then make it easier to recognise peoples efforts as they move University structures do not make it easy These people are key to effective e-Science as they bridge the gap between other participants
41. The credit question How do we get credit for reusing, extending and sustaining software? Research credit is based on publication output Data citations and credit for reuse are still not commonplace Software credit is the next stage Otherwise how can we persuade people to contribute back? This is a question which must be answered at an international level
Statistics from Greg WilsonAre academics software developers?Can research consortia manage production?Are timing constraints different?What is the role of the PI in software development management?Are the skills for software and research the same?
Drawing on pool of specialists to drive the continued improvement and impact of research software developed by and for researchers
JournalTOCS largest collection of TOCs from major publication
Economic, hydrology, earth systems, coastal models etc.
Update slide for surveymapper?
Update slide for surveymapper?
Update slide for surveymapper?
Update slide for surveymapper?
How does software sustainability fit within context of software engineering, community engagement, project management, fundingWhat are the external factors like change in effort, timelines and deadlines, licensing, step changes in product development
Allowing people to move makes it easier to bridge gaps as you have a chance of creating common communication structures
Become our next collaborator – email info@software.ac.uk