Software development tasks:
Low-level software
Drivers
Middleware
Hardware abstractions layers
Applications
User interfaces
CAS integration
Third-party middleware integration
OS port