Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Heisessie: 1000156.011-000-DSC-0002-m-Uitwerking-Heisessie-Delta-Shell.docx

NGHS 2013

... stable, performance, memory use, transparent file formats

Delta Shell Next

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

----

DeltaShell API stroomlijnen:

, 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

      • 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

      ...

        • )

      ...

      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

      ...

      • TreeNodePresenters

      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

      ...

        • 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