Several modern development environments allow executable components, such as hydrologic models, to carry Metadata describing the properties and capabilities of the components. These metadata may be restricted to the names of properties, and their respective data types, or may extend to other information, such as classification of properties (eg. input or output), numeric constraints on paramete...