Modernizing legacy desktop applications: Re-engineering WinDAM C from VB6 to WinUI 3
| dc.contributor.author | Burugupalli, Samhitha | |
| dc.contributor.author | Neilsen, Mitchell | |
| dc.date.accessioned | 2025-11-17T21:26:42Z | |
| dc.date.available | 2025-11-17T21:26:42Z | |
| dc.date.graduationmonth | December | |
| dc.date.issued | 2025 | |
| dc.description.abstract | This study presents the modernization of the Windows Dam Analysis Modules for Cohesive Embankments (WinDAM C), a key component of the WinDAM suite developed by the U.S. Department of Agriculture–Agricultural Research Service (USDA-ARS) and Kansas State University for simulating breach and erosion processes in earthen embankment dams. The original WinDAM C, implemented in Visual Basic 6 (VB6), was constrained as a 32-bit executable, obsolete deployment methods, and tightly coupled code structures that limited maintainability, interoperability, and accessibility. The principal objective of this work is to re-engineer WinDAM C into a modern, sustainable, and reproducible platform using C# and the WinUI3 framework. The new system adopts a Model–View–ViewModel (MVVM) architecture for clear separation of logic and presentation, integrates the NRCS Engineering Field Handbook Chapter 2 (EFH-2) hydrologic methodology for direct rainfall–runoff generation through WinTR-20 coupling, and employs the WiX Toolset for deterministic deployment without external dependencies. Validation experiments focused on verifying numerical reproducibility and scientific consistency between the legacy 32-bit implementations and the new 64-bit implementations. Batch simulations of ten benchmark WinDAM Control (WDC) projects confirmed that breach hydrograph results remained consistent across both environments, with deviations below 0.05 percent—attributable solely to floating-point precision and rounding differences between 32-bit floats and 64-bit doubles. The modernization effort further establishes a foundation for accessibility and future extensibility. Leveraging WinUI’s native automation, the interface now supports system-wide text scaling, high-contrast adaptation—representing the first step toward Section 508 compliance within the WinDAM suite. Additional forward-looking features include JSON-based input/output for data interoperability with GIS and cloud platforms, and a modular architecture designed for future spatial visualization and expanded hydrologic coupling. Collectively, these advancements transform WinDAM C from an aging desktop utility into a reproducible, maintainable, and extensible research application that preserves the validated USDA-ARS breach-erosion algorithms while unifying hydrologic input generation, simulation, and analysis. Contributions of this work include both a practical tool for dam-safety engineers and a generalizable framework for modernizing legacy scientific software systems. | |
| dc.description.advisor | Mitchell L. Neilsen | |
| dc.description.degree | Master of Science | |
| dc.description.department | Department of Computer Science | |
| dc.description.level | Masters | |
| dc.identifier.uri | https://hdl.handle.net/2097/46989 | |
| dc.language.iso | en_US | |
| dc.subject | WinDAMC | |
| dc.subject | WinUI | |
| dc.subject | VB6 | |
| dc.subject | Legacy | |
| dc.subject | Software modernization | |
| dc.subject | Desktop application | |
| dc.title | Modernizing legacy desktop applications: Re-engineering WinDAM C from VB6 to WinUI 3 | |
| dc.type | Thesis |