1st International Congress on Environmental Modelling and Software - Lugano, Switzerland - June 2002
Keywords
introspection, model metadata, net, icms, time
Start Date
1-7-2002 12:00 AM
Abstract
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 parameters (eg. between 0 and 1, or greater than 0) or aliases (eg. rainfall, also known as precipitation). Introspection in these environments allows tool developers to write programs and other components that make use of these metadata to provide generic model processing tools, while allowing model developers to take advantage of these tools without additional development effort. Typical model processing tools include model integration systems, parameter optimisers, automatic user interface generation and automated IO. One approach to implementing model introspection and metadata, used by the Interactive Component Modelling System (ICMS), is to extract information from a model when compiling a custom modelling language. An alternate approach, being evaluated in a new framework, relies on the language independent introspection provided by the .NET environment. These uses of introspection streamline model development within modelling frameworks, reducing the effort required to take advantage of other framework capabilities, such as dynamic visualisation.
Making Frameworks More Useable: Using Model Introspection and Metadata to Develop Model Processing Tools
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 parameters (eg. between 0 and 1, or greater than 0) or aliases (eg. rainfall, also known as precipitation). Introspection in these environments allows tool developers to write programs and other components that make use of these metadata to provide generic model processing tools, while allowing model developers to take advantage of these tools without additional development effort. Typical model processing tools include model integration systems, parameter optimisers, automatic user interface generation and automated IO. One approach to implementing model introspection and metadata, used by the Interactive Component Modelling System (ICMS), is to extract information from a model when compiling a custom modelling language. An alternate approach, being evaluated in a new framework, relies on the language independent introspection provided by the .NET environment. These uses of introspection streamline model development within modelling frameworks, reducing the effort required to take advantage of other framework capabilities, such as dynamic visualisation.