Services

We provide embedded system software development and testing services across a wide variety of application domains. Even if you don’t see your precise needs covered in these pages, please contact us and find out how we may be able to help you.

Requirements Definition

The first stage in the process of developing an embedded system is understanding what the system is supposed to do. System requirements must be carefully defined and analyzed to ensure that no requirements are contradictory or lead to an infeasible system concept.

System Design

Given a sufficient set of system requirements, the design process begins. Much of this task involves choosing among potentially many viable approaches for building a system that satisfies the requirements. Each design decision must factor in both the immediate effects of each choice and the long term ramifications for system sustainment.

System Simulation

When working with a system that does not yet exist in an operable form, it is often beneficial to develop simulations of the entire system or selected components. These simulations can be used to refine the design and evaluate alternatives. Simulations can enable progress on some aspects of system development (such as software development) before a hardware implementation exists. Simulation development and validation requires a careful engineering approach to ensure the simulation is an adequate representation of the real system.

Hardware and Software Development

This task results in the implementation of the system design. To ensure the development progress remains on track for success, there must be ongoing testing to ensure the implementation satisfies the requirements and reflects the planned design.

Testing

Testing must take place at multiple levels throughout the development process. Software should be tested at the unit level as part of daily development activity. As software components are merged into functional capabilities, tests must be designed to evaluate the higher level of integration. It must be possible to conduct testing in an automated manner throughout the development and sustainment cycle. Where appropriate, bench test systems should be developed and used on a regular basis to ensure newly implemented capabilities are functioning properly and the existing capability undergo regression testing.