Connections can further be restricted by explicit Constraints specifying their multiplicity, for instance. A Connection can only express a relationship between objects contained by the same Model. Note that a Root Model, for example, cannot participate in a Connection at all. In our experience, it is often necessary to associate different kinds of model objects in different parts of the model hierarchy or even in different model hierarchies altogether. References support these kind of relationships well.
References are similar to pointers in object oriented programming languages.
In GME, a reference must appear as a part in a Model. This establishes a relationship between the Model that contains the reference and the referred-to object. References can be connected just like regular model objects. A reference always refers to exactly one object, while a single object can be referred to by multiple References. If a Reference refers to nothing, it is called a Null Reference.