A Discrete-Event System Approach to Multi-Agent Distributed Control of Container Terminals