You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

NGHS 2013

... stable, performance, memory use, support for existing plugins

Delta Shell Next

... future release, open-source, flexibility, simplicity, research version

----

DeltaShell API stroomlijnen:

Improve Drag & Drop API
Improve TreeView API
In TreeViewNodePresenterBase::OnCollectionChanged it tries to do 'treeView.Nodes.Remove(node)'; that rarely works!! Should remove from node.Parent.Nodes?
Improve TableView API
add/remove columns is a mess (see ITableView / TableView)
Improve provider logic (finding the best fitting view, properties, ContextMenu, NodePresenter etc. for a type)
Improve IView / IViewContext 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)
Use providers for Importers/Exporters similar to views and nodepresenters (what about property classes?)

Review map editing functionality including topology, interaction, rendering
Create new map layers using ILayerFactory (introduce it!)
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... - always save in the same unit system! SI on-the-fly UI unit conversion)

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

(Niet de outputcoverage gebruiken voor runtime koppeling) - allow user to choose a time step to be used for coupling: 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)

Uitstekende usability van de software B (enkel quickwins)
Improve table editors
Right-click – last item "Properties"

Remove dependencies on IGui from all views

Separate data hierarchy/organisation from data-application. Hierarchy/organisation should be responsibility of IProjectItem (Parent, Children, etc...) - see TreeNodePresenters3

Separate Delta Shell and Plugins (delete ALL direct dependencies between plugins) and use NuGet to manage / develop / deploy Delta Shell and plugins

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)

  • No labels