Software Architecture & Design
Even for the relatively small software projects encountered in embedded systems a good architecture maximizes the value for money over the product life cycle.
In medium sized and large projects architecture is the key to success! This is particularly true for distributed systems, towards which today many embedded systems are evolving.
Analysis/ Specification
We analyze your problem and define the interfaces within the software. Key criteria are for example:
- simple, stable interfaces
- optimal allocation on the available computers/ processors
- useful distribution of modules to the internal and external developer teams
- reuse of existing components (from existing products, open-source libraries and Solcept's own libraries
We specify all interfaces and modules.
Interaction with Hardware
The perfect interplay between hard- and software in architecture and design is crucial for embedded systems. All our software developers have experience in electronics design in order to assure a perfect interaction between software and hardware and also with the hardware design team.
Additional Benefits from Modularity
Modularity and hardware-abstraction allow us to execute complete embedded systems not only on the target hardware, but also on a desktop PC. The simulation of the hardware on a PC enables us to manually and automatically test the software without the constraints of the physical hardware.
These constraints could be that the hardware is not ready yet, that the system to be controlled exhibits very long time constants, that possible operation and fault scenarios are difficult to be generated and many more.
In addition the rapid prototype of the user interface on a PC allows us to get feedback from the market and end user in an early project stage.