Techniques
We advise and assist in software engineering and design, especially in medical,
embedded and control applications.
We bring experience in system design to product development by:
-
advising appropriate development methods and strategies
-
using the state of the art
Use Case specification methods
-
assisting in the development of your system specifications
-
creation of UML
models to define the product's architecture
-
generation of
code in the chosen target language (such as C or C++) directly from the
UML models
-
the use of formal methods and provable software to ensure rapid and reliable
development
We use state of the art tools and techniques to ensure that
Medical Devices are developed in compliance with FDA and EU regulations.
We support these services by employing best in market tools, such as IBM Rational/Telelogic DOORS®
for requirements management and IBM Rational/Telelogic Rhapsody® for system modelling. Comprehensive and customised
change management is provided through the use of Clear Case ® and Clear Quest ®. These are further enhanced and
extended by TraceIT®, our own suite of tools.
These tools maintain audit trail information and from which we can automatically create a Design History File and
other regulatory documentation.
The combination of these tools and techniques ensure that time to market is
predictable. Products built around a strong architectural framework may most
readily be taken through a range of releases offering different end user
functionality with minimised support overheads. We publish a range of
whitepapers, which we provide on request.
A Use Case specification is defined by identifying the things with which your
system interacts (called "Actors"). Your system performs a number of services
on behalf of these Actors, which are its "Use Cases". A single Use Case is the
definition of a logical flow of functionality in your system.
UML models are built from Use Cases to analyse the operation of the Use Case.
This provides the analyst insight into what this part of the system shall do.
Correctly written Use Cases are accompanied by test cases, which enable the
analyst to verify that the system modelling and the specification are correct
at a very early stage in the development cycle.
Once the modelling process has proceeded sufficiently, models may be translated
into compilable code. Although it is most convenient to use an Object Oriented
programming language (such as C++ or Java®), this is not essential. Some UML
tools provide the capability of generating code in C for embedded systems to
provide a very strong link between the model and runnable code.