Skip to main content

NetworkManager Design Documentation

Architecture Overview

NetworkManager is designed as a .NET executable library that interfaces between the database and EPANET water distribution network models. Its primary functionality is to import the contents of water distribution networks from INP files into the database. It provides a robust interface for water distribution network model management, data persistence, and configuration handling.

Technical Specifications

  • Target Framework: .NET 8.0
  • Platform: x64
  • Architecture: Executable Library

Component Architecture

Core Components

  1. Water Distribution Network Model Management

    • EPANET INP file import/export
    • Water distribution network topology handling
    • Element property management
    • Validation rules
  2. Data Access

    • Entity Framework Core integration
    • PostgreSQL database connectivity
    • Data persistence
    • Query optimization
  3. Configuration

    • Settings management
    • Environment configuration
    • Validation rules
    • Dynamic updates

Dependencies

NuGet Packages

  • Microsoft.EntityFrameworkCore (v8.0.7)
  • Microsoft.EntityFrameworkCore.Relational (v8.0.7)
  • Microsoft.Extensions.Configuration (v8.0.0)
  • Microsoft.Extensions.Configuration.Json (v8.0.0)

Internal Project References

  • EpanetWrapper
  • EN2PostgresContext
  • HTModels

Data Flow Architecture

Water Distribution Network Model Management Flow

Data Access Flow

Database Schema

  • Entity Framework Core with PostgreSQL
  • Water distribution network model persistence
  • Data validation
  • Query optimization

Configuration Management

  • JSON-based settings
  • Environment-specific config
  • Dynamic updates
  • Validation rules

Error Handling

  • Exception management
  • Data validation
  • Error logging
  • Recovery procedures

Performance Considerations

  • Query optimization
  • Memory management
  • Resource cleanup
  • Connection pooling

Integration Architecture

  • Clean interface design
  • Data access patterns
  • Configuration management
  • Error propagation

Future Architecture Considerations

  • Additional water distribution network model features
  • Performance optimizations
  • Data management improvements
  • Configuration enhancements