Safety Criteria Flashcards
Define requirements:
Requirements is a description of what a system should do, written from the perspective of a user
Define specification:
Specification is a precise description of what a system or component of a system should do, written from the perspective of a developer of it
How are requirements written?
Requirements are written from the perspective of an outside user.
How are specification written?
Specifications are written in a way that one can verify (using testing or formal verification) whether the system fulfils it or not.
What is requirements specification?
It’s a specification of a system derived from requirements. It makes the requirement precise enough so that one can verify whether the system fulfils it.
What are the requirements of a system?
The descriptions of the services a system should carry out and of the constraints
What are user requirements?
Statements written by the future user of a software product, typically written in natural language or diagrams, of expectations of the system and the constraints it must operate under
What are system requirements?
Precise statements which sets out the system services and constraints in detail.
What is a requirement document?
A document which attempts to describe the requirements of a system in an unambiguous manner.
What typeof requirements might be included in a requirements document?
- Function requirements
- Non-functional requirements
- Domain requirements
- Safety requirements
What do functional requirements describe?
- the functions a system should provide
- how the system should react to particular inputs
- how the system should behave in particular situations
- what the system should not do
What are some function requirements that may be needed for an autopilot system?
- the need to measure acceleration
- the need to compute relative positions
What are non-functional requirements?
Constraints on the services or functions offered by the system e.g.:
- ease of maintenance
- size
- cost
What are domain requirements (Context of Operation)?
These describe the situation in which the system will be used e.g. temperature, education standard of operators
What are safety requirements?
Requirements which ensure adequate safety of a system
What does the safety requirements document set out?
Sets out the safety requirements of a system.
What are the different types of safety requirements?
- functional safety requirements
- non-functional safety requirements
- context of operation
What are functional safety requirements?
Services to be carried out by the system in order to guarantee safety. E.g. turning off a system when temperature exceeds limit
What a non-functional safety requirements?
Other requirements such as reliability and availability
What is context of operation for safety requirements?
Describes the context under which a system is supposed to operate, e.g. the location of a unit, admin who can control the system
What can most accidents in which software is involved be traced to?
Incomplete requirements
What does coding errors effect?
They have more of an effect on reliability and other qualities rather than on safety
Define verification:
The process of verifying that a software product meets its specification
Define validation:
The process of confirming that the specification guarantees the customer requirements AND
The process of confirming that the software product fulfils the customer requirements
What is the validation problem?
The gap between specification and requirements, where we cannot obtain the same level of guarantee as in verification
What is the goal of a specification?
To define in a clear manner, the precise operation of a system
What does a specification include?
- The functionality and performance of a system
- its interaction with other systems
- safety invariants of the system
- constraints of safety invariants on the design
What should an ideal specification be?
- correct
- complete
- consistent
- unambiguous
What are the three problems with natural language specifications?
1) Natural language is often ambiguous
2) Natural language specifications are much longer than mathematical formulations, making it easy to overlook something
3) You cannot apply automatic checks to specifications written in natural language
What is the solution to natural language specifications?
Formal specification languages
What are the two approaches for Formal Specification Languages?
1) Model-based specification languages
2) Algebraic specification languages