A multi-agent model and its speech act theory for cooperative mechanical CAD