In "safety and/or mission critical" applications, software implementation requires special strictness and involves the application of various methods, techniques and rules. The rules usually applicable to this kind of software (in the literature, depending on the case, it is called high integrity software, or software in safety) contain a set of requirements that give suggestions, or at least guide the choice of the most suitable methods and techniques for the implementation of the software in safety.
Methodologies and implementation techniques are highly dependent on the application context, so it is difficult to find general guidance in all contexts, except for a few "golden" rules, but some of them are however only suitable for safety related applications. The correct and reasonable application of the standard requirements, therefore, in addition to a consolidated know-how, requires extensive experience acquired directly on the field with the implementation of many “safety / mission critical” applications.
HINTSW - T & T Systems has the ability to implement software in accordance with the general and field standards related to functional safety of programmable electronic systems, and in accordance with the safety requirements and architecture and detailed design documents self-implemented or done by third parties.
Software made by HINTSW - T & T Systems is implemented following precise encoding rules (coding standard) depending on the programming language; forms created meet the criteria of simplicity, testability and modifiability required by the standards; in particular, software is developed to meet the following objectives:
- create a software whose architecture meets the instantiated requirements for software security;
- create a software incorporating the requirements and limits imposed by the hardware architecture, including the consequences of HW/SW interactions about safety of the controlled system;
- allow the use of a set of development tools, including languages and compilers, which facilitate the activities of verification, validation, assessment and modification; this usually involves a proper code instrumentation to properly integrate it with the tools of development and testing;
- create a software that meets the security requirements of the software, that is easy to analyze, verifiable and that is safely editable;
- provide the tools so that you can easily and safely check that all the software safety requirements, both in terms of required safety functions, and in terms of safety integrity, have been met.
Furthermore, HINTSW - T & T Systems, in the definition of software architecture and in modules design, is able to use all the main techniques indicated by the standards relating to the functional safety, for example:
- strongly typed languages and safety-oriented ones (such as ADA), or use of appropriate subsets of languages of common use (for example C or C ++);
- Programming for unverified assertion (Failure assertion programming);
- Diverse programming;
- Recovery mechanism with retries;
- Storage of use cases;
- Graceful degradation;
- Defensive programming;
- Structured methods;
- Semi-formal methods.