The Significant Properties of Software: a Study
Total Page:16
File Type:pdf, Size:1020Kb
The Significant Properties of Software: A Study Brian Matthews, Brian McIlwrath, David Giaretta, Esther Conway STFC Rutherford Appleton Laboratory Chilton OX11 0QX UK December 2008 Significant Properties of Software Revision History: Version Date Authors Sections Affected / Comments 0.1 18/02/2008 BMM Outline 0.5 05/03/2008 BMM First Draft 0.6 09/03/2008 DG DG added section on OAIS/CASPAR 0.7 11/03/2008 BMM Added section on StarLink + revisions. 0.8 23/03/2008 BMcI, EC, BMM Expanded use cases 1.0 28/03/2008 BMM, BMcI First Complete release version 1.1 23/12/2008 BMM Final Revision 2 Significant Properties of Software Executive Summary ...................................................................................................... 5 Recommendations ..................................................................................................................... 6 1 Background to the Study ....................................................................................... 9 1.1 Introduction ................................................................................................................... 9 1.2 Significant Properties .................................................................................................. 10 2 Scope of Study .................................................................................................... 12 2.1 Definition of Software ................................................................................................ 12 2.2 Diversity of Software .................................................................................................. 12 2.3 Scope of Study ............................................................................................................ 14 2.4 Methodology ............................................................................................................... 16 3 Digital Preservation of Software ........................................................................... 18 3.1 What is software preservation? ................................................................................... 18 3.2 Why preserve software? .............................................................................................. 19 3.2.1 Museums and Archives ........................................................................................... 19 3.2.2 Preserve a complete record of work ........................................................................ 21 3.2.3 Preserving the data .................................................................................................. 21 3.2.4 Handling Legacy ..................................................................................................... 22 3.3 The nature of software artefacts .................................................................................. 22 4 Software Engineering .......................................................................................... 24 4.1 Introduction ................................................................................................................. 24 5 Frameworks for Software Preservation ................................................................ 26 5.1 The Role of Software in Approaches to Digital Preservation ..................................... 26 5.1.1 OAIS ....................................................................................................................... 26 5.1.2 CASPAR ................................................................................................................. 29 5.2 Virtualisation and Software Emulation ....................................................................... 29 5.2.1 Basic virtualisation .................................................................................................. 30 5.2.2 Virtualisation and Software Preservation ............................................................... 31 5.2.3 Planets and Dioscuri ............................................................................................... 31 5.3 Existing Software Repositories ................................................................................... 33 5.4 Classification Schemes for Software .......................................................................... 33 5.5 SourceForge and CCPForge ....................................................................................... 34 6 Case Studies of Software Developments ............................................................ 36 6.1 BADC ......................................................................................................................... 36 6.1.1 On the fly provision of processed data ................................................................... 37 6.1.2 Generic Analysis tools ............................................................................................ 38 6.1.3 Met Office Ported Unified Model ........................................................................... 43 6.1.4 Data Set Specific software tools and scripts ........................................................... 44 6.2 NAG ............................................................................................................................ 45 6.2.1 Maintaining the NAG Library ................................................................................ 46 6.2.2 Documenting the NAG Library .............................................................................. 47 6.2.3 Lessons for Software Preservation .......................................................................... 48 6.3 Astronomical Analysis Software – Starlink ................................................................ 48 6.3.1 Astronomical Software ........................................................................................... 48 6.3.2 Introduction to Starlink ........................................................................................... 49 6.3.3 Principle Features .................................................................................................... 50 7 Conceptual Framework ........................................................................................ 58 7.1 Software Preservation Approach ................................................................................ 58 7.2 Performance Model and Adequacy ............................................................................. 59 3 Significant Properties of Software 7.2.1 Performance of software and data ........................................................................... 61 7.3 A Conceptual Model for Software .............................................................................. 62 7.3.1 The Software System .............................................................................................. 63 7.3.2 Software Components ............................................................................................. 66 8 Significant Properties of Software ........................................................................ 69 8.1 Categories of Significant Properties ........................................................................... 69 8.1.1 Package Properties .................................................................................................. 72 8.1.2 Version Properties ................................................................................................... 72 8.1.3 Variant Properties ................................................................................................... 73 8.1.4 Download Properties ............................................................................................... 74 8.2 Component Properties ................................................................................................. 74 8.3 An example of Significant Properties: Xerces ............................................................ 75 9 Conclusions and Recommendations ................................................................... 79 9.1 Conclusions of Study .................................................................................................. 79 9.2 Recommendations ....................................................................................................... 81 Acknowledgements ..................................................................................................... 82 References.................................................................................................................. 83 Appendix A: An OWL Ontology for Significant Properties of Software ........................ 84 Appendix B: Questions to Analyse Software Preservation Practices .......................... 93 Significant Properties of Software .......................................................................................... 93 Outline Questions ....................................................................................................... 94 More detailed questions .............................................................................................. 94 1 What Performance/Behaviour does your current user(s) expect from this software and what needs preserving? .................................................................................................................... 94 2 What information do you provide to a new user, and what support do you give them during their use of the software? .......................................................................................................