Software as part of the RIN
Software is an important type of "Other Representation Information". It will require its own RepInfo and will itself need to be preserved.
Software may be provided in several different ways including:
executables
source code or scripts
software design
Each of these requires what we can call their own Representation Information - actually a Representation Information Network (RIN). The RIN is is needed to preserve the software itself, but this may then be part of a larger RIN, for some other object for which the software is Other Representation Information.
For example an executable would require:
the operating system, including versions, configurations and additional libraries required;
in the case of Java JAR files one would need details of the Java Virtual Machine, supporting libraries and configurations such as the classpath, required.
Source code would require:
the build files, build system and libraries required to create a usable executable.
Scripts would require:
the interpreter needed use the script;
in some cases the script, such as a Docker file, may download files from a service, in which case the downloaded file would have to be captured or the service emulated.
Software design
a description/explanation of the design system
the description of the encoding used for the software design e.g. definition of XMI for a UML export.
Preservation Objectives and Transformational Information Properties for software
There are many aspects of software which may need to be considered during the preservation of the software, where preservation is judged by usability, including:
the numerical output with specified input data
the display of information
the timing of processes
the responses to user inputs
effects on remote objects
Last updated