Nevertheless, for the purposes of this limited study into the significant properties of software, it is not practically possible to investigate more than a limited sample of the vast spectrum of software. Consequently, in this study we have decided to concentrate largely (although not exclusively) on mathematical, scientific and e-Science software as used within areas of science in the UK academic community.
We believe that this category of software is of interest to a large part of the academic and research community, which is the constituency of JISC, and should be representative for a large number of the significant properties which are generally applicable to wider categories of software. Further, there are particular features of the mathematical and scientific software domain which make it particularly suitable for this study, as follows.
-
Narrow Focus. Scientific software is focussed on the application domain involved, and does not tend to gather extraneous features (“feature creep”) which can confuse or obscure the purpose of the software.
-
Application Focus. Scientific software is aimed at providing functionality for end users interested in the science, rather than say operating system, networking or control system software which is directed at functionality for controlling the computing infrastructure itself. This means that while the audience does tend to be computer literate, it is not computer specialised, so there is an onus on providing software which is intelligible to the scientific domain specialist.
-
Long life times. Scientific users were early adopters of computing technology, dating back to the 50s and 60s in some cases, so there is a long legacy of software within the community. Further, scientific data and analysis does not go out of date – there is a need to revisit data and analysis which was collected a long time ago, so the software involved may not be obsolete. And finally, scientific research programmes can often be of long duration; space missions for example may take 15 years of preparation and take many times longer than that to execute and analyse the results. Control systems and data transmissions are still operational on the Voyager spacecraft more than 30 years after their launch and the onboard software needs to be kept operational on 1970s hardware at remote distance. As a consequence of these long life spans, the scientific and mathematical software community has a strong need to preserve and reuse software over long periods.
-
Established development teams and practices. As a consequence of the longevity of scientific software, there are long-established teams which have experience of maintaining software packages over long period of time. They have long experience of maintaining and extending the function of software in the face of frequent technology and environment change and have established strong processes and tools to manage this change. Further, since there is close involvement with the scientific community, who tend to be computer literate, there is an emphasis on openness and collaboration so that the function and organisation of the system are easily available.
As a necessary consequence of this focus on scientific software, other aspects of interest are less well-covered in this study, and not considered for any particular characteristics. Some which are particularly important are the following:
-
Systems Software. Software which controls computer systems at a low level, such as device drivers, operating systems software, and networking. These are vitally important to maintaining computer infrastructure, and other software packages will typically depend on them. Significant properties of application software should record these dependencies, but details of the systems software are not considered in detail.
-
Business Application Software. A class of common office client tools (e.g. Word processors, spreadsheets, small databases, email clients, web-browsers, calendaring systems, presentation systems, graphics editors), and back office tools (e.g. web servers, mail servers, document management systems, databases) clearly should be considered for preservation to maintain a record of a large amount of commonly produced material for largely human consumption.
-
Databases. Databases may be regarded as a special category of software, with their own characteristics of data representation and management, and should be considered for specific significant properties for preservation. However, care must be taken to distinguish between preserving the database software (e.g. the DBMS and accompanying database modelling and querying language) and the data represented and stored within a database.
-
Software processing of specific digital object types. An important class of software is designed to represent, manipulate and display human readable digital objects, including word processors (e.g. Word, WordPerfect), document markup and processing system (e.g. LaTeX, Acrobat), graphics editors (e.g. Visio), image presentation and processing systems (e.g. PhotoShop).
Clearly these software packages are closely associated with other digital objects types (e.g. documents, raster and vector images), and some of the significant properties of these systems are closely associated with the significant properties of those digital objects. For example, visual significant properties of data objects such as fonts or line thicknesses will be dependent on the capabilities of the processing software to render these properties (and indeed ultimately on the capabilities of the hardware). This is clearly an important area which requires close consideration, and also close interaction with the effort to define significant properties for those object types. However, for the purposes of this study, these properties are not explored in detail.
-
Commercial software. A good deal of the software which is available for within the mathematical and scientific domain is the result of community effort and is freely available and often open-source, allowing recompilation and migration by users. Within this study we mainly considered the issues arising from the use and maintenance of such software, and did not consider special characteristics and properties which arise from the software being commercial. The major exception was the NAG library, developed by a commercial company. However, even in those circumstances we concentrated on the maintenance and reuse efforts which have been undertaken, rather than any requirements which arose from a specifically commercial environment.
Clearly, there are special characteristics arising from commercial packages, particularly that usage and licensing conditions should be respected, including conditions on copying and distribution, and also typically only binary distributions are available. However, detailed consideration of these aspects was not covered in this study.
-
Software with complex user interactions. As already noted above, computer software can have a wide range of different human-computer interactions, with in sophisticated modern user interfaces, complex layouts, displays and interactions with the user. Inputs and outputs can be audio or haptic as well as visual, and use a wide variety of specialist devices as well as the familiar monitor-keyboard-pointer arrangement of most workstations. The particular layout and characteristics (e.g. colour, font, positioning) of a screen may or may not be key elements for reproducibility of the functionality of the software.
Typically for much mathematical and scientific software, the user interaction model is less crucial behaviour to be preserved than the accuracy of the algorithms used for analysis; often such software is designed to interact via internal function calls from another program or via a command line as well as using a graphical user interface, and even with a GUI, the exact layout may not be critical6.
Consequently, a full treatment of the significant properties of the user interaction of software is a much larger topic, almost certainly requiring specialist user interface expertise, and is considered beyond the scope of this study.
Share with your friends: |