Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
66 lines (64 loc) · 166 KB
/
Copy pathindex.html
File metadata and controls
66 lines (64 loc) · 166 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>ModelScript — The Open Computable Digital Thread for Engineering</title>
<meta name="description" content="Free, open-source toolchain that imports 44 simulation and CAE formats, links them to requirements, and lets you simulate, verify, and export — in the browser, CLI, or VS Code.">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.T63K_7mG.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.ytiMw3SA.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.D4OQpVPa.js">
<link rel="modulepreload" href="/assets/chunks/framework.OnpWQ13d.js">
<link rel="modulepreload" href="/assets/index.md.Y49GSE7Z.lean.js">
<link rel="icon" href="/favicon.ico">
<link rel="icon" type="image/png" href="/ms-logo.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap">
<meta name="theme-color" content="#0a0f1c">
<meta name="keywords" content="Modelica, simulation, modeling, open-source, compiler, DAE, ODE, GLR, WebAssembly, AssemblyScript, VS Code, ModelScript, systems engineering, differential equations, digital thread, computable digital thread, Modelica Standard Library, MSL, SysML, CAD, STEP">
<meta name="author" content="Mohamad Omar Nachawati">
<meta property="og:site_name" content="ModelScript">
<meta property="og:type" content="website">
<meta property="og:image" content="https://modelscript.org/ms-logo.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://modelscript.org/ms-logo.png">
<meta name="robots" content="index, follow">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"ModelScript","applicationCategory":"DeveloperApplication","operatingSystem":"Any","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"description":"Free, open-source computable digital thread for polyglot engineering and simulation — compiler, simulator, optimizer, language server, and multi-domain theory coordinator.","url":"https://modelscript.org","license":"https://www.gnu.org/licenses/agpl-3.0.html","author":{"@type":"Person","name":"Mohamad Omar Nachawati"}}</script>
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"dark",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
<link rel="canonical" href="https://modelscript.org/">
<meta property="og:url" content="https://modelscript.org/">
<meta property="og:title" content="ModelScript — The Open Computable Digital Thread for Engineering">
<meta property="og:description" content="Free, open-source toolchain that imports 44 simulation and CAE formats, links them to requirements, and lets you simulate, verify, and export — in the browser, CLI, or VS Code.">
<meta name="twitter:title" content="ModelScript — The Open Computable Digital Thread for Engineering">
<meta name="twitter:description" content="Free, open-source toolchain that imports 44 simulation and CAE formats, links them to requirements, and lets you simulate, verify, and export — in the browser, CLI, or VS Code.">
</head>
<body><!--teleport start anchor--><!----><!--teleport anchor--><!--teleport start anchor--><!----><!--teleport anchor--><!--teleport start anchor--><!----><!--teleport anchor--><!--teleport start anchor--><!----><!--teleport anchor-->
<div id="app"><div class="Layout" data-v-c4daae71><!--[--><!--]--><!--[--><span tabindex="-1" data-v-17ad389b></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-17ad389b>Skip to content</a><!--]--><!----><header class="VPNav" data-v-c4daae71 data-v-a46e73f0><div class="VPNavBar" data-v-a46e73f0 data-v-bb7529ee><div class="wrapper" data-v-bb7529ee><div class="container" data-v-bb7529ee><div class="title" data-v-bb7529ee><div class="VPNavBarTitle" data-v-bb7529ee data-v-5622a072><a class="title" href="/" data-v-5622a072><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="/ms-logo-light.png" alt="ModelScript" data-v-4d414b82><!--]--><!--[--><img class="VPImage light logo" src="/ms-logo.png" alt="ModelScript" data-v-4d414b82><!--]--><!--]--><!--]--><span data-v-5622a072>ModelScript</span><!--[--><!--]--></a></div></div><div class="content" data-v-bb7529ee><div class="content-body" data-v-bb7529ee><!--[--><!--]--><div class="VPNavBarSearch search" data-v-bb7529ee><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-bb7529ee data-v-5bacfe89><span id="main-nav-aria-label" class="visually-hidden" data-v-5bacfe89> Main Navigation </span><!--[--><!--[--><div class="ms-mega" data-v-5bacfe89 data-v-ac3b02ad><button type="button" class="mega-trigger" aria-haspopup="true" aria-expanded="false" aria-controls="ms-mega-panel-industries" data-v-ac3b02ad><span data-v-ac3b02ad>Industries</span><svg class="ms-icon mega-chevron" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-ac3b02ad data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="m6 9 6 6 6-6"/></g></svg></button><!--teleport start--><!--teleport end--></div><!--]--><!--[--><div class="ms-mega" data-v-5bacfe89 data-v-ac3b02ad><button type="button" class="mega-trigger" aria-haspopup="true" aria-expanded="false" aria-controls="ms-mega-panel-platform" data-v-ac3b02ad><span data-v-ac3b02ad>Platform</span><svg class="ms-icon mega-chevron" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-ac3b02ad data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="m6 9 6 6 6-6"/></g></svg></button><!--teleport start--><!--teleport end--></div><!--]--><!--[--><div class="ms-mega" data-v-5bacfe89 data-v-ac3b02ad><button type="button" class="mega-trigger" aria-haspopup="true" aria-expanded="false" aria-controls="ms-mega-panel-languages" data-v-ac3b02ad><span data-v-ac3b02ad>Languages</span><svg class="ms-icon mega-chevron" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-ac3b02ad data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="m6 9 6 6 6-6"/></g></svg></button><!--teleport start--><!--teleport end--></div><!--]--><!--[--><div class="ms-mega" data-v-5bacfe89 data-v-ac3b02ad><button type="button" class="mega-trigger" aria-haspopup="true" aria-expanded="false" aria-controls="ms-mega-panel-docs" data-v-ac3b02ad><span data-v-ac3b02ad>Docs</span><svg class="ms-icon mega-chevron" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-ac3b02ad data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="m6 9 6 6 6-6"/></g></svg></button><!--teleport start--><!--teleport end--></div><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://modelscript.org/playground" target="_blank" rel="noreferrer" tabindex="0" data-v-5bacfe89 data-v-8dbce4d0><!--[--><span data-v-8dbce4d0>Playground</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-bb7529ee data-v-123fcb2f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="true" data-v-123fcb2f data-v-fa1daf57 data-v-7012e5dd><span class="check" data-v-7012e5dd><span class="icon" data-v-7012e5dd><!--[--><span class="vpi-sun sun" data-v-fa1daf57></span><span class="vpi-moon moon" data-v-fa1daf57></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-bb7529ee data-v-08b35e6f data-v-f2234a39><!--[--><a class="VPSocialLink no-icon" href="https://github.com/modelscript/modelscript" aria-label="github" target="_blank" rel="noopener" data-v-f2234a39 data-v-fbf39218><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://www.npmjs.com/org/modelscript" aria-label="npm" target="_blank" rel="noopener" data-v-f2234a39 data-v-fbf39218><span class="vpi-social-npm"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-bb7529ee data-v-0c845e5d data-v-40e55da0><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-40e55da0><span class="vpi-more-horizontal icon" data-v-40e55da0></span></button><div class="menu" data-v-40e55da0><div class="VPMenu" data-v-40e55da0 data-v-39eca401><!----><!--[--><!--[--><!----><div class="group" data-v-0c845e5d><div class="item appearance" data-v-0c845e5d><p class="label" data-v-0c845e5d>Appearance</p><div class="appearance-action" data-v-0c845e5d><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="true" data-v-0c845e5d data-v-fa1daf57 data-v-7012e5dd><span class="check" data-v-7012e5dd><span class="icon" data-v-7012e5dd><!--[--><span class="vpi-sun sun" data-v-fa1daf57></span><span class="vpi-moon moon" data-v-fa1daf57></span><!--]--></span></span></button></div></div></div><div class="group" data-v-0c845e5d><div class="item social-links" data-v-0c845e5d><div class="VPSocialLinks social-links-list" data-v-0c845e5d data-v-f2234a39><!--[--><a class="VPSocialLink no-icon" href="https://github.com/modelscript/modelscript" aria-label="github" target="_blank" rel="noopener" data-v-f2234a39 data-v-fbf39218><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://www.npmjs.com/org/modelscript" aria-label="npm" target="_blank" rel="noopener" data-v-f2234a39 data-v-fbf39218><span class="vpi-social-npm"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-bb7529ee data-v-670493dd><span class="container" data-v-670493dd><span class="top" data-v-670493dd></span><span class="middle" data-v-670493dd></span><span class="bottom" data-v-670493dd></span></span></button></div></div></div></div><div class="divider" data-v-bb7529ee><div class="divider-line" data-v-bb7529ee></div></div></div><!----></header><!----><!----><div class="VPContent is-home" id="VPContent" data-v-c4daae71 data-v-d2aef184><div class="VPHome" data-v-d2aef184 data-v-8b59c434><!--[--><!--]--><div class="VPHero has-image VPHomeHero" data-v-8b59c434 data-v-d266baba><div class="container" data-v-d266baba><div class="main" data-v-d266baba><!--[--><!--]--><!--[--><h1 class="heading" data-v-d266baba><span class="name clip" data-v-d266baba>ModelScript</span><span class="text" data-v-d266baba>One open toolchain for every engineering model</span></h1><p class="tagline" data-v-d266baba>Import 44 simulation and CAE formats, link them to requirements, then simulate, verify, and export, in your browser, the CLI, or VS Code. Free and open source.</p><!--]--><!--[--><!--]--><div class="actions" data-v-d266baba><!--[--><div class="action" data-v-d266baba><a class="VPButton medium brand" href="/guide/getting-started" data-v-d266baba data-v-b20c43c2>Get Started</a></div><div class="action" data-v-d266baba><a class="VPButton medium alt" href="https://modelscript.org/playground" target="_blank" rel="noreferrer" data-v-d266baba data-v-b20c43c2>Try the Playground</a></div><div class="action" data-v-d266baba><a class="VPButton medium alt" href="/industries" data-v-d266baba data-v-b20c43c2>Explore Industries</a></div><!--]--></div><!--[--><!--]--></div><div class="image" data-v-d266baba><div class="image-container" data-v-d266baba><div class="image-bg" data-v-d266baba></div><!--[--><!--[--><!--[--><!--[--><!--[--><!----><div class="turbine-ssr-fallback"><img class="fallback-img" src="/ms-logo.png" alt="ModelScript Turbine Engine"></div><!--]--><!--]--><!--]--><!--]--><!--]--></div></div></div></div><!--[--><!--]--><!--[--><!--]--><!----><!--[--><!--]--><div style="position:relative;" data-v-8b59c434><div><section class="home-stats" aria-label="ModelScript at a glance" data-v-d668a82a><div class="ms-container" data-v-d668a82a><div class="stats-grid" data-v-d668a82a><!--[--><a href="/languages/overview" class="stat" data-v-d668a82a><span class="stat-icon" data-v-d668a82a><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d668a82a data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"/><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"/></g><!--]--></svg></span><span class="stat-value" data-v-d668a82a>44</span><span class="stat-label" data-v-d668a82a>Languages & formats</span><span class="stat-desc" data-v-d668a82a>From Modelica and SysML v2 to PSCAD, AUTOSAR, and STEP.</span></a><a href="/industries/" class="stat" data-v-d668a82a><span class="stat-icon" data-v-d668a82a><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d668a82a data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="12" cy="12" r="10"/></g><g class="ms-icon-primary" data-v-04166964><circle cx="12" cy="12" r="10"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/></g><!--]--></svg></span><span class="stat-value" data-v-d668a82a>12</span><span class="stat-label" data-v-d668a82a>Industries served</span><span class="stat-desc" data-v-d668a82a>Aerospace, automotive, grid, rail, offshore, and more.</span></a><a href="/reference/linter-rules" class="stat" data-v-d668a82a><span class="stat-icon" data-v-d668a82a><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d668a82a data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><span class="stat-value" data-v-d668a82a>790</span><span class="stat-label" data-v-d668a82a>Compiler lint rules</span><span class="stat-desc" data-v-d668a82a>Pre-flight diagnostics for syntax, types, units, and DAE balance.</span></a><a href="/architecture/overview" class="stat" data-v-d668a82a><span class="stat-icon" data-v-d668a82a><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d668a82a data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="m12 3 9 5-9 5-9-5 9-5z"/></g><g class="ms-icon-primary" data-v-04166964><path d="m21 16-9 5-9-5V8l9-5 9 5z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m3 8 9 5 9-5"/><path d="M12 13v8"/></g><!--]--></svg></span><span class="stat-value" data-v-d668a82a>0</span><span class="stat-label" data-v-d668a82a>Installs required</span><span class="stat-desc" data-v-d668a82a>Native WebAssembly runs in the browser, Node.js, and the CLI.</span></a><!--]--></div></div></section><section class="format-strip" aria-label="Supported languages and formats" data-v-bf5d1859><p class="strip-label" data-v-bf5d1859>Reads, checks, and simulates the formats your teams already use</p><div class="marquee" data-v-bf5d1859><div class="track" data-v-bf5d1859><!--[--><!--[--><!--[--><a href="/languages/modelscript" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.msx</span>ModelScript</a><a href="/languages/modelica" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.mo</span>Modelica</a><a href="/languages/sysml2" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.sysml</span>SysML v2 / KerML</a><a href="/languages/reqif" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.reqif</span>ReqIF</a><a href="/languages/ssp" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.ssp</span>SSP</a><a href="/languages/owl2" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.owl</span>OWL2</a><a href="/languages/step" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.step</span>STEP (ISO 10303)</a><a href="/languages/scad" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.scad</span>OpenSCAD</a><a href="/languages/cfd" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.su2</span>CFD (SU2 / OpenFOAM)</a><a href="/languages/fea" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.inp</span>FEA (CalculiX / Abaqus / NASTRAN)</a><a href="/languages/csv" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.csv</span>CSV</a><a href="/languages/c" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.c</span>C</a><a href="/languages/fortran" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.f90</span>Fortran</a><a href="/languages/jsbsim" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.xml</span>JSBSim</a><a href="/languages/rocets" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.roc</span>NASA ROCETS</a><a href="/languages/ccsds" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.xtce</span>CCSDS</a><a href="/languages/easy5" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.ez5</span>EASY5</a><a href="/languages/autosar" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.arxml</span>AUTOSAR</a><a href="/languages/simulink" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.slx</span>MATLAB Simulink</a><a href="/languages/gtsuite" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.gtm</span>GT-SUITE</a><a href="/languages/opendrive" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.xodr</span>ASAM OpenDRIVE</a><a href="/languages/openscenario" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.xosc</span>ASAM OpenSCENARIO</a><!--]--><!--]--><!--[--><!--[--><a href="/languages/modelscript" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.msx</span>ModelScript</a><a href="/languages/modelica" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.mo</span>Modelica</a><a href="/languages/sysml2" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.sysml</span>SysML v2 / KerML</a><a href="/languages/reqif" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.reqif</span>ReqIF</a><a href="/languages/ssp" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.ssp</span>SSP</a><a href="/languages/owl2" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.owl</span>OWL2</a><a href="/languages/step" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.step</span>STEP (ISO 10303)</a><a href="/languages/scad" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.scad</span>OpenSCAD</a><a href="/languages/cfd" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.su2</span>CFD (SU2 / OpenFOAM)</a><a href="/languages/fea" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.inp</span>FEA (CalculiX / Abaqus / NASTRAN)</a><a href="/languages/csv" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.csv</span>CSV</a><a href="/languages/c" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.c</span>C</a><a href="/languages/fortran" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.f90</span>Fortran</a><a href="/languages/jsbsim" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.xml</span>JSBSim</a><a href="/languages/rocets" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.roc</span>NASA ROCETS</a><a href="/languages/ccsds" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.xtce</span>CCSDS</a><a href="/languages/easy5" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.ez5</span>EASY5</a><a href="/languages/autosar" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.arxml</span>AUTOSAR</a><a href="/languages/simulink" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.slx</span>MATLAB Simulink</a><a href="/languages/gtsuite" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.gtm</span>GT-SUITE</a><a href="/languages/opendrive" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.xodr</span>ASAM OpenDRIVE</a><a href="/languages/openscenario" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.xosc</span>ASAM OpenSCENARIO</a><!--]--><!--]--><!--]--></div></div><div class="marquee reverse" data-v-bf5d1859><div class="track" data-v-bf5d1859><!--[--><!--[--><!--[--><a href="/languages/gensys" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.calc</span>GENSYS</a><a href="/languages/simpack" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.spck</span>SIMPACK</a><a href="/languages/pscad" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.pscx</span>PSCAD / EMTDC</a><a href="/languages/psse" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.raw</span>PSS/E</a><a href="/languages/opendss" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.dss</span>OpenDSS</a><a href="/languages/olga" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.genkey</span>OLGA</a><a href="/languages/lps" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.lps</span>PipelineStudio</a><a href="/languages/eclipse" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.data</span>ECLIPSE</a><a href="/languages/relap5" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.inp</span>RELAP5-3D</a><a href="/languages/sima" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.sima</span>SIMA / SIMO / RIFLEX</a><a href="/languages/spice" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.cir</span>SPICE</a><a href="/languages/verilog-a" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.va</span>Verilog-A / AMS</a><a href="/languages/ibis" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.ibs</span>IBIS</a><a href="/languages/touchstone" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.sNp</span>Touchstone</a><a href="/languages/urdf" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.urdf</span>URDF / Xacro</a><a href="/languages/plcopen" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.st</span>PLCopen / IEC 61131-3</a><a href="/languages/adams" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.adm</span>MSC Adams</a><a href="/languages/energyplus" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.idf</span>EnergyPlus</a><a href="/languages/epanet" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.inp</span>EPANET</a><a href="/languages/swmm" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.inp</span>EPA SWMM</a><a href="/languages/aspen" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.bkp</span>Aspen Plus / HYSYS</a><a href="/languages/sbml" class="chip" tabindex="0" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.sbml</span>SBML</a><!--]--><!--]--><!--[--><!--[--><a href="/languages/gensys" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.calc</span>GENSYS</a><a href="/languages/simpack" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.spck</span>SIMPACK</a><a href="/languages/pscad" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.pscx</span>PSCAD / EMTDC</a><a href="/languages/psse" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.raw</span>PSS/E</a><a href="/languages/opendss" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.dss</span>OpenDSS</a><a href="/languages/olga" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.genkey</span>OLGA</a><a href="/languages/lps" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.lps</span>PipelineStudio</a><a href="/languages/eclipse" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.data</span>ECLIPSE</a><a href="/languages/relap5" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.inp</span>RELAP5-3D</a><a href="/languages/sima" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.sima</span>SIMA / SIMO / RIFLEX</a><a href="/languages/spice" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.cir</span>SPICE</a><a href="/languages/verilog-a" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.va</span>Verilog-A / AMS</a><a href="/languages/ibis" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.ibs</span>IBIS</a><a href="/languages/touchstone" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.sNp</span>Touchstone</a><a href="/languages/urdf" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.urdf</span>URDF / Xacro</a><a href="/languages/plcopen" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.st</span>PLCopen / IEC 61131-3</a><a href="/languages/adams" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.adm</span>MSC Adams</a><a href="/languages/energyplus" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.idf</span>EnergyPlus</a><a href="/languages/epanet" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.inp</span>EPANET</a><a href="/languages/swmm" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.inp</span>EPA SWMM</a><a href="/languages/aspen" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.bkp</span>Aspen Plus / HYSYS</a><a href="/languages/sbml" class="chip" tabindex="-1" aria-hidden="true" data-v-bf5d1859><span class="chip-ext" data-v-bf5d1859>.sbml</span>SBML</a><!--]--><!--]--><!--]--></div></div></section><section class="ms-section home-industries" data-v-0d255f11><div class="ms-container" data-v-0d255f11><header class="ms-section-head" data-v-0d255f11><span class="ms-eyebrow" data-v-0d255f11>Industries</span><h2 class="ms-h2" data-v-0d255f11>Built for the way your industry engineers</h2><p class="ms-lead" data-v-0d255f11> Domain formats, standards, and verification workflows, all connected in one open digital thread. </p></header><div class="ind-grid" data-v-0d255f11><!--[--><a href="/industries/aerospace" class="ind-card" style="--accent:#38bdf8;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l3 2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l3 2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>10 formats</span></div><h3 class="ind-name" data-v-0d255f11>Aerospace & Defense</h3><p class="ind-tag" data-v-0d255f11>Flight dynamics, propulsion & mission telemetry</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>JSBSim</span><span class="ind-fmt" data-v-0d255f11>NASA ROCETS</span><span class="ind-fmt" data-v-0d255f11>CCSDS</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/automotive" class="ind-card" style="--accent:#a78bfa;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#22d3ee;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M5 7h7l2.5 3H19a2 2 0 0 1 2 2v4H2v-4l1.6-3.2A2 2 0 0 1 5 7Z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2"/><path d="M9 17h6"/></g><g class="ms-icon-secondary" data-v-04166964><circle cx="7" cy="17" r="2"/><circle cx="17" cy="17" r="2"/><path d="M5.5 11.5h8"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>10 formats</span></div><h3 class="ind-name" data-v-0d255f11>Automotive & Mobility</h3><p class="ind-tag" data-v-0d255f11>AUTOSAR, powertrain & autonomous-driving scenarios</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>AUTOSAR</span><span class="ind-fmt" data-v-0d255f11>MATLAB Simulink</span><span class="ind-fmt" data-v-0d255f11>GT-SUITE</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/rail" class="ind-card" style="--accent:#f59e0b;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#38bdf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z"/><path d="m8 19-2 3"/><path d="m16 19 2 3"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M8 3.1V7a4 4 0 0 0 8 0V3.1"/><path d="m9 15-1-1"/><path d="m15 15 1-1"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>6 formats</span></div><h3 class="ind-name" data-v-0d255f11>Rail</h3><p class="ind-tag" data-v-0d255f11>Vehicle dynamics, track geometry & EN 14363</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>GENSYS</span><span class="ind-fmt" data-v-0d255f11>SIMPACK</span><span class="ind-fmt" data-v-0d255f11>MSC Adams</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/marine" class="ind-card" style="--accent:#2dd4bf;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#60a5fa;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="12" cy="5" r="3"/></g><g class="ms-icon-primary" data-v-04166964><path d="M12 22V8"/><path d="M5 12H2a10 10 0 0 0 20 0h-3"/></g><g class="ms-icon-secondary" data-v-04166964><circle cx="12" cy="5" r="3"/><path d="M9 11h6"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>6 formats</span></div><h3 class="ind-name" data-v-0d255f11>Marine & Offshore</h3><p class="ind-tag" data-v-0d255f11>Marine operations, risers & mooring</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>SIMA / SIMO / RIFLEX</span><span class="ind-fmt" data-v-0d255f11>OLGA</span><span class="ind-fmt" data-v-0d255f11>FEA (CalculiX / Abaqus / NASTRAN)</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/power-systems" class="ind-card" style="--accent:#facc15;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#22d3ee;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M3.5 8.5A9 9 0 0 1 8.5 3.5"/><path d="M20.5 15.5A9 9 0 0 1 15.5 20.5"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>7 formats</span></div><h3 class="ind-name" data-v-0d255f11>Power Systems & Grid</h3><p class="ind-tag" data-v-0d255f11>EMT, power flow & grid-code compliance</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>PSCAD / EMTDC</span><span class="ind-fmt" data-v-0d255f11>PSS/E</span><span class="ind-fmt" data-v-0d255f11>OpenDSS</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/oil-gas" class="ind-card" style="--accent:#fb923c;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#facc15;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M12 21a3.2 3.2 0 0 0 3.2-3.2c0-1.5-.9-2.6-2.1-3.6-.5 1-1.4 1.6-2.2 1.6-.9 0-2.1 1.2-2.1 2a3.2 3.2 0 0 0 3.2 3.2z"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>7 formats</span></div><h3 class="ind-name" data-v-0d255f11>Oil, Gas & Subsurface</h3><p class="ind-tag" data-v-0d255f11>Flow assurance, pipelines & reservoirs</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>OLGA</span><span class="ind-fmt" data-v-0d255f11>PipelineStudio</span><span class="ind-fmt" data-v-0d255f11>ECLIPSE</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/nuclear" class="ind-card" style="--accent:#4ade80;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#22d3ee;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="12" cy="12" r="4"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z"/></g><g class="ms-icon-secondary" data-v-04166964><circle cx="12" cy="12" r="1.5"/><path d="M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>6 formats</span></div><h3 class="ind-name" data-v-0d255f11>Nuclear</h3><p class="ind-tag" data-v-0d255f11>Reactor thermal-hydraulics & point kinetics</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>RELAP5-3D</span><span class="ind-fmt" data-v-0d255f11>Modelica</span><span class="ind-fmt" data-v-0d255f11>Fortran</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/buildings" class="ind-card" style="--accent:#60a5fa;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#2dd4bf;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="6" y="2" width="12" height="20" rx="2"/></g><g class="ms-icon-primary" data-v-04166964><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"/><path d="M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"/><path d="M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M10 6h4"/><path d="M10 10h4"/><path d="M10 14h4"/><path d="M10 18h4"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>6 formats</span></div><h3 class="ind-name" data-v-0d255f11>Buildings & Civil Infrastructure</h3><p class="ind-tag" data-v-0d255f11>Building energy, water & stormwater networks</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>EnergyPlus</span><span class="ind-fmt" data-v-0d255f11>EPANET</span><span class="ind-fmt" data-v-0d255f11>EPA SWMM</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/electronics" class="ind-card" style="--accent:#22d3ee;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#a78bfa;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect width="16" height="16" x="4" y="4" rx="2"/></g><g class="ms-icon-primary" data-v-04166964><rect width="16" height="16" x="4" y="4" rx="2"/><path d="M15 2v2"/><path d="M15 20v2"/><path d="M2 15h2"/><path d="M2 9h2"/><path d="M20 15h2"/><path d="M20 9h2"/><path d="M9 2v2"/><path d="M9 20v2"/></g><g class="ms-icon-secondary" data-v-04166964><rect width="6" height="6" x="9" y="9" rx="1"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>6 formats</span></div><h3 class="ind-name" data-v-0d255f11>Electronics & Semiconductors</h3><p class="ind-tag" data-v-0d255f11>SPICE, compact models, IBIS & S-parameters</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>SPICE</span><span class="ind-fmt" data-v-0d255f11>Verilog-A / AMS</span><span class="ind-fmt" data-v-0d255f11>IBIS</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/robotics" class="ind-card" style="--accent:#f472b6;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#22d3ee;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect width="16" height="12" x="4" y="8" rx="2"/></g><g class="ms-icon-primary" data-v-04166964><rect width="16" height="12" x="4" y="8" rx="2"/><path d="M2 14h2"/><path d="M20 14h2"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M12 8V4H8"/><path d="M15 13v2"/><path d="M9 13v2"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>7 formats</span></div><h3 class="ind-name" data-v-0d255f11>Robotics & Industrial Automation</h3><p class="ind-tag" data-v-0d255f11>URDF kinematics, PLCs & mechanisms</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>URDF / Xacro</span><span class="ind-fmt" data-v-0d255f11>PLCopen / IEC 61131-3</span><span class="ind-fmt" data-v-0d255f11>MSC Adams</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/process" class="ind-card" style="--accent:#c084fc;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#2dd4bf;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M7 16h10l2.6 4.55a1 1 0 0 1-.9 1.45H5.62a1 1 0 0 1-.9-1.45L7 16Z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2"/><path d="M8.5 2h7"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M7 16h10"/><circle cx="10.5" cy="19" r="0.75"/><circle cx="14" cy="18.5" r="0.75"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>6 formats</span></div><h3 class="ind-name" data-v-0d255f11>Chemical & Process</h3><p class="ind-tag" data-v-0d255f11>Process flowsheets & dynamic simulation</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>Aspen Plus / HYSYS</span><span class="ind-fmt" data-v-0d255f11>OLGA</span><span class="ind-fmt" data-v-0d255f11>PipelineStudio</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/industries/life-sciences" class="ind-card" style="--accent:#34d399;" data-v-0d255f11><span class="ind-glow" aria-hidden="true" data-v-0d255f11></span><div class="ind-head" data-v-0d255f11><span class="ind-icon" data-v-0d255f11><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="12" cy="12" r="5"/></g><g class="ms-icon-primary" data-v-04166964><path d="M15 2c-1.798 1.998-2.518 3.995-2.807 5.993"/><path d="M2 15c6.667-6 13.333 0 20-6"/><path d="M9 22c1.798-1.998 2.518-3.995 2.807-5.993"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m10 16 1.5 1.5"/><path d="m14 8-1.5-1.5"/><path d="m16.5 10.5 1 1"/><path d="m17 6-2.891-2.891"/><path d="m20 9 .891.891"/><path d="M3.109 14.109 4 15"/><path d="m6.5 12.5 1 1"/><path d="m7 18 2.891 2.891"/></g><!--]--></svg></span><span class="ind-count" data-v-0d255f11>4 formats</span></div><h3 class="ind-name" data-v-0d255f11>Life Sciences</h3><p class="ind-tag" data-v-0d255f11>Systems biology & biochemical kinetics</p><span class="ind-formats" data-v-0d255f11><!--[--><span class="ind-fmt" data-v-0d255f11>SBML</span><span class="ind-fmt" data-v-0d255f11>Modelica</span><span class="ind-fmt" data-v-0d255f11>CSV</span><!--]--></span><span class="ind-more" data-v-0d255f11>Explore <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0d255f11 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><!--]--></div></div></section><section class="ms-section ms-section-alt home-thread" data-v-4c84a58e><div class="ms-container" data-v-4c84a58e><header class="ms-section-head" data-v-4c84a58e><span class="ms-eyebrow" data-v-4c84a58e>How it works</span><h2 class="ms-h2" data-v-4c84a58e>One computable digital thread, from import to evidence</h2><p class="ms-lead" data-v-4c84a58e> The same compiler core powers the CLI, the browser IDE, VS Code, and CI, so every step is scriptable and reproducible. </p></header><div class="thread-layout" data-v-4c84a58e><ol class="thread-steps" role="tablist" aria-label="Workflow steps" data-v-4c84a58e><!--[--><li data-v-4c84a58e><button type="button" role="tab" class="active thread-step" aria-selected="true" aria-controls="thread-panel-import" data-v-4c84a58e><span class="step-icon" data-v-4c84a58e><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-4c84a58e data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="3" y="14" width="18" height="7" rx="2"/></g><g class="ms-icon-primary" data-v-04166964><path d="M12 15V3"/><path d="m7 10 5 5 5-5"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/></g><!--]--></svg></span><span class="step-text" data-v-4c84a58e><span class="step-title" data-v-4c84a58e><span class="step-num" data-v-4c84a58e>01</span>Import</span><span class="step-body" data-v-4c84a58e>Bring legacy and vendor models into one typed, version-controlled workspace without rewriting them.</span></span><span class="step-progress" aria-hidden="true" data-v-4c84a58e></span></button></li><li data-v-4c84a58e><button type="button" role="tab" class="thread-step" aria-selected="false" aria-controls="thread-panel-analyze" data-v-4c84a58e><span class="step-icon" data-v-4c84a58e><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-4c84a58e data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="11" cy="11" r="8"/></g><g class="ms-icon-primary" data-v-04166964><circle cx="11" cy="11" r="8"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m21 21-4.3-4.3"/><path d="M8.5 8.5a3.5 3.5 0 0 1 5 0"/></g><!--]--></svg></span><span class="step-text" data-v-4c84a58e><span class="step-title" data-v-4c84a58e><span class="step-num" data-v-4c84a58e>02</span>Analyze</span><span class="step-body" data-v-4c84a58e>790 lint rules across 43 languages catch unresolved references, type and unit mismatches, and unbalanced equations as you type.</span></span><!----></button></li><li data-v-4c84a58e><button type="button" role="tab" class="thread-step" aria-selected="false" aria-controls="thread-panel-simulate" data-v-4c84a58e><span class="step-icon" data-v-4c84a58e><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-4c84a58e data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="2" y="4" width="20" height="16" rx="3"/></g><g class="ms-icon-primary" data-v-04166964><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"/></g><g class="ms-icon-secondary" data-v-04166964><circle cx="9" cy="2.5" r="1.5"/><circle cx="15" cy="21.5" r="1.5"/></g><!--]--></svg></span><span class="step-text" data-v-4c84a58e><span class="step-title" data-v-4c84a58e><span class="step-num" data-v-4c84a58e>03</span>Simulate</span><span class="step-body" data-v-4c84a58e>Index reduction, BLT partitioning, and tearing feed stiff ODE/DAE solvers, from the browser to the cloud.</span></span><!----></button></li><li data-v-4c84a58e><button type="button" role="tab" class="thread-step" aria-selected="false" aria-controls="thread-panel-verify" data-v-4c84a58e><span class="step-icon" data-v-4c84a58e><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-4c84a58e data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><span class="step-text" data-v-4c84a58e><span class="step-title" data-v-4c84a58e><span class="step-num" data-v-4c84a58e>04</span>Verify</span><span class="step-body" data-v-4c84a58e>Check contracts, decision tables and state machines, falsify temporal-logic requirements, and emit SARIF evidence for code scanning.</span></span><!----></button></li><li data-v-4c84a58e><button type="button" role="tab" class="thread-step" aria-selected="false" aria-controls="thread-panel-deliver" data-v-4c84a58e><span class="step-icon" data-v-4c84a58e><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-4c84a58e data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="3" y="14" width="18" height="7" rx="2"/></g><g class="ms-icon-primary" data-v-04166964><path d="M12 3v12"/><path d="m17 8-5-5-5 5"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/></g><!--]--></svg></span><span class="step-text" data-v-4c84a58e><span class="step-title" data-v-4c84a58e><span class="step-num" data-v-4c84a58e>05</span>Deliver</span><span class="step-body" data-v-4c84a58e>Export standards-compliant FMUs and SSP packages, render diagrams, and publish to the package registry.</span></span><!----></button></li><!--]--></ol><div class="thread-panel" data-v-4c84a58e><div class="install" data-v-4c84a58e><span class="install-label" data-v-4c84a58e>Install</span><code data-v-4c84a58e>npm install -g @modelscript/cli</code><button type="button" class="install-copy" data-v-4c84a58e>Copy</button></div><!--[--><div id="thread-panel-import" role="tabpanel" class="terminal" style="" data-v-4c84a58e><div class="term-bar" data-v-4c84a58e><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="term-title" data-v-4c84a58e>~/project — msx import</span></div><pre class="term-body" data-v-4c84a58e><code data-v-4c84a58e><!--[--><!--[--><span class="t-comment" data-v-4c84a58e># Translate a Simulink block diagram to Modelica</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx simulink to-modelica Suspension.slx --out=Suspension.mo</span><!--]-->
<!--]--><!--[--><span class="t-comment" data-v-4c84a58e># Project AUTOSAR software components into SysML v2</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx autosar to-sysml Steering.arxml --out=Steering.sysml</span><!--]-->
<!--]--><!--]--></code></pre><div class="term-artifacts" data-v-4c84a58e><span class="art-label" data-v-4c84a58e>Outputs</span><!--[--><span class="art" data-v-4c84a58e>.slx</span><span class="art" data-v-4c84a58e>.arxml</span><span class="art" data-v-4c84a58e>.pscx</span><span class="art" data-v-4c84a58e>.step</span><span class="art" data-v-4c84a58e>.sysml</span><!--]--></div></div><div id="thread-panel-analyze" role="tabpanel" class="terminal" style="display:none;" data-v-4c84a58e><div class="term-bar" data-v-4c84a58e><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="term-title" data-v-4c84a58e>~/project — msx analyze</span></div><pre class="term-body" data-v-4c84a58e><code data-v-4c84a58e><!--[--><!--[--><span class="t-comment" data-v-4c84a58e># Lint an entire polyglot workspace for CI</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx lint ./models ./requirements --format json</span><!--]-->
<!--]--><!--[--><span class="t-comment" data-v-4c84a58e># Semantic diff for code review</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx diff old/Plant.mo new/Plant.mo</span><!--]-->
<!--]--><!--]--></code></pre><div class="term-artifacts" data-v-4c84a58e><span class="art-label" data-v-4c84a58e>Outputs</span><!--[--><span class="art" data-v-4c84a58e>JSON diagnostics</span><span class="art" data-v-4c84a58e>LSP</span><span class="art" data-v-4c84a58e>PR diff</span><!--]--></div></div><div id="thread-panel-simulate" role="tabpanel" class="terminal" style="display:none;" data-v-4c84a58e><div class="term-bar" data-v-4c84a58e><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="term-title" data-v-4c84a58e>~/project — msx simulate</span></div><pre class="term-body" data-v-4c84a58e><code data-v-4c84a58e><!--[--><!--[--><span class="t-comment" data-v-4c84a58e># Stiff DAE with sparse symbolic Jacobians</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx simulate RLC_Circuit circuit.mo --stop-time 10.0 --solver rodas4p --jacobian sparse --format csv</span><!--]-->
<!--]--><!--[--><span class="t-comment" data-v-4c84a58e># Monte Carlo uncertainty study</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx mc RLC_Filter filter.mo</span><!--]-->
<!--]--><!--]--></code></pre><div class="term-artifacts" data-v-4c84a58e><span class="art-label" data-v-4c84a58e>Outputs</span><!--[--><span class="art" data-v-4c84a58e>CSV trajectories</span><span class="art" data-v-4c84a58e>Surrogates</span><span class="art" data-v-4c84a58e>Monte Carlo</span><!--]--></div></div><div id="thread-panel-verify" role="tabpanel" class="terminal" style="display:none;" data-v-4c84a58e><div class="term-bar" data-v-4c84a58e><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="term-title" data-v-4c84a58e>~/project — msx verify</span></div><pre class="term-body" data-v-4c84a58e><code data-v-4c84a58e><!--[--><!--[--><span class="t-comment" data-v-4c84a58e># Contract verification with a SARIF report</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx verify BrakingController brake.mo --format sarif --report results.sarif</span><!--]-->
<!--]--><!--[--><span class="t-comment" data-v-4c84a58e># Grid-code compliance from a PSCAD project</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx pscad verify-ieee2800 SolarPlant_250MW.pscx --tstop 3.0 --step 20us</span><!--]-->
<!--]--><!--]--></code></pre><div class="term-artifacts" data-v-4c84a58e><span class="art-label" data-v-4c84a58e>Outputs</span><!--[--><span class="art" data-v-4c84a58e>SARIF</span><span class="art" data-v-4c84a58e>IEEE 2800</span><span class="art" data-v-4c84a58e>EN 14363</span><span class="art" data-v-4c84a58e>nuXmv / SMT-LIB2</span><!--]--></div></div><div id="thread-panel-deliver" role="tabpanel" class="terminal" style="display:none;" data-v-4c84a58e><div class="term-bar" data-v-4c84a58e><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="dot" data-v-4c84a58e></span><span class="term-title" data-v-4c84a58e>~/project — msx deliver</span></div><pre class="term-body" data-v-4c84a58e><code data-v-4c84a58e><!--[--><!--[--><span class="t-comment" data-v-4c84a58e># FMI 3.0 co-simulation FMU with an embedded WebAssembly binary</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx fmu DC_Motor motor.mo --fmi-version 3 --type cs --wasm --output build/DC_Motor.fmu</span><!--]-->
<!--]--><!--[--><span class="t-comment" data-v-4c84a58e># Render a SysML v2 internal block diagram</span>
<!--]--><!--[--><!--[--><span class="t-prompt" data-v-4c84a58e>$ </span><span class="t-cmd" data-v-4c84a58e>msx render SpacecraftPower spacecraft.sysml --view IBD --theme blueprint -o ibd.svg</span><!--]-->
<!--]--><!--]--></code></pre><div class="term-artifacts" data-v-4c84a58e><span class="art-label" data-v-4c84a58e>Outputs</span><!--[--><span class="art" data-v-4c84a58e>FMI 2.0 / 3.0</span><span class="art" data-v-4c84a58e>SSP</span><span class="art" data-v-4c84a58e>SVG</span><span class="art" data-v-4c84a58e>npm registry</span><!--]--></div></div><!--]--></div></div></div></section><section class="ms-section home-ai" aria-label="AI Agents and Model Context Protocol" data-v-d193a3e9><div class="ms-container" data-v-d193a3e9><header class="ms-section-head" data-v-d193a3e9><span class="ms-eyebrow" data-v-d193a3e9>AI-Native Engineering · Model Context Protocol</span><h2 class="ms-h2" data-v-d193a3e9>Give AI agents a deterministic compiler and physics engine</h2><p class="ms-lead" data-v-d193a3e9> Language models hallucinate when guessing differential equations in plain text. <code data-v-d193a3e9>@modelscript/mcp</code> exposes 52 compiler, solver, and formal verification tools so AI agents can compile, simulate, and prove engineering designs in a closed loop. </p></header><div class="ai-layout" data-v-d193a3e9><div class="ai-sidebar" data-v-d193a3e9><div class="ai-tabs" role="tablist" aria-label="AI agent workflows" data-v-d193a3e9><!--[--><button type="button" role="tab" class="active ai-tab" aria-selected="true" aria-controls="ai-panel-synthesize" data-v-d193a3e9><div class="ai-tab-top" data-v-d193a3e9><span class="ai-tab-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#a78bfa;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M19 3v4"/><path d="M21 5h-4"/><circle cx="5" cy="19" r="1.25"/></g><!--]--></svg></span><span class="ai-tab-badge" data-v-d193a3e9>Closed-Loop Synthesis</span></div><span class="ai-tab-title" data-v-d193a3e9>Autonomous controller tuning with STL proofs</span><span class="ai-tab-summary" data-v-d193a3e9>The agent invokes sensitivity-guided parameter synthesis over the DAE arena until every Signal Temporal Logic (STL) requirement holds.</span><span class="ai-tab-progress" aria-hidden="true" data-v-d193a3e9></span></button><button type="button" role="tab" class="ai-tab" aria-selected="false" aria-controls="ai-panel-tgg" data-v-d193a3e9><div class="ai-tab-top" data-v-d193a3e9><span class="ai-tab-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="12" cy="12" r="5"/></g><g class="ms-icon-primary" data-v-04166964><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></g><!--]--></svg></span><span class="ai-tab-badge" data-v-d193a3e9>Cross-Domain Digital Thread</span></div><span class="ai-tab-title" data-v-d193a3e9>SysML v2 ↔ Modelica bidirectional reconciliation</span><span class="ai-tab-summary" data-v-d193a3e9>Triple Graph Grammar (TGG) rules inspect correspondence links across architecture and physics models, resolving conflicts with AST-level precision.</span><!----></button><button type="button" role="tab" class="ai-tab" aria-selected="false" aria-controls="ai-panel-grid" data-v-d193a3e9><div class="ai-tab-top" data-v-d193a3e9><span class="ai-tab-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#22d3ee;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M3.5 8.5A9 9 0 0 1 8.5 3.5"/><path d="M20.5 15.5A9 9 0 0 1 15.5 20.5"/></g><!--]--></svg></span><span class="ai-tab-badge" data-v-d193a3e9>Grid Compliance · EMT</span></div><span class="ai-tab-title" data-v-d193a3e9>Automated IEEE 2800 ride-through verification</span><span class="ai-tab-summary" data-v-d193a3e9>AI agents execute fixed-step nodal admittance EMT simulations and evaluate standard ride-through envelopes without a desktop license.</span><!----></button><button type="button" role="tab" class="ai-tab" aria-selected="false" aria-controls="ai-panel-cad" data-v-d193a3e9><div class="ai-tab-top" data-v-d193a3e9><span class="ai-tab-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="m12 3 9 5-9 5-9-5 9-5z"/></g><g class="ms-icon-primary" data-v-04166964><path d="m21 16-9 5-9-5V8l9-5 9 5z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m3 8 9 5 9-5"/><path d="M12 13v8"/></g><!--]--></svg></span><span class="ai-tab-badge" data-v-d193a3e9>3D CAD · FEA Sizing</span></div><span class="ai-tab-title" data-v-d193a3e9>Generative CSG/STEP sizing with FEA stress gates</span><span class="ai-tab-summary" data-v-d193a3e9>Couples parametric CSG/STEP solid geometry with tetrahedral FEA von Mises stress analysis and 3D BVH collision detection in a single MCP call.</span><!----></button><button type="button" role="tab" class="ai-tab" aria-selected="false" aria-controls="ai-panel-safety" data-v-d193a3e9><div class="ai-tab-top" data-v-d193a3e9><span class="ai-tab-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><span class="ai-tab-badge" data-v-d193a3e9>ISO 26262 B2B · Formal MC/DC</span></div><span class="ai-tab-title" data-v-d193a3e9>Legacy CAE migration & IC3/SOS + MC/DC proofs</span><span class="ai-tab-summary" data-v-d193a3e9>Transpiles legacy Simulink/SPICE/Adams models, certifies back-to-back trajectory equivalence, and proves IC3/PDR invariants with 100% MC/DC test coverage.</span><!----></button><!--]--></div><div class="mcp-config-card" data-v-d193a3e9><div class="mcp-config-head" data-v-d193a3e9><span class="mcp-config-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="m4 17 6-6-6-6"/><path d="M12 19h8"/></g></svg> Connect Claude, Cursor, or Windsurf </span><a href="/reference/mcp-and-ide" class="mcp-config-link" data-v-d193a3e9> All 52 MCP tools <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></a></div><div class="mcp-cmd-row" data-v-d193a3e9><code data-v-d193a3e9>npx -y @modelscript/mcp</code><button type="button" class="mcp-copy-btn" data-v-d193a3e9>Copy</button></div><div class="mcp-tiers" data-v-d193a3e9><span class="mcp-tier" data-v-d193a3e9>stdio & SSE transports</span><span class="mcp-tier" data-v-d193a3e9>In-WASM AOT dispatch</span><a href="/llms.txt" target="_blank" rel="noopener" class="mcp-tier mcp-tier-link" data-v-d193a3e9>llms.txt context ↗</a></div></div></div><!--[--><div id="ai-panel-synthesize" role="tabpanel" class="ai-console" style="" data-v-d193a3e9><div class="console-bar" data-v-d193a3e9><div class="console-dots" data-v-d193a3e9><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span></div><span class="console-title" data-v-d193a3e9>mcp://modelscript · agent session</span><span class="console-status" data-v-d193a3e9><span class="status-dot" data-v-d193a3e9></span> WASM Kernel Ready</span></div><div class="console-body" data-v-d193a3e9><div class="msg-prompt" data-v-d193a3e9><span class="msg-role" data-v-d193a3e9>Engineer Prompt</span><p data-v-d193a3e9>Tune the DC motor PID gains in Actuator.mo so step overshoot stays below 4% and settling time is under 0.35s.</p></div><!--[--><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>01</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>modelica_flatten</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "className": "Actuator.DCMotorPID" }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>Arena DAE lowered · 18 states/algebraics · 18 equations [Balanced]</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Index reduction</span><span class="metric-val" data-v-d193a3e9>Index-1 ODE</span></div><div class="tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>BLT blocks</span><span class="metric-val" data-v-d193a3e9>6×6 torn</span></div><!--]--></div></div></div><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>02</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>modelscript_closed_loop_synthesize</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "className": "Actuator.DCMotorPID", "tunableParameters": ["Kp", "Ki", "Kd"], "tEnd": 1.0 }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>Converged in 4 sensitivity iterations (SUNDIALS CVODE + Forward AD)</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Overshoot</span><span class="metric-val" data-v-d193a3e9>2.8% (< 4.0%)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Settling time</span><span class="metric-val" data-v-d193a3e9>0.29s (< 0.35s)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>STL robustness ρ</span><span class="metric-val" data-v-d193a3e9>+0.062 PASS</span></div><!--]--></div></div></div><!--]--><div class="console-verdict" data-v-d193a3e9><span class="verdict-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><div class="verdict-text" data-v-d193a3e9><span class="verdict-label" data-v-d193a3e9>Deterministic Compiler Proof</span><span class="verdict-body" data-v-d193a3e9>Verified patch applied: Kp = 14.2, Ki = 38.5, Kd = 0.84</span></div></div></div></div><div id="ai-panel-tgg" role="tabpanel" class="ai-console" style="display:none;" data-v-d193a3e9><div class="console-bar" data-v-d193a3e9><div class="console-dots" data-v-d193a3e9><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span></div><span class="console-title" data-v-d193a3e9>mcp://modelscript · agent session</span><span class="console-status" data-v-d193a3e9><span class="status-dot" data-v-d193a3e9></span> WASM Kernel Ready</span></div><div class="console-body" data-v-d193a3e9><div class="msg-prompt" data-v-d193a3e9><span class="msg-role" data-v-d193a3e9>Engineer Prompt</span><p data-v-d193a3e9>Check whether BrakeSystem.mo satisfies the SysML v2 architecture constraints and reconcile any parameter drift.</p></div><!--[--><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>01</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>validate_system_consistency</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "sysmlCode": "part def BrakeSystem ...", "modelicaCode": "model BrakeSystem ..." }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>1 parameter divergence detected on slot BrakeActuator.maxPressure</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Port topology</span><span class="metric-val" data-v-d193a3e9>12 / 12 matched</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>SI units</span><span class="metric-val" data-v-d193a3e9>Pa ≡ N/m²</span></div><!--]--></div></div></div><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>02</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>tgg_reconcile_slot</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "slotId": "BrakeActuator.maxPressure", "authority": "sysml" }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>Propagated authoritative SysML v2 constraint (18.5 MPa) into Modelica binding</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>CPA conflicts</span><span class="metric-val" data-v-d193a3e9>0 remaining</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>RTM status</span><span class="metric-val" data-v-d193a3e9>@satisfies valid</span></div><!--]--></div></div></div><!--]--><div class="console-verdict" data-v-d193a3e9><span class="verdict-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><div class="verdict-text" data-v-d193a3e9><span class="verdict-label" data-v-d193a3e9>Deterministic Compiler Proof</span><span class="verdict-body" data-v-d193a3e9>Synchronized BrakeSystem.sysml ↔ BrakeSystem.mo with 100% RTM coverage</span></div></div></div></div><div id="ai-panel-grid" role="tabpanel" class="ai-console" style="display:none;" data-v-d193a3e9><div class="console-bar" data-v-d193a3e9><div class="console-dots" data-v-d193a3e9><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span></div><span class="console-title" data-v-d193a3e9>mcp://modelscript · agent session</span><span class="console-status" data-v-d193a3e9><span class="status-dot" data-v-d193a3e9></span> WASM Kernel Ready</span></div><div class="console-body" data-v-d193a3e9><div class="msg-prompt" data-v-d193a3e9><span class="msg-role" data-v-d193a3e9>Engineer Prompt</span><p data-v-d193a3e9>Run EMT lint checks and verify IEEE Std 2800 LVRT compliance on SolarPlant_250MW.pscx for a 0.15 pu fault.</p></div><!--[--><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>01</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>pscad_lint</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "fileName": "SolarPlant_250MW.pscx" }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>Checked 11 EMT static rules (M6001–M6011) across 42 buses</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Diagnostics</span><span class="metric-val" data-v-d193a3e9>0 errors, 0 warnings</span></div><div class="tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Step ratio</span><span class="metric-val" data-v-d193a3e9>20 μs validated</span></div><!--]--></div></div></div><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>02</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>pscad_verify_ieee2800</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "tStop": 3.0, "stepUs": 20.0 }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>IEEE Std 2800-2022 Clause 7.2 LVRT & reactive current injection check</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>LVRT envelope</span><span class="metric-val" data-v-d193a3e9>No trip (3.0s)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Reactive response</span><span class="metric-val" data-v-d193a3e9>tr = 28 ms (≤ 30 ms)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Post-fault recovery</span><span class="metric-val" data-v-d193a3e9>96.4% at 0.5s</span></div><!--]--></div></div></div><!--]--><div class="console-verdict" data-v-d193a3e9><span class="verdict-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><div class="verdict-text" data-v-d193a3e9><span class="verdict-label" data-v-d193a3e9>Deterministic Compiler Proof</span><span class="verdict-body" data-v-d193a3e9>Compliance report generated · All IEEE 2800 ride-through criteria satisfied</span></div></div></div></div><div id="ai-panel-cad" role="tabpanel" class="ai-console" style="display:none;" data-v-d193a3e9><div class="console-bar" data-v-d193a3e9><div class="console-dots" data-v-d193a3e9><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span></div><span class="console-title" data-v-d193a3e9>mcp://modelscript · agent session</span><span class="console-status" data-v-d193a3e9><span class="status-dot" data-v-d193a3e9></span> WASM Kernel Ready</span></div><div class="console-body" data-v-d193a3e9><div class="msg-prompt" data-v-d193a3e9><span class="msg-role" data-v-d193a3e9>Engineer Prompt</span><p data-v-d193a3e9>Size the Al 6061-T6 ActuatorBracket.scad ribs and fillets for a 4.2 kN load with safety factor ≥ 1.5 and ≥ 2.0 mm BVH housing clearance.</p></div><!--[--><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>01</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>cad_fea_closed_loop_size</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "partName": "ActuatorBracket", "materialYieldMpa": 276, "minSafetyFactor": 1.5, "appliedLoadN": 4200 }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>3D CSG/STEP ↔ Tetrahedral FEA Sizing (ActuatorBracket)</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Peak von Mises</span><span class="metric-val" data-v-d193a3e9>160.1 MPa (≤ 184 MPa)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>Safety Factor</span><span class="metric-val" data-v-d193a3e9>1.72x (Req ≥ 1.5x)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>BVH Clearance</span><span class="metric-val" data-v-d193a3e9>3.45 mm (0 collisions)</span></div><!--]--></div></div></div><!--]--><div class="console-verdict" data-v-d193a3e9><span class="verdict-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><div class="verdict-text" data-v-d193a3e9><span class="verdict-label" data-v-d193a3e9>Deterministic Compiler Proof</span><span class="verdict-body" data-v-d193a3e9>Structural FEA & 3D BVH clearance certified: rib_thickness_mm = 3.12, fillet_radius_mm = 1.85</span></div></div></div></div><div id="ai-panel-safety" role="tabpanel" class="ai-console" style="display:none;" data-v-d193a3e9><div class="console-bar" data-v-d193a3e9><div class="console-dots" data-v-d193a3e9><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span><span class="dot" data-v-d193a3e9></span></div><span class="console-title" data-v-d193a3e9>mcp://modelscript · agent session</span><span class="console-status" data-v-d193a3e9><span class="status-dot" data-v-d193a3e9></span> WASM Kernel Ready</span></div><div class="console-body" data-v-d193a3e9><div class="msg-prompt" data-v-d193a3e9><span class="msg-role" data-v-d193a3e9>Engineer Prompt</span><p data-v-d193a3e9>Migrate ServoActuator.slx to Modelica + SysML v2, verify ISO 26262 B2B trajectory parity, and prove unbounded IC3/SOS safety with MC/DC vectors.</p></div><!--[--><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>01</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>polyglot_migrate_and_verify_b2b</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "sourceFormat": "simulink", "modelName": "ServoActuator", "tolerance": 1e-4 }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>Legacy SIMULINK → Modelica/SysML v2 B2B Certification</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>B2B Trajectory Δ</span><span class="metric-val" data-v-d193a3e9>8.4e-6 (≤ 1e-4)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>ISO 26262 Part 6</span><span class="metric-val" data-v-d193a3e9>ASIL-D Certified</span></div><!--]--></div></div></div><div class="tool-step" data-v-d193a3e9><div class="tool-header" data-v-d193a3e9><span class="tool-step-num" data-v-d193a3e9>02</span><span class="tool-rpc" data-v-d193a3e9>JSON-RPC tools/call</span><code class="tool-name" data-v-d193a3e9>formal_verify_safety_and_mcdc</code></div><pre class="tool-args" data-v-d193a3e9><code data-v-d193a3e9>{ "modelName": "ServoActuator", "safetyProperty": "abs(pitch_angle_deg) <= 35.0" }</code></pre><div class="tool-result" data-v-d193a3e9><div class="tool-result-title" data-v-d193a3e9><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M20 6 9 17l-5-5"/></g></svg><span data-v-d193a3e9>IC3/PDR Invariant, SOS Barrier & DO-178C MC/DC Proof (ServoActuator)</span></div><div class="tool-metrics" data-v-d193a3e9><!--[--><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>IC3/PDR Invariant</span><span class="metric-val" data-v-d193a3e9>Inductive (7 Frames)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>SOS Barrier B(x)</span><span class="metric-val" data-v-d193a3e9>LMI Feasible (+0.184)</span></div><div class="pass tool-metric" data-v-d193a3e9><span class="metric-label" data-v-d193a3e9>MC/DC Coverage</span><span class="metric-val" data-v-d193a3e9>100.0% (4 vectors)</span></div><!--]--></div></div></div><!--]--><div class="console-verdict" data-v-d193a3e9><span class="verdict-icon" data-v-d193a3e9><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-d193a3e9 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><div class="verdict-text" data-v-d193a3e9><span class="verdict-label" data-v-d193a3e9>Deterministic Compiler Proof</span><span class="verdict-body" data-v-d193a3e9>ISO 26262 ASIL-D & DO-178C DAL-A proof bundle generated with C99 SHA-256 parity</span></div></div></div></div><!--]--></div></div></section><section class="ms-section ms-section-alt home-caps" data-v-1b01d7be><div class="ms-container" data-v-1b01d7be><header class="ms-section-head" data-v-1b01d7be><span class="ms-eyebrow" data-v-1b01d7be>Under the hood</span><h2 class="ms-h2" data-v-1b01d7be>Compiler-grade engineering, documented in the open</h2><p class="ms-lead" data-v-1b01d7be> Every algorithm is documented in the architecture and algorithms catalog, so you can read exactly how your models are compiled and solved. </p></header><div class="caps-grid" data-v-1b01d7be><!--[--><a href="/architecture/glr-parser" class="cap" style="--tone-p:var(--hue-indigo);--tone-a:var(--hue-amber);" data-v-1b01d7be><div class="ms-schematic cap-schematic" aria-hidden="true" data-v-1b01d7be><svg viewBox="0 0 240 110" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-1b01d7be><!--[--><g class="sx-ink" data-v-1b01d7be><path d="M120 16 L60 44 M60 44 L36 86 M60 44 L78 86" data-v-1b01d7be></path></g><path class="sx-p" d="M120 16 L165 40 M165 40 L146 60 M165 40 L184 60" stroke-width="1.6" data-v-1b01d7be></path><path class="sx-p" d="M146 60 L120 86 M146 60 L162 86 M146 60 L204 86" stroke-opacity="0.85" data-v-1b01d7be></path><path class="sx-p" d="M184 60 L120 86 M184 60 L162 86 M184 60 L204 86" stroke-dasharray="3 2.5" data-v-1b01d7be></path><circle class="sx-pf" cx="120" cy="16" r="5" data-v-1b01d7be></circle><circle class="sx-ink-f" cx="60" cy="44" r="4.5" data-v-1b01d7be></circle><circle class="sx-pf" cx="165" cy="40" r="5.5" stroke-width="1.6" data-v-1b01d7be></circle><polygon class="sx-pd" points="146,55 151,60 146,65 141,60" data-v-1b01d7be></polygon><polygon class="sx-pd" points="184,55 189,60 184,65 179,60" data-v-1b01d7be></polygon><rect class="sx-ink-f" x="18" y="86" width="36" height="14" rx="3" data-v-1b01d7be></rect><rect class="sx-ink-f" x="60" y="86" width="36" height="14" rx="3" data-v-1b01d7be></rect><rect class="sx-ink-f" x="102" y="86" width="36" height="14" rx="3" data-v-1b01d7be></rect><rect class="sx-af sx-glow" x="144" y="86" width="36" height="14" rx="3" stroke-width="1.6" data-v-1b01d7be></rect><rect class="sx-ink-f" x="186" y="86" width="36" height="14" rx="3" data-v-1b01d7be></rect><text class="sx-mono sx-ta" x="162" y="96" text-anchor="middle" data-v-1b01d7be>edit</text><text class="sx-label" x="14" y="47" data-v-1b01d7be>reused</text><text class="sx-label sx-tp" x="228" y="43" text-anchor="end" data-v-1b01d7be>2 parses</text><!--]--></svg></div><div class="cap-meta" data-v-1b01d7be><span class="cap-icon ms-tone-tile" data-v-1b01d7be><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="3" y="5" width="18" height="14" rx="3"/></g><g class="ms-icon-primary" data-v-04166964><path d="m8 6-6 6 6 6"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m16 18 6-6-6-6"/></g><!--]--></svg></span><span class="cap-badge" data-v-1b01d7be>SPPF · WASM</span></div><h3 data-v-1b01d7be>Incremental GLR parsing</h3><p data-v-1b01d7be>A native WebAssembly GLR parser generator with incremental reparsing, fast enough to run on every keystroke in the IDE.</p></a><a href="/architecture/salsa-queries" class="cap" style="--tone-p:var(--hue-cyan);--tone-a:var(--hue-amber);" data-v-1b01d7be><div class="ms-schematic cap-schematic" aria-hidden="true" data-v-1b01d7be><svg viewBox="0 0 240 110" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-1b01d7be><!--[--><path class="sx-a" d="M56 32 H72" stroke-width="1.6" data-v-1b01d7be></path><path class="sx-ink" d="M56 78 H72" data-v-1b01d7be></path><path class="sx-p" d="M120 32 C128 32 128 50 136 50" stroke-width="1.6" data-v-1b01d7be></path><path class="sx-ink" d="M120 78 C128 78 128 60 136 60" data-v-1b01d7be></path><path class="sx-ink" d="M180 55 H190" stroke-dasharray="2 2" data-v-1b01d7be></path><rect class="sx-af sx-glow" x="12" y="22" width="44" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono sx-ta" x="34" y="35.5" text-anchor="middle" data-v-1b01d7be>A.mo</text><rect class="sx-ink-f" x="12" y="68" width="44" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono" x="34" y="81.5" text-anchor="middle" data-v-1b01d7be>B.mo</text><rect class="sx-pf" x="72" y="22" width="48" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono sx-tp" x="96" y="35.5" text-anchor="middle" data-v-1b01d7be>parse</text><rect class="sx-ink-f" x="72" y="68" width="48" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono" x="96" y="81.5" text-anchor="middle" data-v-1b01d7be>parse</text><rect class="sx-pf" x="136" y="45" width="44" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono sx-tp" x="158" y="58.5" text-anchor="middle" data-v-1b01d7be>index</text><rect class="sx-ink-f" x="190" y="45" width="40" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono" x="210" y="58.5" text-anchor="middle" data-v-1b01d7be>DAE</text><path class="sx-a sx-glow" d="M185 46 V64" stroke-width="2.4" data-v-1b01d7be></path><text class="sx-label sx-tp" x="96" y="15" text-anchor="middle" data-v-1b01d7be>re-run</text><text class="sx-label sx-ta" x="158" y="78" text-anchor="middle" data-v-1b01d7be>same result</text><text class="sx-label" x="210" y="78" text-anchor="middle" data-v-1b01d7be>cached</text><!--]--></svg></div><div class="cap-meta" data-v-1b01d7be><span class="cap-icon ms-tone-tile" data-v-1b01d7be><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><ellipse cx="12" cy="5" rx="9" ry="3"/></g><g class="ms-icon-primary" data-v-04166964><ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 21 19V5"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M3 12A9 3 0 0 0 21 12"/></g><!--]--></svg></span><span class="cap-badge" data-v-1b01d7be>Memoized DAG</span></div><h3 data-v-1b01d7be>Salsa query engine</h3><p data-v-1b01d7be>Memoized, dependency-tracked semantic queries recompute only what changed across multi-file workspaces.</p></a><a href="/architecture/dae-arena" class="cap" style="--tone-p:var(--hue-teal);--tone-a:var(--hue-indigo);" data-v-1b01d7be><div class="ms-schematic cap-schematic" aria-hidden="true" data-v-1b01d7be><svg viewBox="0 0 240 110" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-1b01d7be><!--[--><text class="sx-mono" x="12" y="25" data-v-1b01d7be>eq</text><text class="sx-mono" x="12" y="57" data-v-1b01d7be>expr</text><text class="sx-mono" x="12" y="89" data-v-1b01d7be>var</text><!--[--><g data-v-1b01d7be><rect class="sx-ink-f" x="48" y="14" width="180" height="16" rx="3" data-v-1b01d7be></rect><path class="sx-ink" d="M78 14 V30 M108 14 V30 M138 14 V30 M168 14 V30 M198 14 V30" stroke-opacity="0.55" data-v-1b01d7be></path></g><g data-v-1b01d7be><rect class="sx-ink-f" x="48" y="46" width="180" height="16" rx="3" data-v-1b01d7be></rect><path class="sx-ink" d="M78 46 V62 M108 46 V62 M138 46 V62 M168 46 V62 M198 46 V62" stroke-opacity="0.55" data-v-1b01d7be></path></g><g data-v-1b01d7be><rect class="sx-ink-f" x="48" y="78" width="180" height="16" rx="3" data-v-1b01d7be></rect><path class="sx-ink" d="M78 78 V94 M108 78 V94 M138 78 V94 M168 78 V94 M198 78 V94" stroke-opacity="0.55" data-v-1b01d7be></path></g><!--]--><rect class="sx-pf" x="198" y="14" width="30" height="16" data-v-1b01d7be></rect><rect class="sx-af" x="198" y="46" width="30" height="16" data-v-1b01d7be></rect><rect class="sx-af" x="108" y="46" width="30" height="16" data-v-1b01d7be></rect><rect class="sx-af" x="168" y="46" width="30" height="16" data-v-1b01d7be></rect><rect class="sx-pf" x="78" y="78" width="30" height="16" data-v-1b01d7be></rect><rect class="sx-pf" x="168" y="78" width="30" height="16" data-v-1b01d7be></rect><path class="sx-p" d="M218 30 V42" stroke-width="1.5" data-v-1b01d7be></path><polygon class="sx-pd" points="215,41 221,41 218,46" data-v-1b01d7be></polygon><g class="sx-glow" data-v-1b01d7be><path class="sx-a" d="M206 46 C206 33 123 33 123 42" stroke-width="1.5" data-v-1b01d7be></path><polygon class="sx-ad" points="120,41 126,41 123,46" data-v-1b01d7be></polygon><path class="sx-a" d="M210 46 C210 37 183 37 183 42" stroke-width="1.5" data-v-1b01d7be></path><polygon class="sx-ad" points="180,41 186,41 183,46" data-v-1b01d7be></polygon></g><path class="sx-p" d="M123 62 L97.4 75.6 M183 62 V74" stroke-width="1.5" data-v-1b01d7be></path><polygon class="sx-pd" points="93,78 98.8,78.3 96,73" data-v-1b01d7be></polygon><polygon class="sx-pd" points="180,73 186,73 183,78" data-v-1b01d7be></polygon><!--]--></svg></div><div class="cap-meta" data-v-1b01d7be><span class="cap-icon ms-tone-tile" data-v-1b01d7be><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="m12 3 9 5-9 5-9-5 9-5z"/></g><g class="ms-icon-primary" data-v-04166964><path d="m21 16-9 5-9-5V8l9-5 9 5z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m3 8 9 5 9-5"/><path d="M12 13v8"/></g><!--]--></svg></span><span class="cap-badge" data-v-1b01d7be>SoA Linear Memory</span></div><h3 data-v-1b01d7be>Arena DAE flattening</h3><p data-v-1b01d7be>Hierarchical models are lowered straight into a struct-of-arrays DAE arena in linear memory, with no intermediate AST.</p></a><a href="/algorithms/pantelides" class="cap" style="--tone-p:var(--hue-indigo);--tone-a:var(--hue-amber);" data-v-1b01d7be><div class="ms-schematic cap-schematic" aria-hidden="true" data-v-1b01d7be><svg viewBox="0 0 240 110" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-1b01d7be><!--[--><rect class="sx-ink-f" x="20" y="18" width="64" height="64" rx="4" data-v-1b01d7be></rect><!--[--><rect class="sx-ink-d" x="43.5" y="31.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="43.5" y="51.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="63.5" y="51.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="53.5" y="51.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="63.5" y="71.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="23.5" y="71.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="23.5" y="21.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="53.5" y="21.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="43.5" y="61.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="23.5" y="61.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="73.5" y="61.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="33.5" y="61.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="53.5" y="41.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="73.5" y="41.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="33.5" y="41.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><!--]--><path class="sx-ink" d="M94 50 H132" data-v-1b01d7be></path><polygon class="sx-ink-d" points="137,50 131,46.5 131,53.5" data-v-1b01d7be></polygon><text class="sx-label" x="115" y="43" text-anchor="middle" data-v-1b01d7be>Tarjan</text><rect class="sx-ink-f" x="146" y="18" width="64" height="64" rx="4" data-v-1b01d7be></rect><rect class="sx-af" x="178" y="30" width="10" height="30" stroke-width="1" data-v-1b01d7be></rect><!--[--><rect class="sx-pd" x="149.5" y="21.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="149.5" y="31.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-pd" x="159.5" y="31.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ad sx-glow" x="179.5" y="31.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-pd" x="159.5" y="41.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-pd" x="169.5" y="41.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-pd" x="169.5" y="51.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ad sx-glow" x="179.5" y="51.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="149.5" y="61.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="169.5" y="61.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-pd" x="189.5" y="61.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-pd" x="199.5" y="61.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-ink-d" x="179.5" y="71.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-pd" x="189.5" y="71.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><rect class="sx-pd" x="199.5" y="71.5" width="7" height="7" rx="1.5" data-v-1b01d7be></rect><!--]--><g class="sx-p" stroke-width="1" data-v-1b01d7be><rect x="148" y="20" width="10" height="10" rx="2" data-v-1b01d7be></rect><rect x="158" y="30" width="30" height="30" rx="2" data-v-1b01d7be></rect><rect x="188" y="60" width="20" height="20" rx="2" data-v-1b01d7be></rect></g><text class="sx-label" x="52" y="100" text-anchor="middle" data-v-1b01d7be>incidence</text><text class="sx-label sx-tp" x="166" y="100" text-anchor="middle" data-v-1b01d7be>BLT</text><text class="sx-label sx-ta" x="197" y="100" text-anchor="middle" data-v-1b01d7be>torn</text><!--]--></svg></div><div class="cap-meta" data-v-1b01d7be><span class="cap-icon ms-tone-tile" data-v-1b01d7be><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="2" y="4" width="20" height="16" rx="3"/></g><g class="ms-icon-primary" data-v-04166964><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"/></g><g class="ms-icon-secondary" data-v-04166964><circle cx="9" cy="2.5" r="1.5"/><circle cx="15" cy="21.5" r="1.5"/></g><!--]--></svg></span><span class="cap-badge" data-v-1b01d7be>BLT · Tearing · IDA</span></div><h3 data-v-1b01d7be>Structural analysis & solvers</h3><p data-v-1b01d7be>Pantelides index reduction, Tarjan BLT, and Cellier–Elmqvist tearing, plus SUNDIALS, BDF, and Rosenbrock integrators.</p></a><a href="/algorithms/optimization" class="cap" style="--tone-p:var(--hue-teal);--tone-a:var(--hue-amber);" data-v-1b01d7be><div class="ms-schematic cap-schematic" aria-hidden="true" data-v-1b01d7be><svg viewBox="0 0 240 110" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-1b01d7be><!--[--><rect x="16" y="10" width="208" height="12" rx="2" style="fill:var(--sx-ink-soft);" data-v-1b01d7be></rect><path class="sx-ink" d="M16 22 H224" stroke-dasharray="3 2.5" data-v-1b01d7be></path><text class="sx-label" x="222" y="19" text-anchor="end" data-v-1b01d7be>x ≤ xₘₐₓ</text><path class="sx-ink" d="M68 22 V92 M120 22 V92 M172 22 V92" stroke-dasharray="2 2.5" stroke-opacity="0.7" data-v-1b01d7be></path><path class="sx-ink" d="M16 92 H226" data-v-1b01d7be></path><path class="sx-p" d="M16 80.0 L20 74.9 L24 70.2 L28 66.0 L32 62.2 L36 58.8 L40 55.6 L44 52.8 L48 50.3 L52 48.0 L56 45.9 L60 44.0 L64 42.3 L68 40.7 L72 39.3 L76 38.0 L80 36.9 L84 35.9 L88 34.9 L92 34.1 L96 33.3 L100 32.6 L104 32.0 L108 31.4 L112 30.9 L116 30.4 L120 30.0 L124 29.6 L128 29.3 L132 29.0 L136 28.7 L140 28.4 L144 28.2 L148 28.0 L152 27.8 L156 27.6 L160 27.5 L164 27.3 L168 27.2 L172 27.1 L176 27.0 L180 26.9 L184 26.8 L188 26.7 L192 26.7 L196 26.6 L200 26.5 L204 26.5 L208 26.4 L212 26.4 L216 26.4 L220 26.3 L224 26.3" stroke-width="2" data-v-1b01d7be></path><circle class="sx-bg sx-p" cx="16" cy="80" r="3.2" stroke-width="1.6" data-v-1b01d7be></circle><!--[--><g data-v-1b01d7be><circle class="sx-bg sx-p" cx="68" cy="40.7" r="3.6" stroke-width="1.6" data-v-1b01d7be></circle><circle class="sx-ad" cx="68" cy="40.7" r="1.6" data-v-1b01d7be></circle></g><g data-v-1b01d7be><circle class="sx-bg sx-p" cx="120" cy="30" r="3.6" stroke-width="1.6" data-v-1b01d7be></circle><circle class="sx-ad" cx="120" cy="30" r="1.6" data-v-1b01d7be></circle></g><g data-v-1b01d7be><circle class="sx-bg sx-p" cx="172" cy="27.1" r="3.6" stroke-width="1.6" data-v-1b01d7be></circle><circle class="sx-ad" cx="172" cy="27.1" r="1.6" data-v-1b01d7be></circle></g><g data-v-1b01d7be><circle class="sx-bg sx-p" cx="224" cy="26.3" r="3.6" stroke-width="1.6" data-v-1b01d7be></circle><circle class="sx-ad" cx="224" cy="26.3" r="1.6" data-v-1b01d7be></circle></g><!--]--><!--[--><circle class="sx-ad sx-glow" cx="24.1" cy="70.1" r="2.4" data-v-1b01d7be></circle><circle class="sx-ad sx-glow" cx="49.5" cy="49.3" r="2.4" data-v-1b01d7be></circle><circle class="sx-ad sx-glow" cx="76.1" cy="38" r="2.4" data-v-1b01d7be></circle><circle class="sx-ad sx-glow" cx="101.5" cy="32.4" r="2.4" data-v-1b01d7be></circle><circle class="sx-ad sx-glow" cx="128.1" cy="29.3" r="2.4" data-v-1b01d7be></circle><circle class="sx-ad sx-glow" cx="153.5" cy="27.7" r="2.4" data-v-1b01d7be></circle><circle class="sx-ad sx-glow" cx="180.1" cy="26.9" r="2.4" data-v-1b01d7be></circle><circle class="sx-ad sx-glow" cx="205.5" cy="26.5" r="2.4" data-v-1b01d7be></circle><!--]--><text class="sx-label sx-ta" x="120" y="104" text-anchor="middle" data-v-1b01d7be>Radau collocation nodes</text><!--]--></svg></div><div class="cap-meta" data-v-1b01d7be><span class="cap-icon ms-tone-tile" data-v-1b01d7be><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#fbbf24;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="12" cy="12" r="10"/></g><g class="ms-icon-primary" data-v-04166964><circle cx="12" cy="12" r="10"/></g><g class="ms-icon-secondary" data-v-04166964><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></g><!--]--></svg></span><span class="cap-badge" data-v-1b01d7be>Collocation · NLP</span></div><h3 data-v-1b01d7be>Optimization</h3><p data-v-1b01d7be>Direct collocation for optimal control and parameter estimation, with bounds, constraints, and custom objectives.</p></a><a href="/architecture/tgg" class="cap" style="--tone-p:var(--hue-indigo);--tone-a:var(--hue-cyan);" data-v-1b01d7be><div class="ms-schematic cap-schematic" aria-hidden="true" data-v-1b01d7be><svg viewBox="0 0 240 110" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-1b01d7be><!--[--><text class="sx-label sx-tp" x="46" y="26" text-anchor="middle" data-v-1b01d7be>SysML v2</text><text class="sx-label" x="120" y="28" text-anchor="middle" data-v-1b01d7be>corr</text><text class="sx-label sx-ta" x="194" y="26" text-anchor="middle" data-v-1b01d7be>Modelica</text><path class="sx-ink" d="M72 48 H110 M130 48 H164 M72 78 H110 M130 78 H164" data-v-1b01d7be></path><path class="sx-p" d="M46 58 V68" stroke-width="1.5" data-v-1b01d7be></path><path class="sx-a" d="M194 58 V68" stroke-width="1.5" data-v-1b01d7be></path><rect class="sx-pf" x="20" y="38" width="52" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono sx-tp" x="46" y="51.5" text-anchor="middle" data-v-1b01d7be>part</text><rect class="sx-pf" x="20" y="68" width="52" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono sx-tp" x="46" y="81.5" text-anchor="middle" data-v-1b01d7be>port</text><polygon class="sx-ink-f" points="120,39 130,48 120,57 110,48" data-v-1b01d7be></polygon><polygon class="sx-ink-f" points="120,69 130,78 120,87 110,78" data-v-1b01d7be></polygon><rect class="sx-af sx-glow" x="164" y="38" width="60" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono sx-ta" x="194" y="51.5" text-anchor="middle" data-v-1b01d7be>model</text><rect class="sx-af sx-glow" x="164" y="68" width="60" height="20" rx="4" data-v-1b01d7be></rect><text class="sx-mono sx-ta" x="194" y="81.5" text-anchor="middle" data-v-1b01d7be>connector</text><!--]--></svg></div><div class="cap-meta" data-v-1b01d7be><span class="cap-icon ms-tone-tile" data-v-1b01d7be><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="12" cy="12" r="5"/></g><g class="ms-icon-primary" data-v-04166964><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></g><!--]--></svg></span><span class="cap-badge" data-v-1b01d7be>Bi-directional Sync</span></div><h3 data-v-1b01d7be>Triple graph grammars</h3><p data-v-1b01d7be>Bidirectional synchronization links SysML v2, Modelica, STEP, and domain formats into one hypergraph.</p></a><a href="/algorithms/verification-chc" class="cap" style="--tone-p:var(--hue-emerald);--tone-a:var(--hue-rose);" data-v-1b01d7be><div class="ms-schematic cap-schematic" aria-hidden="true" data-v-1b01d7be><svg viewBox="0 0 240 110" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-1b01d7be><!--[--><rect class="sx-af sx-glow" x="172" y="14" width="56" height="44" rx="10" stroke-width="1.5" data-v-1b01d7be></rect><text class="sx-label sx-ta" x="200" y="40" text-anchor="middle" data-v-1b01d7be>Bad</text><ellipse class="sx-pf" cx="86" cy="60" rx="70" ry="36" stroke-width="1.5" data-v-1b01d7be></ellipse><ellipse class="sx-p" cx="74" cy="64" rx="46" ry="24" stroke-dasharray="3 2.5" data-v-1b01d7be></ellipse><ellipse class="sx-pf" cx="60" cy="68" rx="18" ry="11" data-v-1b01d7be></ellipse><text class="sx-label sx-tp" x="86" y="35" text-anchor="middle" data-v-1b01d7be>F₂ = F₃ = Inv</text><text class="sx-label sx-tp" x="106" y="67" text-anchor="middle" data-v-1b01d7be>F₁</text><text class="sx-label sx-tp" x="60" y="71" text-anchor="middle" data-v-1b01d7be>Init</text><text class="sx-mono sx-tp" x="200" y="80" text-anchor="middle" data-v-1b01d7be>Inv ∩ Bad = ∅</text><text class="sx-label sx-tp" x="200" y="94" text-anchor="middle" data-v-1b01d7be>✓ safe</text><!--]--></svg></div><div class="cap-meta" data-v-1b01d7be><span class="cap-icon ms-tone-tile" data-v-1b01d7be><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m9 12 2 2 4-4"/></g><!--]--></svg></span><span class="cap-badge" data-v-1b01d7be>SMT · CHC / IC3</span></div><h3 data-v-1b01d7be>Formal verification</h3><p data-v-1b01d7be>Nelson–Oppen theory combination, CHC/IC3, and abstract interpretation prove properties of hybrid systems.</p></a><a href="/architecture/hil-wasm-runtime" class="cap" style="--tone-p:var(--hue-violet);--tone-a:var(--hue-amber);" data-v-1b01d7be><div class="ms-schematic cap-schematic" aria-hidden="true" data-v-1b01d7be><svg viewBox="0 0 240 110" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-1b01d7be><!--[--><path class="sx-ink" d="M16 18 V98" data-v-1b01d7be></path><path class="sx-a" d="M120 18 V98 M224 18 V98" stroke-dasharray="3 2.5" data-v-1b01d7be></path><text class="sx-label" x="16" y="13" text-anchor="middle" data-v-1b01d7be>t₀</text><text class="sx-label sx-ta" x="120" y="13" text-anchor="middle" data-v-1b01d7be>Δt</text><text class="sx-label sx-ta" x="224" y="13" text-anchor="middle" data-v-1b01d7be>2Δt</text><!--[--><g data-v-1b01d7be><rect class="sx-ink-f" x="20" y="28" width="18" height="20" rx="3" data-v-1b01d7be></rect><text class="sx-mono" x="29" y="41.5" text-anchor="middle" data-v-1b01d7be>in</text><rect class="sx-pf" x="40" y="28" width="40" height="20" rx="3" data-v-1b01d7be></rect><text class="sx-mono sx-tp" x="60" y="41.5" text-anchor="middle" data-v-1b01d7be>step</text><rect class="sx-ink-f" x="82" y="28" width="18" height="20" rx="3" data-v-1b01d7be></rect><text class="sx-mono" x="91" y="41.5" text-anchor="middle" data-v-1b01d7be>out</text><rect class="sx-ink" x="102" y="28" width="14" height="20" rx="3" stroke-dasharray="2 2" data-v-1b01d7be></rect></g><g data-v-1b01d7be><rect class="sx-ink-f" x="124" y="28" width="18" height="20" rx="3" data-v-1b01d7be></rect><text class="sx-mono" x="133" y="41.5" text-anchor="middle" data-v-1b01d7be>in</text><rect class="sx-pf" x="144" y="28" width="40" height="20" rx="3" data-v-1b01d7be></rect><text class="sx-mono sx-tp" x="164" y="41.5" text-anchor="middle" data-v-1b01d7be>step</text><rect class="sx-ink-f" x="186" y="28" width="18" height="20" rx="3" data-v-1b01d7be></rect><text class="sx-mono" x="195" y="41.5" text-anchor="middle" data-v-1b01d7be>out</text><rect class="sx-ink" x="206" y="28" width="14" height="20" rx="3" stroke-dasharray="2 2" data-v-1b01d7be></rect></g><!--]--><path class="sx-ink" d="M20 58 V62 H100 V58" data-v-1b01d7be></path><text class="sx-label" x="60" y="74" text-anchor="middle" data-v-1b01d7be>WCET</text><text class="sx-label" x="109" y="74" text-anchor="middle" data-v-1b01d7be>slack</text><path class="sx-p" d="M8 98 H16 V86 H68 V98 H120 V86 H172 V98 H224 V86 H232" stroke-width="1.3" data-v-1b01d7be></path><!--]--></svg></div><div class="cap-meta" data-v-1b01d7be><span class="cap-icon ms-tone-tile" data-v-1b01d7be><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M3.34 19a10 10 0 1 1 17.32 0Z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M3.34 19a10 10 0 1 1 17.32 0"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m12 14 4-4"/><circle cx="12" cy="14" r="1.5"/></g><!--]--></svg></span><span class="cap-badge" data-v-1b01d7be>Deterministic Δt</span></div><h3 data-v-1b01d7be>SIL & real-time HIL</h3><p data-v-1b01d7be>Deterministic WebAssembly runtimes for software-in-the-loop and hardware-in-the-loop execution.</p></a><!--]--></div><div class="caps-links" data-v-1b01d7be><a href="/architecture/overview" data-v-1b01d7be>Architecture overview <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></a><a href="/algorithms/overview" data-v-1b01d7be>Algorithms catalog <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></a><a href="/modelscript-reference-manual.pdf" target="_blank" rel="noopener" data-v-1b01d7be> PDF reference manual <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-1b01d7be data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M12 15V3"/><path d="m7 10 5 5 5-5"/><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/></g></svg></a></div></div></section><section class="ms-section home-surfaces" data-v-caed1923><div class="ms-container" data-v-caed1923><header class="ms-section-head" data-v-caed1923><span class="ms-eyebrow" data-v-caed1923>Run it anywhere</span><h2 class="ms-h2" data-v-caed1923>One engine, every surface</h2><p class="ms-lead" data-v-caed1923> The same WebAssembly compiler core runs in the browser, on the desktop, in your editor, and in CI. </p></header><div class="surf-grid" data-v-caed1923><!--[--><a href="https://modelscript.org/playground" class="surf-card" style="--tone-p:var(--hue-cyan);--tone-a:var(--hue-emerald);" data-v-caed1923><div class="ms-schematic surf-schematic" aria-hidden="true" data-v-caed1923><svg viewBox="0 0 280 100" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-caed1923><!--[--><rect class="sx-ink-f" x="16" y="10" width="248" height="80" rx="7" data-v-caed1923></rect><path class="sx-ink" d="M16 26 H264 M140 26 V90" data-v-caed1923></path><circle class="sx-ink-d" cx="27" cy="18" r="2.5" data-v-caed1923></circle><circle class="sx-ink-d" cx="35" cy="18" r="2.5" data-v-caed1923></circle><circle class="sx-ink-d" cx="43" cy="18" r="2.5" data-v-caed1923></circle><rect class="sx-af sx-glow" x="214" y="12.5" width="40" height="11" rx="5.5" data-v-caed1923></rect><text class="sx-mono sx-ta" x="234" y="20.8" text-anchor="middle" style="font-size:7.5px;" data-v-caed1923>▶ Run</text><rect class="sx-pd" x="26" y="36" width="26" height="5" rx="2" data-v-caed1923></rect><rect class="sx-ink-d" x="56" y="36" width="44" height="5" rx="2" data-v-caed1923></rect><rect class="sx-ink-d" x="34" y="48" width="36" height="5" rx="2" data-v-caed1923></rect><rect class="sx-pd" x="74" y="48" width="40" height="5" rx="2" data-v-caed1923></rect><rect class="sx-ink-d" x="34" y="60" width="56" height="5" rx="2" data-v-caed1923></rect><rect class="sx-pd" x="26" y="72" width="30" height="5" rx="2" data-v-caed1923></rect><path class="sx-ink" d="M150 80 H254" data-v-caed1923></path><path class="sx-ink" d="M152 68 C172 58 194 46 220 60 C234 66 246 54 254 54" stroke-dasharray="3 2" data-v-caed1923></path><path class="sx-p" d="M152 76 C168 36 184 74 202 50 C218 34 236 54 254 46" stroke-width="2" data-v-caed1923></path><circle class="sx-ad sx-glow" cx="254" cy="46" r="2.6" data-v-caed1923></circle><!--]--></svg></div><div class="surf-top" data-v-caed1923><span class="surf-icon ms-tone-tile" data-v-caed1923><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><circle cx="12" cy="12" r="10"/></g><g class="ms-icon-primary" data-v-04166964><circle cx="12" cy="12" r="10"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/></g><!--]--></svg></span><span class="surf-tag" data-v-caed1923>Zero install</span></div><h3 data-v-caed1923>Playground</h3><p data-v-caed1923>Edit, lint, and simulate models in your browser. Nothing to install.</p><span class="surf-cta" data-v-caed1923>Open Playground <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="https://ide.modelscript.org" class="surf-card" style="--tone-p:var(--hue-indigo);--tone-a:var(--hue-cyan);" data-v-caed1923><div class="ms-schematic surf-schematic" aria-hidden="true" data-v-caed1923><svg viewBox="0 0 280 100" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-caed1923><!--[--><rect class="sx-ink-f" x="16" y="10" width="248" height="80" rx="7" data-v-caed1923></rect><path class="sx-ink" d="M40 10 V90 M176 10 V90" data-v-caed1923></path><rect class="sx-pf" x="23" y="20" width="10" height="10" rx="2.5" data-v-caed1923></rect><rect class="sx-ink-f" x="23" y="36" width="10" height="10" rx="2.5" data-v-caed1923></rect><rect class="sx-ink-f" x="23" y="52" width="10" height="10" rx="2.5" data-v-caed1923></rect><path class="sx-p" d="M86 33 H104 M144 33 H153" stroke-width="1.5" data-v-caed1923></path><path class="sx-a" d="M160 40 V54 H69 V44" stroke-dasharray="2.5 2" data-v-caed1923></path><rect class="sx-pf" x="52" y="22" width="34" height="22" rx="4" data-v-caed1923></rect><text class="sx-mono sx-tp" x="69" y="36.5" text-anchor="middle" data-v-caed1923>PID</text><rect class="sx-pf" x="104" y="22" width="40" height="22" rx="4" data-v-caed1923></rect><text class="sx-mono sx-tp" x="124" y="36.5" text-anchor="middle" data-v-caed1923>Plant</text><circle class="sx-af sx-glow" cx="160" cy="33" r="7" data-v-caed1923></circle><rect class="sx-ink-f" x="52" y="64" width="114" height="16" rx="3" data-v-caed1923></rect><circle class="sx-ad" cx="60" cy="72" r="2.2" data-v-caed1923></circle><text class="sx-mono" x="66" y="75" style="font-size:8px;" data-v-caed1923>t = 0.42 s · 18 eqs</text><path class="sx-a" d="M186 78 C206 64 228 52 254 50" stroke-dasharray="2.5 2" data-v-caed1923></path><path class="sx-p" d="M186 74 L202 42 L218 58 L236 30 L254 44" stroke-width="1.75" data-v-caed1923></path><!--]--></svg></div><div class="surf-top" data-v-caed1923><span class="surf-icon ms-tone-tile" data-v-caed1923><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"/><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"/></g><!--]--></svg></span><!----></div><h3 data-v-caed1923>Web IDE</h3><p data-v-caed1923>A full VS Code-based workbench with diagrams, plots, and a simulation debugger.</p><span class="surf-cta" data-v-caed1923>Launch IDE <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="https://marketplace.visualstudio.com/items?itemName=modelscript.modelscript" class="surf-card" style="--tone-p:var(--hue-cyan);--tone-a:var(--hue-amber);" data-v-caed1923><div class="ms-schematic surf-schematic" aria-hidden="true" data-v-caed1923><svg viewBox="0 0 280 100" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-caed1923><!--[--><rect class="sx-pf" x="20" y="12" width="132" height="16" rx="4" data-v-caed1923></rect><text class="sx-mono sx-tp" x="27" y="23" style="font-size:8px;" data-v-caed1923>▶ Simulate · ✓ Balanced</text><rect class="sx-ink-d" x="20" y="38" width="44" height="6" rx="2" data-v-caed1923></rect><rect class="sx-pd" x="70" y="38" width="70" height="6" rx="2" data-v-caed1923></rect><rect class="sx-ink-d" x="32" y="52" width="64" height="6" rx="2" data-v-caed1923></rect><rect class="sx-ink-d" x="102" y="52" width="40" height="6" rx="2" data-v-caed1923></rect><path class="sx-a sx-glow" d="M102 63 Q104 60 106 63 T110 63 T114 63 T118 63 T122 63 T126 63 T130 63 T134 63 T138 63 T142 63" data-v-caed1923></path><rect class="sx-ink-d" x="32" y="70" width="50" height="6" rx="2" data-v-caed1923></rect><rect class="sx-pop" x="150" y="40" width="114" height="44" rx="6" data-v-caed1923></rect><text class="sx-mono sx-tp" x="158" y="57" style="font-size:8px;" data-v-caed1923>parameter Real τ</text><text class="sx-mono" x="158" y="72" style="font-size:8px;" data-v-caed1923>unit = "N.m"</text><!--]--></svg></div><div class="surf-top" data-v-caed1923><span class="surf-icon ms-tone-tile" data-v-caed1923><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="3" y="5" width="18" height="14" rx="3"/></g><g class="ms-icon-primary" data-v-04166964><path d="m8 6-6 6 6 6"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m16 18 6-6-6-6"/></g><!--]--></svg></span><!----></div><h3 data-v-caed1923>VS Code extension</h3><p data-v-caed1923>Language server for every supported format: diagnostics, completion, go-to-definition.</p><span class="surf-cta" data-v-caed1923>Install extension <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/cli/overview" class="surf-card" style="--tone-p:var(--hue-indigo);--tone-a:var(--hue-emerald);" data-v-caed1923><div class="ms-schematic surf-schematic" aria-hidden="true" data-v-caed1923><svg viewBox="0 0 280 100" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-caed1923><!--[--><path class="sx-ink" d="M86 48 H101 M182 48 H197" data-v-caed1923></path><polygon class="sx-ink-d" points="105,48 100,45 100,51" data-v-caed1923></polygon><polygon class="sx-ink-d" points="201,48 196,45 196,51" data-v-caed1923></polygon><rect class="sx-pf" x="16" y="28" width="70" height="40" rx="6" data-v-caed1923></rect><text class="sx-mono sx-tp" x="25" y="45" data-v-caed1923>msx lint</text><text class="sx-label" x="25" y="58" data-v-caed1923>0 errors</text><rect class="sx-pf" x="106" y="28" width="76" height="40" rx="6" data-v-caed1923></rect><text class="sx-mono sx-tp" x="115" y="45" data-v-caed1923>msx verify</text><text class="sx-label" x="115" y="58" data-v-caed1923>STL · IEEE</text><rect class="sx-af sx-glow" x="202" y="28" width="62" height="40" rx="6" data-v-caed1923></rect><text class="sx-mono sx-ta" x="211" y="45" data-v-caed1923>✓ SARIF</text><text class="sx-label" x="211" y="58" data-v-caed1923>FMI 3.0</text><!--]--></svg></div><div class="surf-top" data-v-caed1923><span class="surf-icon ms-tone-tile" data-v-caed1923><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="2" y="4" width="20" height="16" rx="3"/></g><g class="ms-icon-primary" data-v-04166964><path d="m4 17 6-6-6-6"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M12 19h8"/></g><!--]--></svg></span><!----></div><h3 data-v-caed1923>CLI & CI</h3><p data-v-caed1923>The msx command line for flattening, simulation, verification, and FMU export in pipelines.</p><span class="surf-cta" data-v-caed1923>CLI reference <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="/reference/mcp-and-ide" class="surf-card" style="--tone-p:var(--hue-violet);--tone-a:var(--hue-cyan);" data-v-caed1923><div class="ms-schematic surf-schematic" aria-hidden="true" data-v-caed1923><svg viewBox="0 0 280 100" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-caed1923><!--[--><path class="sx-a" d="M92 40 H184" stroke-width="1.6" stroke-dasharray="3 2" data-v-caed1923></path><polygon class="sx-ad" points="188,40 182,36.5 182,43.5" data-v-caed1923></polygon><text class="sx-mono sx-ta" x="139" y="33" text-anchor="middle" data-v-caed1923>tools/call</text><path class="sx-p" d="M188 60 H96" stroke-width="1.6" data-v-caed1923></path><polygon class="sx-pd" points="92,60 98,56.5 98,63.5" data-v-caed1923></polygon><text class="sx-mono sx-tp" x="139" y="74" text-anchor="middle" data-v-caed1923>DAE · proof</text><rect class="sx-pf" x="18" y="25" width="72" height="50" rx="8" data-v-caed1923></rect><text class="sx-label sx-tp" x="54" y="47" text-anchor="middle" data-v-caed1923>AI agent</text><text class="sx-label" x="54" y="60" text-anchor="middle" style="font-size:8px;" data-v-caed1923>any MCP client</text><rect class="sx-af sx-glow" x="190" y="25" width="72" height="50" rx="8" data-v-caed1923></rect><text class="sx-label sx-ta" x="226" y="47" text-anchor="middle" data-v-caed1923>ModelScript</text><text class="sx-label" x="226" y="60" text-anchor="middle" style="font-size:8px;" data-v-caed1923>31 tools</text><!--]--></svg></div><div class="surf-top" data-v-caed1923><span class="surf-icon ms-tone-tile" data-v-caed1923><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#a78bfa;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M19 3v4"/><path d="M21 5h-4"/><circle cx="5" cy="19" r="1.25"/></g><!--]--></svg></span><span class="surf-tag" data-v-caed1923>52 AI tools</span></div><h3 data-v-caed1923>MCP for AI agents</h3><p data-v-caed1923>A Model Context Protocol server that lets AI assistants compile, simulate, and analyze models.</p><span class="surf-cta" data-v-caed1923>MCP docs <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><a href="https://github.com/modelscript/modelscript/releases" class="surf-card" style="--tone-p:var(--hue-indigo);--tone-a:var(--hue-emerald);" data-v-caed1923><div class="ms-schematic surf-schematic" aria-hidden="true" data-v-caed1923><svg viewBox="0 0 280 100" fill="none" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" data-v-caed1923><!--[--><rect class="sx-ink-f" x="38" y="10" width="204" height="62" rx="6" data-v-caed1923></rect><path class="sx-ink" d="M126 72 L122 86 H158 L154 72" data-v-caed1923></path><polygon class="sx-pf" points="78,24 100,34 78,44 56,34" data-v-caed1923></polygon><path class="sx-p" d="M56 34 V50 L78 60 L100 50 V34 M78 44 V60" data-v-caed1923></path><rect class="sx-pf" x="116" y="26" width="72" height="30" rx="6" data-v-caed1923></rect><text class="sx-label sx-tp" x="152" y="39" text-anchor="middle" data-v-caed1923>Local GPU</text><text class="sx-label" x="152" y="50" text-anchor="middle" style="font-size:8px;" data-v-caed1923>air-gapped</text><circle class="sx-af sx-glow" cx="214" cy="41" r="12" stroke-width="1.5" data-v-caed1923></circle><path class="sx-a" d="M209 41 L213 45 L220 37" stroke-width="1.8" data-v-caed1923></path><!--]--></svg></div><div class="surf-top" data-v-caed1923><span class="surf-icon ms-tone-tile" data-v-caed1923><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#34d399;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="3" y="14" width="18" height="7" rx="2"/></g><g class="ms-icon-primary" data-v-04166964><path d="M12 15V3"/><path d="m7 10 5 5 5-5"/></g><g class="ms-icon-secondary" data-v-04166964><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/></g><!--]--></svg></span><!----></div><h3 data-v-caed1923>Desktop app</h3><p data-v-caed1923>Native desktop builds for offline and air-gapped engineering environments.</p><span class="surf-cta" data-v-caed1923>Download <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-caed1923 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></span></a><!--]--></div></div></section><section class="ms-section home-cta" data-v-0553be52><div class="ms-container" data-v-0553be52><div class="pillars" data-v-0553be52><!--[--><div class="pillar" data-v-0553be52><span class="pillar-icon" data-v-0553be52><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0553be52 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect x="3" y="5" width="18" height="14" rx="3"/></g><g class="ms-icon-primary" data-v-04166964><path d="m8 6-6 6 6 6"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m16 18 6-6-6-6"/></g><!--]--></svg></span><div data-v-0553be52><h3 data-v-0553be52>Open source</h3><p data-v-0553be52>AGPL-3.0. Read, audit, and extend every line.</p></div></div><div class="pillar" data-v-0553be52><span class="pillar-icon" data-v-0553be52><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#a78bfa;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0553be52 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><rect width="16" height="16" x="4" y="4" rx="2"/></g><g class="ms-icon-primary" data-v-04166964><rect width="16" height="16" x="4" y="4" rx="2"/><path d="M15 2v2"/><path d="M15 20v2"/><path d="M2 15h2"/><path d="M2 9h2"/><path d="M20 15h2"/><path d="M20 9h2"/><path d="M9 2v2"/><path d="M9 20v2"/></g><g class="ms-icon-secondary" data-v-04166964><rect width="6" height="6" x="9" y="9" rx="1"/></g><!--]--></svg></span><div data-v-0553be52><h3 data-v-0553be52>No license server</h3><p data-v-0553be52>Run on laptops, clusters, CI, and air-gapped networks.</p></div></div><div class="pillar" data-v-0553be52><span class="pillar-icon" data-v-0553be52><svg class="ms-icon ms-icon-duotone" style="--ms-icon-sec-default:#818cf8;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0553be52 data-v-04166964><!--[--><g class="ms-icon-fill" data-v-04166964><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/></g><g class="ms-icon-primary" data-v-04166964><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"/></g><g class="ms-icon-secondary" data-v-04166964><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"/><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"/></g><!--]--></svg></span><div data-v-0553be52><h3 data-v-0553be52>Standards first</h3><p data-v-0553be52>FMI, SSP, SysML v2, STEP, and ReqIF interchange.</p></div></div><!--]--></div><div class="ms-cta" data-v-0553be52><div data-v-0553be52><h2 data-v-0553be52>Start building your digital thread today</h2><p data-v-0553be52>Free and open source. Try it in the browser in seconds, or install the CLI.</p></div><div class="ms-cta-actions" data-v-0553be52><a class="ms-btn ms-btn-brand" href="/guide/getting-started" data-v-0553be52> Get started <svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0553be52 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></g></svg></a><a class="ms-btn ms-btn-ghost" href="https://github.com/modelscript/modelscript" data-v-0553be52><svg class="ms-icon" style="" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-0553be52 data-v-04166964><g class="ms-icon-foreground" data-v-04166964><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"/><path d="M9 18c-4.51 2-5-2-7-2"/></g></svg> GitHub </a></div></div></div></section></div></div></div></div><footer class="VPFooter" data-v-c4daae71 data-v-e3157d6d><div class="container" data-v-e3157d6d><p class="message" data-v-e3157d6d>Released under the GNU AGPL v3 License.</p><p class="copyright" data-v-e3157d6d>Copyright © 2026-present Mohamad Omar Nachawati and ModelScript Contributors.</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"algorithms_abstract-interpretation.md\":\"CqxileIG\",\"algorithms_autodiff.md\":\"CmWbH_cz\",\"algorithms_blt.md\":\"DupMDSQW\",\"algorithms_connector-balancing.md\":\"ClZLIQ2V\",\"algorithms_diagram-layout.md\":\"DqMPGEFw\",\"algorithms_graph-rewriting.md\":\"CPmaJajL\",\"algorithms_linear-memory-structures.md\":\"D2fiO_Le\",\"algorithms_optimization.md\":\"Dq1xcWUR\",\"algorithms_overview.md\":\"COcKj0mW\",\"algorithms_pantelides.md\":\"0ZrwNhe8\",\"algorithms_sdp-bvp-cad.md\":\"Dn6vhpYw\",\"algorithms_solvers-ode-dae.md\":\"BGB2vGYS\",\"algorithms_surrogates-linear-algebra.md\":\"Ck0WmOJO\",\"algorithms_tearing.md\":\"DpNDTK9d\",\"algorithms_theory-coordinator.md\":\"vougoxs0\",\"algorithms_verification-chc.md\":\"ehthHmdM\",\"architecture_dae-arena.md\":\"DaBL6Q4W\",\"architecture_glr-parser.md\":\"BH7xF8RB\",\"architecture_hil-wasm-runtime.md\":\"BbXwo8kG\",\"architecture_overview.md\":\"Iu6W1RlF\",\"architecture_salsa-queries.md\":\"g71c_PFS\",\"architecture_simulation-solvers.md\":\"CJc_6a-i\",\"architecture_tgg.md\":\"Lay8mjNF\",\"architecture_theory-coordinator.md\":\"L_7t-AWb\",\"cli_commands.md\":\"DrJYBR_u\",\"cli_overview.md\":\"7DdDVXaG\",\"guide_administration.md\":\"DSq9_ZpD\",\"guide_ai-agents.md\":\"CdiiZH6v\",\"guide_ci-cd.md\":\"DL6H2QdL\",\"guide_embedding.md\":\"TbZFhZsy\",\"guide_getting-started.md\":\"ChLJayRH\",\"guide_installation.md\":\"CKXURIFK\",\"guide_introduction.md\":\"CRV_CgPl\",\"index.md\":\"Y49GSE7Z\",\"industries_aerospace.md\":\"B9-a-rNg\",\"industries_automotive.md\":\"80A-ahkw\",\"industries_buildings.md\":\"eHe6BD0i\",\"industries_electronics.md\":\"B0QE_X6t\",\"industries_index.md\":\"C0QGYDWp\",\"industries_life-sciences.md\":\"gDBuf0Sb\",\"industries_marine.md\":\"D8e1Bo_J\",\"industries_nuclear.md\":\"C3z43Cap\",\"industries_oil-gas.md\":\"9M7fzbwC\",\"industries_power-systems.md\":\"B31He8VR\",\"industries_process.md\":\"DFvpxB8Y\",\"industries_rail.md\":\"Dp1X5-FU\",\"industries_robotics.md\":\"zOxGBm1C\",\"languages_adams.md\":\"CDW48pKb\",\"languages_aspen.md\":\"CiLJchq7\",\"languages_autosar.md\":\"fMQFKloK\",\"languages_c.md\":\"_vgNFF7a\",\"languages_ccsds.md\":\"x-Y8W-vT\",\"languages_cfd.md\":\"DihrAb-j\",\"languages_csv.md\":\"CBBfUY5U\",\"languages_easy5.md\":\"DR3YR8SM\",\"languages_eclipse.md\":\"BBs_hDuD\",\"languages_energyplus.md\":\"DN-mn6og\",\"languages_epanet.md\":\"CA9DdyVY\",\"languages_fea.md\":\"DZSbWICq\",\"languages_fortran.md\":\"CoTS9Ejc\",\"languages_gensys.md\":\"CZyjcAsY\",\"languages_gtsuite.md\":\"ByWvcz5q\",\"languages_ibis.md\":\"Cx4h9zZf\",\"languages_jsbsim.md\":\"B9n7-qVB\",\"languages_lps.md\":\"CQjcEbHR\",\"languages_modelica.md\":\"D8ZaiAY7\",\"languages_modelscript.md\":\"DwBcUG1b\",\"languages_olga.md\":\"TTwZ8LaS\",\"languages_opendrive.md\":\"DMStoo7U\",\"languages_opendss.md\":\"CdnxRgB0\",\"languages_openscenario.md\":\"BZh7FxQR\",\"languages_overview.md\":\"CZsntRII\",\"languages_owl2.md\":\"BuLe0lRe\",\"languages_plcopen.md\":\"D2zJclmk\",\"languages_pscad.md\":\"DtF89yAL\",\"languages_psse.md\":\"BUw9s7Ug\",\"languages_relap5.md\":\"B0ng7vWm\",\"languages_reqif.md\":\"COzPuM-2\",\"languages_rocets.md\":\"DGy_k_z2\",\"languages_sbml.md\":\"Cjnw7yP5\",\"languages_scad.md\":\"Cqzvd_63\",\"languages_sima.md\":\"wnPucQoM\",\"languages_simpack.md\":\"BPHwrno7\",\"languages_simulink.md\":\"Coq7oepd\",\"languages_spice.md\":\"Bk8ZpJ_1\",\"languages_ssp.md\":\"Bng6thOV\",\"languages_step.md\":\"DP2HCjtV\",\"languages_swmm.md\":\"DICArzBI\",\"languages_sysml2.md\":\"B8DywTjA\",\"languages_touchstone.md\":\"CAECRuPL\",\"languages_urdf.md\":\"C1WXZayb\",\"languages_verilog-a.md\":\"D0RsWy1L\",\"reference_export-formats.md\":\"COAbOjxs\",\"reference_linter-rules.md\":\"CjOg_L3v\",\"reference_mcp-and-ide.md\":\"CoK1k23G\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"ModelScript\",\"description\":\"Free, open-source toolchain that imports 44 simulation and CAE formats, links them to requirements, and lets you simulate, verify, and export — in the browser, CLI, or VS Code.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":\"dark\",\"themeConfig\":{\"logo\":{\"light\":\"/ms-logo.png\",\"dark\":\"/ms-logo-light.png\",\"alt\":\"ModelScript\"},\"search\":{\"provider\":\"local\"},\"editLink\":{\"pattern\":\"https://github.com/modelscript/modelscript/edit/main/apps/docs/docs/:path\",\"text\":\"Edit this page on GitHub\"},\"lastUpdated\":{\"text\":\"Last updated\",\"formatOptions\":{\"dateStyle\":\"medium\"}},\"outline\":{\"level\":[2,3],\"label\":\"On this page\"},\"nav\":[{\"component\":\"IndustriesMegaMenu\"},{\"component\":\"PlatformMegaMenu\"},{\"component\":\"LanguagesMegaMenu\"},{\"component\":\"DocsMegaMenu\"},{\"text\":\"Playground\",\"link\":\"https://modelscript.org/playground\"}],\"sidebar\":{\"/guide/\":[{\"text\":\"Getting Started\",\"items\":[{\"text\":\"Introduction\",\"link\":\"/guide/introduction\"},{\"text\":\"Installation\",\"link\":\"/guide/installation\"},{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"}]},{\"text\":\"Guides & Operations\",\"items\":[{\"text\":\"AI Agents & MCP Workflows\",\"link\":\"/guide/ai-agents\"},{\"text\":\"CI/CD & GitHub Actions\",\"link\":\"/guide/ci-cd\"},{\"text\":\"Embedding Artifacts\",\"link\":\"/guide/embedding\"},{\"text\":\"Enterprise Administration\",\"link\":\"/guide/administration\"}]},{\"text\":\"Toolchain Reference\",\"items\":[{\"text\":\"CLI Overview\",\"link\":\"/cli/overview\"},{\"text\":\"CLI Command Reference\",\"link\":\"/cli/commands\"},{\"text\":\"Compiler Linter Rules\",\"link\":\"/reference/linter-rules\"},{\"text\":\"Standards & Export Formats\",\"link\":\"/reference/export-formats\"},{\"text\":\"MCP Server & IDE Workbench\",\"link\":\"/reference/mcp-and-ide\"}]}],\"/cli/\":[{\"text\":\"Getting Started\",\"items\":[{\"text\":\"Introduction\",\"link\":\"/guide/introduction\"},{\"text\":\"Installation\",\"link\":\"/guide/installation\"},{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"}]},{\"text\":\"Guides & Operations\",\"items\":[{\"text\":\"AI Agents & MCP Workflows\",\"link\":\"/guide/ai-agents\"},{\"text\":\"CI/CD & GitHub Actions\",\"link\":\"/guide/ci-cd\"},{\"text\":\"Embedding Artifacts\",\"link\":\"/guide/embedding\"},{\"text\":\"Enterprise Administration\",\"link\":\"/guide/administration\"}]},{\"text\":\"Toolchain Reference\",\"items\":[{\"text\":\"CLI Overview\",\"link\":\"/cli/overview\"},{\"text\":\"CLI Command Reference\",\"link\":\"/cli/commands\"},{\"text\":\"Compiler Linter Rules\",\"link\":\"/reference/linter-rules\"},{\"text\":\"Standards & Export Formats\",\"link\":\"/reference/export-formats\"},{\"text\":\"MCP Server & IDE Workbench\",\"link\":\"/reference/mcp-and-ide\"}]}],\"/reference/\":[{\"text\":\"Getting Started\",\"items\":[{\"text\":\"Introduction\",\"link\":\"/guide/introduction\"},{\"text\":\"Installation\",\"link\":\"/guide/installation\"},{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"}]},{\"text\":\"Guides & Operations\",\"items\":[{\"text\":\"AI Agents & MCP Workflows\",\"link\":\"/guide/ai-agents\"},{\"text\":\"CI/CD & GitHub Actions\",\"link\":\"/guide/ci-cd\"},{\"text\":\"Embedding Artifacts\",\"link\":\"/guide/embedding\"},{\"text\":\"Enterprise Administration\",\"link\":\"/guide/administration\"}]},{\"text\":\"Toolchain Reference\",\"items\":[{\"text\":\"CLI Overview\",\"link\":\"/cli/overview\"},{\"text\":\"CLI Command Reference\",\"link\":\"/cli/commands\"},{\"text\":\"Compiler Linter Rules\",\"link\":\"/reference/linter-rules\"},{\"text\":\"Standards & Export Formats\",\"link\":\"/reference/export-formats\"},{\"text\":\"MCP Server & IDE Workbench\",\"link\":\"/reference/mcp-and-ide\"}]}],\"/architecture/\":[{\"text\":\"Compiler Architecture\",\"items\":[{\"text\":\"Overview & Pipeline\",\"link\":\"/architecture/overview\"},{\"text\":\"WASM GLR Parser\",\"link\":\"/architecture/glr-parser\"},{\"text\":\"Salsa Query Engine\",\"link\":\"/architecture/salsa-queries\"},{\"text\":\"Linear DAE Arena\",\"link\":\"/architecture/dae-arena\"},{\"text\":\"Triple Graph Grammars\",\"link\":\"/architecture/tgg\"},{\"text\":\"Nelson-Oppen Coordinator\",\"link\":\"/architecture/theory-coordinator\"},{\"text\":\"Simulation Solvers\",\"link\":\"/architecture/simulation-solvers\"},{\"text\":\"SIL & Real-Time HIL\",\"link\":\"/architecture/hil-wasm-runtime\"}]},{\"text\":\"Algorithms Catalog\",\"items\":[{\"text\":\"Overview & Index\",\"link\":\"/algorithms/overview\"},{\"text\":\"Pantelides Index Reduction\",\"link\":\"/algorithms/pantelides\"},{\"text\":\"Tarjan BLT Partitioning\",\"link\":\"/algorithms/blt\"},{\"text\":\"Cellier-Elmqvist Tearing\",\"link\":\"/algorithms/tearing\"},{\"text\":\"Acausal Connector Balancing\",\"link\":\"/algorithms/connector-balancing\"},{\"text\":\"Automatic Differentiation\",\"link\":\"/algorithms/autodiff\"},{\"text\":\"Numerical ODE/DAE Solvers\",\"link\":\"/algorithms/solvers-ode-dae\"},{\"text\":\"Optimization Algorithms\",\"link\":\"/algorithms/optimization\"},{\"text\":\"Nelson-Oppen & SMT Solvers\",\"link\":\"/algorithms/theory-coordinator\"},{\"text\":\"CHC & IC3 Verification\",\"link\":\"/algorithms/verification-chc\"},{\"text\":\"Abstract Interpretation Domains\",\"link\":\"/algorithms/abstract-interpretation\"},{\"text\":\"Graph Rewriting & E-Graphs\",\"link\":\"/algorithms/graph-rewriting\"},{\"text\":\"Linear Memory Structures\",\"link\":\"/algorithms/linear-memory-structures\"},{\"text\":\"Scientific Computing & Surrogates\",\"link\":\"/algorithms/surrogates-linear-algebra\"},{\"text\":\"SDP, BVP & Geometric CSG\",\"link\":\"/algorithms/sdp-bvp-cad\"},{\"text\":\"Diagram Layout & Routing\",\"link\":\"/algorithms/diagram-layout\"}]}],\"/algorithms/\":[{\"text\":\"Compiler Architecture\",\"items\":[{\"text\":\"Overview & Pipeline\",\"link\":\"/architecture/overview\"},{\"text\":\"WASM GLR Parser\",\"link\":\"/architecture/glr-parser\"},{\"text\":\"Salsa Query Engine\",\"link\":\"/architecture/salsa-queries\"},{\"text\":\"Linear DAE Arena\",\"link\":\"/architecture/dae-arena\"},{\"text\":\"Triple Graph Grammars\",\"link\":\"/architecture/tgg\"},{\"text\":\"Nelson-Oppen Coordinator\",\"link\":\"/architecture/theory-coordinator\"},{\"text\":\"Simulation Solvers\",\"link\":\"/architecture/simulation-solvers\"},{\"text\":\"SIL & Real-Time HIL\",\"link\":\"/architecture/hil-wasm-runtime\"}]},{\"text\":\"Algorithms Catalog\",\"items\":[{\"text\":\"Overview & Index\",\"link\":\"/algorithms/overview\"},{\"text\":\"Pantelides Index Reduction\",\"link\":\"/algorithms/pantelides\"},{\"text\":\"Tarjan BLT Partitioning\",\"link\":\"/algorithms/blt\"},{\"text\":\"Cellier-Elmqvist Tearing\",\"link\":\"/algorithms/tearing\"},{\"text\":\"Acausal Connector Balancing\",\"link\":\"/algorithms/connector-balancing\"},{\"text\":\"Automatic Differentiation\",\"link\":\"/algorithms/autodiff\"},{\"text\":\"Numerical ODE/DAE Solvers\",\"link\":\"/algorithms/solvers-ode-dae\"},{\"text\":\"Optimization Algorithms\",\"link\":\"/algorithms/optimization\"},{\"text\":\"Nelson-Oppen & SMT Solvers\",\"link\":\"/algorithms/theory-coordinator\"},{\"text\":\"CHC & IC3 Verification\",\"link\":\"/algorithms/verification-chc\"},{\"text\":\"Abstract Interpretation Domains\",\"link\":\"/algorithms/abstract-interpretation\"},{\"text\":\"Graph Rewriting & E-Graphs\",\"link\":\"/algorithms/graph-rewriting\"},{\"text\":\"Linear Memory Structures\",\"link\":\"/algorithms/linear-memory-structures\"},{\"text\":\"Scientific Computing & Surrogates\",\"link\":\"/algorithms/surrogates-linear-algebra\"},{\"text\":\"SDP, BVP & Geometric CSG\",\"link\":\"/algorithms/sdp-bvp-cad\"},{\"text\":\"Diagram Layout & Routing\",\"link\":\"/algorithms/diagram-layout\"}]}],\"/languages/\":[{\"text\":\"Polyglot Languages\",\"items\":[{\"text\":\"Overview & Matrix\",\"link\":\"/languages/overview\"}]},{\"text\":\"Core & Systems Engineering\",\"collapsed\":false,\"items\":[{\"text\":\"ModelScript (.msx)\",\"link\":\"/languages/modelscript\"},{\"text\":\"Modelica\",\"link\":\"/languages/modelica\"},{\"text\":\"SysML v2 / KerML\",\"link\":\"/languages/sysml2\"},{\"text\":\"ReqIF Requirements\",\"link\":\"/languages/reqif\"},{\"text\":\"SSP System Packaging\",\"link\":\"/languages/ssp\"},{\"text\":\"OWL2 Ontology\",\"link\":\"/languages/owl2\"}]},{\"text\":\"Geometry & Continuum\",\"collapsed\":false,\"items\":[{\"text\":\"STEP CAD (ISO 10303)\",\"link\":\"/languages/step\"},{\"text\":\"OpenSCAD CSG\",\"link\":\"/languages/scad\"},{\"text\":\"CFD (SU2 / OpenFOAM)\",\"link\":\"/languages/cfd\"},{\"text\":\"FEA Structural Analysis\",\"link\":\"/languages/fea\"}]},{\"text\":\"Data & Code Integration\",\"collapsed\":false,\"items\":[{\"text\":\"CSV Telemetry\",\"link\":\"/languages/csv\"},{\"text\":\"C Integration\",\"link\":\"/languages/c\"},{\"text\":\"Fortran Integration\",\"link\":\"/languages/fortran\"}]},{\"text\":\"Aerospace & Defense\",\"collapsed\":true,\"items\":[{\"text\":\"JSBSim Flight Dynamics\",\"link\":\"/languages/jsbsim\"},{\"text\":\"NASA ROCETS Propulsion\",\"link\":\"/languages/rocets\"},{\"text\":\"CCSDS Space Telemetry\",\"link\":\"/languages/ccsds\"},{\"text\":\"EASY5 Simulation\",\"link\":\"/languages/easy5\"}]},{\"text\":\"Automotive & Mobility\",\"collapsed\":true,\"items\":[{\"text\":\"AUTOSAR Architecture\",\"link\":\"/languages/autosar\"},{\"text\":\"MATLAB Simulink\",\"link\":\"/languages/simulink\"},{\"text\":\"GT-SUITE / GT-POWER\",\"link\":\"/languages/gtsuite\"},{\"text\":\"OpenDRIVE Roads\",\"link\":\"/languages/opendrive\"},{\"text\":\"OpenSCENARIO AV Safety\",\"link\":\"/languages/openscenario\"}]},{\"text\":\"Rail\",\"collapsed\":true,\"items\":[{\"text\":\"GENSYS Railway Dynamics\",\"link\":\"/languages/gensys\"},{\"text\":\"SIMPACK Multibody Dynamics\",\"link\":\"/languages/simpack\"}]},{\"text\":\"Marine & Offshore\",\"collapsed\":true,\"items\":[{\"text\":\"SIMA / SIMO / RIFLEX\",\"link\":\"/languages/sima\"}]},{\"text\":\"Power Systems & Grid\",\"collapsed\":true,\"items\":[{\"text\":\"PSCAD Power Systems\",\"link\":\"/languages/pscad\"},{\"text\":\"PSS/E Power Flow (.raw)\",\"link\":\"/languages/psse\"},{\"text\":\"OpenDSS Distribution\",\"link\":\"/languages/opendss\"}]},{\"text\":\"Oil, Gas & Subsurface\",\"collapsed\":true,\"items\":[{\"text\":\"OLGA Multiphase Flow\",\"link\":\"/languages/olga\"},{\"text\":\"PipelineStudio (.lps)\",\"link\":\"/languages/lps\"},{\"text\":\"ECLIPSE Reservoir\",\"link\":\"/languages/eclipse\"}]},{\"text\":\"Nuclear\",\"collapsed\":true,\"items\":[{\"text\":\"RELAP5 Nuclear Loops\",\"link\":\"/languages/relap5\"}]},{\"text\":\"Buildings & Civil Infrastructure\",\"collapsed\":true,\"items\":[{\"text\":\"EnergyPlus Thermal\",\"link\":\"/languages/energyplus\"},{\"text\":\"EPANET Water Networks\",\"link\":\"/languages/epanet\"},{\"text\":\"SWMM Urban Hydrology\",\"link\":\"/languages/swmm\"}]},{\"text\":\"Electronics & Semiconductors\",\"collapsed\":true,\"items\":[{\"text\":\"SPICE Electronics\",\"link\":\"/languages/spice\"},{\"text\":\"Verilog-A Devices\",\"link\":\"/languages/verilog-a\"},{\"text\":\"IBIS Buffer Modeling\",\"link\":\"/languages/ibis\"},{\"text\":\"Touchstone RF / SI\",\"link\":\"/languages/touchstone\"}]},{\"text\":\"Robotics & Industrial Automation\",\"collapsed\":true,\"items\":[{\"text\":\"URDF & Xacro Robotics\",\"link\":\"/languages/urdf\"},{\"text\":\"PLCopen Automation\",\"link\":\"/languages/plcopen\"},{\"text\":\"MSC Adams MBD\",\"link\":\"/languages/adams\"}]},{\"text\":\"Chemical & Process\",\"collapsed\":true,\"items\":[{\"text\":\"Aspen Chemical Process\",\"link\":\"/languages/aspen\"}]},{\"text\":\"Life Sciences\",\"collapsed\":true,\"items\":[{\"text\":\"SBML Systems Biology\",\"link\":\"/languages/sbml\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/modelscript/modelscript\"},{\"icon\":\"npm\",\"link\":\"https://www.npmjs.com/org/modelscript\"}],\"footer\":{\"message\":\"Released under the GNU AGPL v3 License.\",\"copyright\":\"Copyright © 2026-present Mohamad Omar Nachawati and ModelScript Contributors.\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>