Technical Design
Finally, the technical design should provide an overview of the solution’s software architecture, hardware design, and technical infrastructure.
Software Architecture
The software architecture should define the key software components and their dependencies:
- On-asset OS/firmware, application container, and middleware
- Backend OS, application container, and middleware (such as messaging, BPM, or BRM)
- Database technologies and libraries
- Identity management, security technologies, certificate management, etc.
- Important software libraries and open-source components
- Infrastructure for software updates on the assets
- Development tools
Hardware Design
The hardware design should focus on those elements that are specific to the IoT solution – usually the on-asset hardware. The typical level of detail in this stage should cover:
- On-asset hardware, such as a gateway consisting of the following elements: CPU, memory, local interfaces, cellular modem, local wireless connectivity, antenna, casing, distributed sensor nodes, etc.
- Position and mounting on the asset
- If distributed sensor nodes are deployed, the position and mounting of these nodes on the asset also
In case of custom hardware development, the next level of detail in the hardware design would address the main components, e.g. CPU, memory, power supply, digital I/O, communication modules, etc. The diagram below shows an example for the design of the main board of a telematics unit for the eCall service, as described in the introduction.
Technical Infrastructure
The design of the technical infrastructure will be highly specific to the individual solution and, in particular, to the network infrastructure used. An example from Alcatel-Lucent can be seen in the diagram below (TBD: Reference).