I am designing an application that allows a user (on a computer) to see interpretations of data that is streaming from an exploratory robot. The design question lies here: I want to add a "mission control" aspect to the application that can create and handle objectives (and obviously keep a running list of objectives) using the information coming from two different input streams: the robots information (say the robot runs into an obstacle, it now has to create an objective to make its way past it), or from the user's input (the user can add or take away objectives, in real time, as well as add priority if they want to override the current objectives so their new one goes first, and so on). How, using oo design techniques, would you choose a design pattern for this "mission control" aspect?
On another note, how would one choose a design pattern for the communications being done between the computer application, the user, the robot, and mission control as well? This project is one I'm taking up as a hobby, and I'm trying to design my first BIG "professional application" (not that I will sell it or anything, I just want to make something that looks and feels professional).
Thanks to whoever made this site, by the way. I'm learning how to expand my programming skills and designing better programs!