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.