A Multi-Agent Architecture for Job Shop Production Scheduling and Control