Tool converts .NET computational models to run in browsers

Backend-Frontend Converter: Component-Based Conversion of .NET Computational Models to TypeScript

Computation and LanguageSoftware Engineering

Summary

Many complex calculations made in .NET need to work inside web browsers, which use a different programming language called TypeScript. The authors built a tool called Backend-Frontend Converter that automatically turns these .NET model parts into TypeScript code so they can run locally in browsers. They tested the converted models on space orbit and trading examples, showing the results matched very closely with the original .NET outputs. This allows web applications to perform heavy calculations without relying on servers.

What this means in practice

  • For web application developers: Create local web apps that integrate complex .NET models with high accuracy, enabling offline or client-side computation.
  • For financial technology teams: Run trading strategy models originally built in .NET directly in browsers while maintaining precise output alignment for analysis and visualization.

Authors

Petr Ivankov, Max Shestov

Abstract

Computational models developed in .NET often need to run locally within web applications. We present Backend--Frontend Converter, an architecture for generating TypeScript implementations of component-based models. The converter maps components, connections, aliases, and formula trees to model-specific TypeScript code. Reusable runtime libraries provide numerical integration, data access, and state handling. We evaluate stored generated implementations through four orbital scenarios and a recorded trading-strategy comparison. Orbital calculations execute in a browser and are paired with C\# results by crossing event and timestamp; trading outputs are aligned by date. Analytic scheduler tests and deliberately perturbed outputs assess the validation procedure. Each orbital scenario produces 91 paired events with identical timestamps. Position and velocity differences remain below $(10^{-6}\)~km$ and $(10^{-9}\)~km/s$. All 20 analytic scheduler checks pass, and the comparator detects each of three prescribed state and time perturbations. The trading comparison contains 501 aligned daily records with matching indicator values, positions, and order events. The evaluated implementations preserve the compared outputs across the C#/TypeScript boundary. Component-specific generation and reusable execution libraries provide a practical route from supported .NET computational models to TypeScript applications.