|
Benthic Sciences LLP Hi-Grade House, The Street, Acle, Norfolk NR13 3DY, United Kingdom Phone: +44 (0) 1493 753 200 Fax: +44 (0) 1493 753 209 e-mail: mark@benthicsciences.co.uk e-mail: tony@benthicsciences.co.uk |
Software Design Services The bulk of our work is in the design, coding, development and test of software for embedded applications. Typically such applications will control a range of external sensors, input information from these, process it extensively and then use the results to control subsequent operations, all within a critical timescale. Such systems have to react to information as presented, reducing latency to a minimum and often employ a proprietary real time operating system (RTOS). Also, with high integrity applications, safety critical design and test techniques need to be used in order that compliance with a pre-defined Safety and Integrity Level (SIL) can be demonstrated. Design - All software tasks start with the production of design documentation, typically to a standard such as JSP188, and based on the customer specifications. The design method usually used is MASCOT with the Unified Modelling Language (UML) used to visualise, construct and document the artefacts that go to make up the software system.This phase clearly defines all interfaces and affords the ideal opportunity to define the software test requirements and extent. If you wish to evaluate our approach to software design, please follow this link to a recent paper on Safety Critical and High Reliability Software.PDF. Code and Test - Typically software coding for embedded applications is done in C or C++, but we have a wide range of experience from assembler through to windows based systems. Where C or C++ are employed static testing is carried out throughout the code generation phase.If required, dynamic testing in the form of unit test can also be carried out during this stage, as can the demonstration of compliance with any customer specified software metrics. Configuration Management - All software and project documentation is held under a version control system that is compatible with the customers own system. Reverse Engineering - We have extensive experience of reverse engineering software to support legacy systems. |