SOFTWARE HARDWARE COMMUNICATIONS