Described is a method and system that enables open, non-proprietary and
extensible visualization and modeling tools by providing multiple-way
negotiations between model element end points (nodes) and a connecting
model element (arc). Based on these negotiations, a user is guided to
make appropriate interconnections between model elements. A protocol is
provided for intelligent model elements (objects) to communicate their
information to one another, e.g., an arc communicates its capabilities
and requirements to a node, and vice-versa, whereby the model element
objects themselves decide whether they can interconnect, and if so, how
they need to interconnect. The objects themselves enforce semantics and
rules. According to the protocol, either object can reject the
interconnection (break off the negotiation) with the other object if it
determines it is not compatible with the other object, or is otherwise
unable to connect to it.