Heisessie: 1000156.011-000-DSC-0002-m-Uitwerking-Heisessie-Delta-Shell.docx
NGHS 2013
... stable, performance, memory use, support for existing plugins
Delta Shell Next
... future release, open-source, flexibility, simplicity, research version
----
DeltaShell API stroomlijnen:
...
transparent file formats, documented (API)
- Improve API:
- Drag & Drop
- TreeView
- TableView (add/remove columns is a mess (see ITableView/TableView))
- Remove IGuiView (remove dependencies on IGui from all view)
- Improve
...
- /add provider logic for finding best fitting (i.a.w. most specific) type
- View provider
- Property provider
- Context menu provider (still needs to be implemented)
- Node presenter provider (actually "TreeView"/)
- Importers/exporters (still needs to be implemented)
- Improve property grid:
- Support for dynamic property hiding (just like dynamic read only)
- Support for property ordering (fix PropertySorter)
- Make ExpandableArrayConvertor part of framework
- Improve IView/IViewContext/ViewManager API:
- View creation / resolving logic (double-click on item opens view for parent>parent>parent object but can also open view for this object),
...
- currently it is too implicit (CreateView changes view.Data to a different object and Delta Shell should check it)
- Clean-up database and remove duplicate classes (Delta Shell)
- Introduce support for file-based models at framework level:
- Use per-model directory in project data folder
- Rely on IFileBased for all file-based model items
- Keep model data directory in-sync with Project
- Eliminate custom "working" directories
- Improve performance:
- Minimize number of GetAllItemsRecursive calls
- Context menu:
- Possibility to hide "Import"/"Export" items
- "Properties" items should always be the last item
- Separate Delta Shell and Plugins (delete ALL direct dependencies between plugins) and use NuGet to manage / develop / deploy Delta Shell and plugins
- Improve ProjectItemMapView viewcontext (using custom ProjectItemMapLayer that doesn't save datasource)
Delta Shell Next
... future release, open-source, flexibility, simplicity, research version Use providers for Importers/Exporters similar to views and nodepresenters (what about property classes?)
- Review map editing functionality including topology, interaction, rendering
...
- :
- Eliminate need for custom map tools such as HydroNetworkEditorMapTool
- Move common controls (such as Map Contents, Layer Properties Dialog, Attribute Editor) to SharpMap.UI
- Fix working with units
...
- :
- System-wide
...
- support for units
...
- Units for properties, variables, etc.
...
- Change current units for variables
...
- Note: always save in the same unit system
...
- . SI on-the-fly UI unit conversion
...
- Improve model coupling:
- Don't use output coverages (which are filled on an output time step basis and not on a simulation time step basis) for coupling: allow users
Clean-up database and remove duplicate classes (Delta Shell + SOBEK 3.1 plugins)
Introduce support for file-based models at framework level
Use per-model directory in project data folder
Rely on IFileBased for all file-based model items
Keep model data directory in-sync with Project
Minimize number of GetAllItemsRecursive calls
...
- to choose a time step to be used for coupling
...
- and fix it in model wrappers / SOBEK .py coupling script
...
- Enable coupling with online data
...
- sources (both static and dynamic),
...
- for example HYMOS, OpenDAP, KNMI, etc.
...
- This coupling is relevant (and so should be suitable) when it comes to FM prototype, DelftDashboard/DeltaShell, BMI voor Matlab wrapping, Fews-modellen in DeltaShell, Scripting
...
- .
- Data structures for measurements
- Automatic generation of model schematizations using existing data (online, local GIS files, etc.)
...
- Web: Delta Shell as a webservice (share existing schematizations, allow selection using map, define boundary conditions, run model
...
- )
...
- Separate data hierarchy/organisation from data-application. Hierarchy/organisation should be responsibility of IProjectItem (Parent, Children, etc...) - see
...
- TreeNodePresenters
- Extend DataItems to exchange values only when it is asked
...
- . This is a minimal requirement for parallel (asynchroneous) model runs.
- Keep
...
- time info in mind
...
- Note: Improves performance of all models (including coupled ones => profile RTC + FLOW
...
- : implicitly will be solved by slit of
...
- “data item set / exchange
...
- value”)
- Bubbling of CollectionChange and PropertyChange must happen automatically in ModelBase, derived models
...
- and functions:
- ModelBase OnInputCollectionChange and OnInputPropertyChange etc should work on ALL aggregated and composed items of the model
- Model vs.
...
- model run:
- Functional requirement: scenario / version / run of model (light-weight) input + output (HARD TO IMPLEMENT FOR NOW – LONG TERM)
- Generalize import/export (wizard) logic:
- "File column" to "Data property" matching and vice versa
- Ability to specify a custom separator (in case of csv)
Suggestions by Pieter van Geer
- Move UserControlValidationManager to framework
- Move ShowModalWithTimeNavigator in MorphAnTestHelper to general TestHelper