Here is a brief overview of the system:
Hardware:
Standard cubic frames in 500mm and 1000mm sizes will initially form the frames for several small CNC machines.
Each frame can be connected to other frames by fasteners and plates initially, and ideally, in the future, by externally powered mechanical latches.
Each frame will contain (in the upper 30% of the cells height) the hardware, electrical wiring, and electronics necessary for a particular step in the manufacturing process.
Example: CNC Router
Example: Vacuum Former
In the lower 20% of a cells height will be a pallet transporter equipped with lockdowns where needed, it is expected to use 350mm pallets in the half meter cells and 750 mm pallets in the 1 meter cells.
Each cell, regardless of its internal communications architecture will use EtherCAT (industrial Ethernet) to communicate with the outside world.
Example: the serial Sanguino is used for the prototype 3 Axis CNC cell, serial over IP will link it with its controller.
Chaining multiple cells together will form "Lines", (think "production lines") that can handle multiple operations in sequence with one or more steps occurring in each cell as the workpiece passes down the line.
As time passes and more cell designs are built, I expect the overall sophistication of these solutions to increase.
Software
Software to manage individual cells is readily available, from the simple G-code interpreter on the Arduino to the EMC control software with multiple axis interpolation in addition to low cost commercial products such as Mach3 and others.
Software to co-ordinate operations across multiple cells is plentiful in high end production management environments, but at present I am un-aware of any equivalent available open source.
So, in light of this, I have started a Source Forge project to begin addressing this issue (if you are a programmer with knowledge in this area and are interested in helping to solve it - don't be shy, let us know)
I do not believe reinventing any of the functionality of the control packages mentioned above is required, since the supervisors primary task will be to collect status from each cell, schedule, or pause, or halt cells as neccesary to manage flow, respond to cells reporting errors, and distribute Gcode. This will be a complex problem to solve, but I think the harder machine control task is already complete and I look forward to working toward the solution to this phase of things.
As this type of system matures we all get richer due to our access to these high end capabilities at the low cost of open source.