Designing Models
Creating "good" data model designs is an art rather than a science. Within the context of the IVOA reusing existing recommended models is a prerequisite for a model be considered good.
The initial test as to whether a model is good is to run validation which will point out areas of the design that need to be carefully considered as well as outright errors.
Purpose of the Model
The intended purpose of the model will affect the overall design
- Data Discovery
- Data Labelling
- Data Modelling
Testing serialization.
VO-DML was designed as a modelling language to promote interoperability of textual representations of instances of models. Therefore when designing a model it is important to make sure that the serialization "looks good" i.e. is reasonably "human understandable" as well as the primary aim of being machine readable, which should be guaranteed when using schema generated by the tools.
The java runtime has some functionality for roundtrip testing the various serializations which can be a good first level test as to whether your model is a "good design".