Software design as an activity can also be analysed in terms of agents [CJMV93]. In [Klein92][Klein89], the conflicts among design agents (that may be human agents or machine-based agents) can be detected and solved, in a tool aimed at supporting cooperative design.
A model for conflict management and resolution in the software design process is described in [East91].