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, 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

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

...

  • :
    • 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

...

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

...

  • 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

...

  • 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)

      ...

      Uitstekende usability van de software B (enkel quickwins)

      Improve table editors

      ...

      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