## GeoDMS

The Geo Data and Model Server (GeoDMS) framework consists of:

- An
**Engine**(set of dll's written in C++) to control and calculate data, model results and scenarios. - A
**GUI**(GeoDmsGui.exe, written in Delphi) for interactive viewing and tracing of (meta)data, model configurations and results. - An executable (GeoDmsRun.exe written in C++) to calculate results from a
**command line**or**batch**file.

The GeoDMS is developed for research and modeling environments and useful for multiple decision, discussion and policy support systems. The GeoDMS contains much functionality to calculate and view spatial (related) data.

The GeoDMS is the result of many years experience in the development of decision support systems and the resulting knowledge on shortcomings of alternative frameworks.

## Focus

The main focus of the GeoDMS is on a controlled and efficient calculation process. It therefore contains a powerfull set of functions & operators, but also attention has been given to:

- the description of data and it's sources;
- an efficient mechanism to determine how and when results need to be calculated;
- the control of the status of (in between) results;
- the management of units to keep modeling steps consistent and prevent modeling errors;
- breaking up the 'black box' concepts of models by configuration calculations in clear, atomic calculation steps, using meta information and a clear visualisation of the calculation logic;
- the visualisation of spatial (related) data in different map layer types;
- the visualisation of attribute data in tables;

The reasoning behind developing the GeoDMS is: Results sec are not enough. It is just as important to inform how results are generated, by presenting:

- which input data is used;
- which assumptions are made in the model;
- which calculation steps are performed.

## Repeatability

An important condition for this reasoning is the repeatability of calculations. Within the GeoDMS identical calculations can be executed when input parameters are changed and results are requested. The GeoDMS controls which (in between) results are still valid and which results need to be recalculated, guaranteeing:

- the user always valid results also if changes have occurred in the source data/parameters;
- calculations are peformed efficiently.

To execute calculations in the GeoDMS, expressions are configured to data items. In expressions functions & operators are used to configure the actual calculation steps. A scala of basic functions & operators can be used within the GeoDMS. These functions & operators can be applied for mathematical, statistical, relational, geographic, grid and textual operations.

Except from calculations configured in expressions, the GeoDMS can also be used to execute external components (model or calculation components implemented in another modeling or programming environment). This can be useful if much time has been spent on the implementation of an external component or if operations can only be performed in another environment. Be aware that much of the strength of the GeoDMS is lost if substantial parts of a model are implemented in external components.