• Es Software, por lo tanto, debe ser modular. • Las interfases entre los módulos deben estar bien definidas• Establecer niveles jerárquicos• Posibilidad de abstracción del HW