NGHS 2013
... stable, performance, memory use, 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 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
Delta Shell Next
... future release, open-source, flexibility, simplicity, research version
- 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 sypport 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 to choose a time step to be used for coupling and fix it in model wrappers / SOBEK .py coupling script
- Koppelingen met bestaande online data bronnen (statisch en dynamisch), bijvoorbeeld HYMOS, OpenDAP etc. – LOBBY IT! (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.)
- Webtoepassingen: 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
- Hoge performance van alle modellen (inclusief gekoppelde) - 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, 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)