Safety Critical Systems

When developing software for safety critical applications a strong design process is paramount. We employ methods and techniques that resolve the conflict between speed and compliance.

Process

Safety critical development is controlled by regulation. For high integrity applications we employ a development process which may be traced exactly to the requirements of the standard to be used. We have developed the TraceIT® Quality Process which has been made available for our customers. A version that is fully compliant with ISO EN-62304 for Medical Device software development is available from us now.

Change control

In safety critical applications, it is important to ensure that any changes have been made with due consideration. Clear responsibility for detailed changes should be recorded alongside descriptions of what was changed. Automated systems greatly assist in enforcing that an agreed process is followed precisely and that full records of change are obtained.

Use of Models

Models produced using the best tools available enable both automatic generation of code and early evaluation of the system under development. These factors make model-driven development part of best practice technique by improving reliability and reducing time to market.

Hazard analysis

Hazard analysis is essential in all safety critical sectors. The hazard analysis must be constructed in correspondence with and traceable to each element of specification. Risks which have been mitigated by risk control measures must be identified and traced.

Traceability

Models provide the hooks that permit complete traceability from specification through to implementation. Without using models such tracing is so laborious as to be very unlikely ever to be achieved thoroughly. Moreover, paper-based tracing becomes even more difficult to manage and maintain through change.

Tool controlled tracing provides an automated means for the detection and analysis of the impact of any proposed change. This provides complete linkage between specifications, their associated risk analyses and test cases, the analysis and design models and the implemented code that runs in the product.

Testing

By using a powerful modelling tool we enable verification to be carried out at all stages of the development process. Not only is this activity necessary for regulatory compliance, it also ensures early identification of problems thus reducing business risk.

Validation ensures that the system under development meets its high level requirements fully and that there are no additional unspecified "features". Tracing of requirements to implementation is the fundamental activity that underlies any validation process.

Thorough testing of code, automated to ensure repeatability and employing tools which ensure that the code has been completely covered by the tests, is essential when developing safety critical systems. Please see our page on software testing for more details.

To ensure that a product is developed appropriately we use rigorous processes, backed up by best in market tools and techniques. These methods allow flexibility and sound decision guidance throughout the development lifecycle.

Please contact us to discuss your needs for reliable, cost-effective software development for safety critical and other high-integrity business applications.