Computer based safety systems - definitions
T/AST/046 - Appendix 2
A2.1 ANIMATION - A system for creating a simulation of a specification such that its behaviour can be observed in real time.
A2.2 ASSERTION - A condition inserted into a program where failure to satisfy during execution or analysis indicates an error.
A2.3 ASSEMBLER LANGUAGE - A computer programming language based on mnemonics which have a one to one correspondence with the computer's instructions. Assembler language is the most difficult language in which to write computer programs.
A2.4 BIT - The binary digit 0 or 1 used by computers to represent data or instructions.
A2.5 CASE - Computer Aided Software Engineering is a generic term to describe software systems used to specify, design, code, test, modify and document computer programs. Software Engineering is the process of specifying etc. computer programs using formal procedures and techniques designed to reduce errors and improve program structure.
A2.6 CODE - The individual instructions or statements of a computer language.
A2.7 COMPILER - A computer program used to translate a higher order language program into its relocatable [i.e. containing addresses relative to the start of the module] or absolute [i.e. the actual addresses] machine code equivalent.
A2.8 COMPILATION - The process of translating a high level programming language into instructions that can run a computer.
A2.9 DIVERSITY [SOFTWARE] - The provision of dissimilar means of achieving the same objective. The introduction of diversity in any aspect of a system or its manufacture/ production will reduce the likelihood of common mode failures. Systems can be considered as having varying degrees of diversity according to the number of these different aspects which have been achieved by dissimilar means. Diversity in software covers the computer instruction set but also the programming language, support software, design, and all staff involved in the life cycle. Where a claim is made that very high reliability has been achieved through software diversity then it must be shown that dissimilar means have been employed in all aspects of the system and its manufacture/production. Any divergence from this should cause the claim to be down rated.
A2.10 DATA RATE - The speed with which information can be transmitted along the chosen path. For example, the data rate along a coaxial cable could be referred to as 10 Mbits per second.
A2.11 DEFENSIVE PROGRAMMING - Incorporation of mechanisms into a program that detects and respond in a predetermined safe manner to erroneous data values and control flow, i.e. program logic.
A2.12 EFFICIENCY - The extent to which a program performs its intended functions with a minimum of consumption of computing resources, including computing time. Efficient use of computing time is an important consideration in systems responding to external processes and events.
A2.13 FAULT TOLERANT - The ability of a software system to operate in a predetermined safe manner in the presence of a limited number of hardware or software faults.
A2.14 FIRMWARE - computer programs and data loaded in a class of memory that cannot be dynamically modified by the computer during processing.
A2.15 HARDWARE - The physical components that make up a computer system.
A2.16 HARD WIRING - A system design method where each signal path is dedicated to a single parameter or function.
A2.17 HIGH LEVEL PROGRAMMING LANGUAGE - A set of instructions for a computer which are more closely related to English and therefore can be more easily understood. BASIC is such a high level programming language.
A2.18 IMPLEMENTORS - That organisation or part of an organisation, whose responsibility is to take a design specification and produce an operational finished article. As opposed to the Designers who use the requirements specification to produce a design specification.
A2.19 INTERRUPT - The process whereby a sequence of instructions is terminated and a another sequence is executed. Upon completion of the second set, control is returned to the first set at the point of interruption. This operation is regarded as dangerous in safety related software since parameters can be updated by the interrupting program only to be changed by the interrupted program.
A2.20 LOADER - A computer program that reads an object program or its data into the main storage area.
A2.21 LINKER - A computer program used to create one load module from one or more independently translated object modules by resolving cross references among the object modules and possibly relocating elements.
A2.22 PEAK DATA LOADS - The maximum rate of data production requiring handling by a system. For example, large amounts of data could require handling during an accident.
A2.23 PROGRAM - A set of computer instructions which perform a particular function.
A2.24 RE-ENTRANT ROUTINE - An interrupt called routine that is already running at the time of the interrupt. (A re-entrant routine is also recursive.)
A2.25 RECURSIVE ROUTINE - A routine that may be used as a sub- routine of itself, calling itself directly, or being called by another sub-routine, that it itself has called.
A2.26 SAFETY AUTHORITY - That organisation or part of an organisation, which is independent from all others involved in the software lifecycle, and is responsible for ensuring that the safety requirements of the design are achieved.
A2.27 SAFETY SYSTEM - A system which acts in response to a fault to prevent or mitigate a radiological consequence.
A2.28 SAFETY RELATED - An item important to safety that is not part of a safety system.
A2.29 SAFE SUB-SET - The sub-set of instructions from the total set of a programming language which can be regarded as amenable to static analysis and perform the same operation regardless of context.
A2.30 SOFTWARE LIFECYCLE - All stages from conception to final disposal through which a software product passes.
A2.32 TIMING BUDGET - The time allocated for the completion of a particular process or procedure.
A2.33 VALIDATION & VERIFICATION – Validation; The process of testing and evaluation of the integrated computer system (hardware and software) to ensure compliance with the functional, performance and interface requirements. Verification: The process of ensuring that a phase in the system life-cycle meets the requirements imposed on it by the previous phase.
A2.34 VALIDATABILITY - The extent to which a computer-based system can be shown to conform to its requirements specification. Consideration should be given to the facility with which analysis of the requirements to establish test criteria and evaluation against those criteria can be performed.
A2.35 VARIABLE - A parameter within a program whose value will be change by the action of the program. A declared variable is specified at the beginning of a program as being used. It is also characterised at this stage. This process reduces the likelihood of errors.
A2.36 VOLUME OF STORED DATA - The maximum amount of data to be stored over a system's operational life

