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 Telelogic
DOORS® for requirements management and Telelogic Rhapsody® for system
modelling. Comprehensive and customised change management is provided through the use
of Clear Case ® and Clear Quest ®. These tools maintain audit trail information and
can automatically create a Design History File.
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 JavaTM), 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.