Implementation of a multi-layered and high-level software architecture to control USB-connected devices.