I am developing a project to visualize the activities of a robot in a warehouse. There will be a separate program running on the robots and the crossings/roads in the warehouse.
This program will communicate with the GUI running on the PC(the program on the PC visualizes the activities of the robots - movement, placing pallets on shelves etc...).
I am required to implement the project in such a way that a change in the program running on the robots will not affect the program running on the PC (GUI) and vice versa. Or a change on one side must results in a minimum change on the other side. There should not be a major change on one side when new functionalities must be added to the other side.
I need ideas about how to accomplish this.
Thank you very much.