Multiple Arduinos on one USB port

Is there a way to program multiple Arduinos from one USB port? I want to use a Mega as the main board and use it to program two Minis at the start of the program. The two Minis would then act as temperature controllers, reading from a thermocouple every few seconds, switching a heater relay on and off, and I want to keep the Mega program free of needing to perform those checks. I would prefer to only have the one USB to the computer, so I only have to upload one sketch and not need a USB hub or use three USB ports on the computer. If anybody can offer any advice, I would appreciate it!

It would be an epic project but I could see it being possible. The mega's sketch would have to have the slave's sketches embedded as data tables and the mega would have to have a function to act as a ISP programmer on two different set of I/O pins wired to the ICSP pins of the slaves. The mega has a lot of flash space and I/O pins, so I don't see any show stopper in it being possible, but not a project for any but the more experienced C++ programmers. Neat idea.

Even if you have good reason for sparing the Mega of those activities, It is probably simpler to connect the Minis to it via serial cables and dispense with the USB entirely.