I have found that using a general reference type to refer to any type of (document-level) object makes the design of libraries to implement the specification more complex as it is often required to open up references as they are added and check what type they are. Therefore I think it would be simpler if there was a specific reference type for each element that can be referred to i.e.:
DynamicsReference
DynamicsPropertiesReference
DynamicsStateReference
ConnectionRuleReference
ConnectionRulePropertiesReference
RandomDistributionReference
RandomDistributionReference
PopulationReference
ProjectionReference
SelectionReference
NetworkReference
and if #109 is accepted
UnitReference
DimensionReference
This would also make the serialised files more easy to visually parse, especially for elements such as the Network class where populations and projections are mixed in together, and would simplify the specification where they appear (and allow it to be represented in XML schema).
I have found that using a general reference type to refer to any type of (document-level) object makes the design of libraries to implement the specification more complex as it is often required to open up references as they are added and check what type they are. Therefore I think it would be simpler if there was a specific reference type for each element that can be referred to i.e.:
and if #109 is accepted
This would also make the serialised files more easy to visually parse, especially for elements such as the
Network
class where populations and projections are mixed in together, and would simplify the specification where they appear (and allow it to be represented in XML schema).