Embedded Systems Software Development
We develop software for embedded applications using state of the art methods and tools. Embedded development presents greater challenges than conventional applications for a number of reasons:
- The program is often expected to run continuously, and must therefore be very reliable. This need is accentuated since embedded applications often control machinery and may be involved in the management of safety critical systems.
- There may be very limited opportunity for the system to signal when it has encountered a problem, so it must include comprehensive error and exception management capabilities.
- The environment in which an embedded system operates is likely to be difficult. For good economic reasons, the systems involved are likely to have resources optimised for their routine operation, which do not extend to programming support.
The challenges are met using current state of the art development technology, which is undertaken using Model Driven Development (MDD). The UML tool we use, Rhapsody®, was specifically developed to provide support for embedded applications. It provides a range of application frameworks that enable the code it generates to be ported to even the most restricted of operating environments. Such an application's models and code may be tested in a richer development environment before being transferred to the embedded system to iron out a large proportion of the design problems.
We have experience of system development for a range of small devices and applications through Model Driven Development, which can be readily and reliably deployed to assist in your company's product development. Our use of the current best in class tools and techniques provides a highly competitive cost basis for a wide range of embedded systems application development.
We use automation throughout the development lifecycle. It helps to control development costs and increase the reliability of delivered systems by being reproducible. Apart from using MDD, we use tools to create and manage requirements, to manage change (and indeed the development lifecycle) and to automate and gather information about testing.
| Home | Solutions |