Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
48 lines (45 loc) · 40.3 KB
/
Copy pathindex.html
File metadata and controls
48 lines (45 loc) · 40.3 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
<!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</title>
<meta name="description" content="Open-source computable digital thread unifying Modelica, SysML2, 3D CAD, and continuum physics.">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.nUXKEBf8.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.VY0QaO9y.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.ULHvdObK.js">
<link rel="modulepreload" href="/assets/chunks/framework.CBxkvBm_.js">
<link rel="modulepreload" href="/assets/index.md.CdCZLBpQ.lean.js">
<link rel="icon" href="/favicon.ico">
<link rel="icon" type="image/png" href="/ms-logo.png">
<link rel="canonical" href="https://modelscript.org">
<meta name="theme-color" content="#0d1117">
<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:title" content="ModelScript — The Computable Digital Thread for Engineering & Simulation">
<meta property="og:description" content="Parse, lint, flatten, simulate, optimize, and formally verify across Modelica, SysML v2, CAD, and continuum physics — uniting multi-domain engineering in an active computable digital thread. Free and open-source under AGPL-3.0.">
<meta property="og:url" content="https://modelscript.org">
<meta property="og:image" content="https://modelscript.org/ms-logo.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ModelScript — The Computable Digital Thread for Engineering & Simulation">
<meta name="twitter:description" content="Parse, lint, flatten, simulate, optimize, and formally verify across Modelica, SysML v2, CAD, and continuum physics — uniting multi-domain engineering in an active computable digital thread.">
<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>
</head>
<body>
<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><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide/introduction.html" tabindex="0" data-v-5bacfe89 data-v-8dbce4d0><!--[--><span data-v-8dbce4d0>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/architecture/overview.html" tabindex="0" data-v-5bacfe89 data-v-8dbce4d0><!--[--><span data-v-8dbce4d0>Architecture</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/algorithms/overview.html" tabindex="0" data-v-5bacfe89 data-v-8dbce4d0><!--[--><span data-v-8dbce4d0>Algorithms</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/languages/overview.html" tabindex="0" data-v-5bacfe89 data-v-8dbce4d0><!--[--><span data-v-8dbce4d0>Languages</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/cli/overview.html" tabindex="0" data-v-5bacfe89 data-v-8dbce4d0><!--[--><span data-v-8dbce4d0>CLI</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/reference/linter-rules.html" tabindex="0" data-v-5bacfe89 data-v-8dbce4d0><!--[--><span data-v-8dbce4d0>Reference</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-5bacfe89 data-v-40e55da0><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-40e55da0><span class="text" data-v-40e55da0><!----><span data-v-40e55da0>Ecosystem</span><span class="vpi-chevron-down text-icon" data-v-40e55da0></span></span></button><div class="menu" data-v-40e55da0><div class="VPMenu" data-v-40e55da0 data-v-39eca401><div class="items" data-v-39eca401><!--[--><!--[--><div class="VPMenuLink" data-v-39eca401 data-v-65e4a6b1><a class="VPLink link vp-external-link-icon" href="https://modelscript.org/playground" target="_blank" rel="noreferrer" data-v-65e4a6b1><!--[--><span data-v-65e4a6b1>Playground</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-39eca401 data-v-65e4a6b1><a class="VPLink link vp-external-link-icon" href="https://ide.modelscript.org" target="_blank" rel="noreferrer" data-v-65e4a6b1><!--[--><span data-v-65e4a6b1>Web IDE</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-39eca401 data-v-65e4a6b1><a class="VPLink link vp-external-link-icon" href="https://marketplace.visualstudio.com/items?itemName=modelscript.modelscript" target="_blank" rel="noreferrer" data-v-65e4a6b1><!--[--><span data-v-65e4a6b1>VS Code Extension</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-39eca401 data-v-65e4a6b1><a class="VPLink link vp-external-link-icon" href="/modelscript-reference-manual.pdf" target="_blank" rel="noreferrer" data-v-65e4a6b1><!--[--><span data-v-65e4a6b1>PDF Manual (164p)</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></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>The Computable Digital Thread for Engineering & Simulation</span></h1><p class="tagline" data-v-d266baba>Parse, lint, flatten, simulate, optimize, and formally verify across Modelica, SysML v2, CAD, and continuum physics — uniting multi-domain engineering in an active computable digital thread. Free and open-source under AGPL-3.0.</p><!--]--><!--[--><!--]--><div class="actions" data-v-d266baba><!--[--><div class="action" data-v-d266baba><a class="VPButton medium brand" href="/guide/introduction.html" 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 in Browser (Playground)</a></div><div class="action" data-v-d266baba><a class="VPButton medium alt" href="https://ide.modelscript.org" target="_blank" rel="noreferrer" data-v-d266baba data-v-b20c43c2>Launch Web IDE</a></div><div class="action" data-v-d266baba><a class="VPButton medium alt" href="https://github.com/modelscript/modelscript" target="_blank" rel="noreferrer" data-v-d266baba data-v-b20c43c2>View on GitHub</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></div></div></div><!--[--><!--]--><!--[--><!--]--><div class="VPFeatures VPHomeFeatures" data-v-8b59c434 data-v-1da4ff3d><div class="container" data-v-1da4ff3d><div class="items" data-v-1da4ff3d><!--[--><div class="grid-6 item" data-v-1da4ff3d><a class="VPLink link no-icon VPFeature" href="/architecture/glr-parser.html" data-v-1da4ff3d data-v-95001937><!--[--><article class="box" data-v-95001937><div class="icon" data-v-95001937>⚡</div><h2 class="title" data-v-95001937>Incremental GLR Parsing</h2><p class="details" data-v-95001937>Native WebAssembly GLR incremental parser with full Modelica & SysML2 grammar coverage and instant IDE-speed responsiveness.</p><!----></article><!--]--></a></div><div class="grid-6 item" data-v-1da4ff3d><a class="VPLink link no-icon VPFeature" href="/reference/linter-rules.html" data-v-1da4ff3d data-v-95001937><!--[--><article class="box" data-v-95001937><div class="icon" data-v-95001937>🔍</div><h2 class="title" data-v-95001937>Real-Time Linting & Diagnostics</h2><p class="details" data-v-95001937>Over 200 compiler lint rules across 7 languages covering syntax errors, unresolved references, type mismatches, and structural consistency checks.</p><!----></article><!--]--></a></div><div class="grid-6 item" data-v-1da4ff3d><a class="VPLink link no-icon VPFeature" href="/architecture/dae-arena.html" data-v-1da4ff3d data-v-95001937><!--[--><article class="box" data-v-95001937><div class="icon" data-v-95001937>🧬</div><h2 class="title" data-v-95001937>Arena DAE Flattening</h2><p class="details" data-v-95001937>High-speed flattening in WebAssembly linear memory transforming hierarchical models into Differential Algebraic Equations with zero AST overhead.</p><!----></article><!--]--></a></div><div class="grid-6 item" data-v-1da4ff3d><a class="VPLink link no-icon VPFeature" href="/algorithms/pantelides.html" data-v-1da4ff3d data-v-95001937><!--[--><article class="box" data-v-95001937><div class="icon" data-v-95001937>⚙️</div><h2 class="title" data-v-95001937>High-Performance Simulation</h2><p class="details" data-v-95001937>ODE/DAE numerical solver with Pantelides index reduction, Tarjan BLT partitioning, Cellier-Elmqvist tearing, and alias elimination.</p><!----></article><!--]--></a></div><div class="grid-6 item" data-v-1da4ff3d><a class="VPLink link no-icon VPFeature" href="/algorithms/optimization.html" data-v-1da4ff3d data-v-95001937><!--[--><article class="box" data-v-95001937><div class="icon" data-v-95001937>🎯</div><h2 class="title" data-v-95001937>Collocation Optimization</h2><p class="details" data-v-95001937>Direct collocation solver for optimal control problems with configurable state bounds, algebraic constraints, and custom objectives.</p><!----></article><!--]--></a></div><div class="grid-6 item" data-v-1da4ff3d><a class="VPLink link no-icon VPFeature" href="/architecture/overview.html" data-v-1da4ff3d data-v-95001937><!--[--><article class="box" data-v-95001937><div class="icon" data-v-95001937>🧵</div><h2 class="title" data-v-95001937>Computable Digital Thread</h2><p class="details" data-v-95001937>Unified hypergraph connecting SysML v2 requirements, Modelica physics, STEP CAD, and continuum analysis with bidirectional TGG synchronization and formal verification.</p><!----></article><!--]--></a></div><!--]--></div></div></div><!--[--><!--]--><div class="vp-doc container" style="" data-v-8b59c434 data-v-2498cc33><!--[--><div style="position:relative;" data-v-8b59c434><div><section class="home-section quickstart-section" data-v-df468c35><div class="section-container" data-v-df468c35><div class="section-header" data-v-df468c35><span class="section-badge" data-v-df468c35>Get Started Fast</span><h2 class="section-title" data-v-df468c35>Quick Start</h2><p class="section-subtitle" data-v-df468c35> From installation to computable digital thread simulation and rendering in under two minutes with the unified <code data-v-df468c35>msc</code> CLI. </p></div><div class="quickstart-timeline" data-v-df468c35><!--[--><div class="timeline-step" data-v-df468c35><div class="step-badge" data-v-df468c35><span class="step-num" data-v-df468c35>1</span></div><div class="step-card" data-v-df468c35><div class="step-meta" data-v-df468c35><h3 class="step-title" data-v-df468c35>Install the CLI</h3><p class="step-desc" data-v-df468c35>Install the unified command-line toolchain globally via npm.</p></div><div class="terminal-block" data-v-df468c35><div class="terminal-bar" data-v-df468c35><div class="terminal-dots" data-v-df468c35><span class="dot red" data-v-df468c35></span><span class="dot yellow" data-v-df468c35></span><span class="dot green" data-v-df468c35></span></div><span class="terminal-label" data-v-df468c35>bash</span><button type="button" class="copy-btn" aria-label="Copy command for step 1" data-v-df468c35><span class="copy-text" data-v-df468c35>Copy</span></button></div><pre class="terminal-code" data-v-df468c35><code data-v-df468c35><span class="prompt" data-v-df468c35>$ </span>npm install -g @modelscript/cli</code></pre></div></div></div><div class="timeline-step" data-v-df468c35><div class="step-badge" data-v-df468c35><span class="step-num" data-v-df468c35>2</span></div><div class="step-card" data-v-df468c35><div class="step-meta" data-v-df468c35><h3 class="step-title" data-v-df468c35>Flatten a Hierarchical Model</h3><p class="step-desc" data-v-df468c35>Lower Modelica classes to Differential Algebraic Equations with arena-native speed.</p></div><div class="terminal-block" data-v-df468c35><div class="terminal-bar" data-v-df468c35><div class="terminal-dots" data-v-df468c35><span class="dot red" data-v-df468c35></span><span class="dot yellow" data-v-df468c35></span><span class="dot green" data-v-df468c35></span></div><span class="terminal-label" data-v-df468c35>bash</span><button type="button" class="copy-btn" aria-label="Copy command for step 2" data-v-df468c35><span class="copy-text" data-v-df468c35>Copy</span></button></div><pre class="terminal-code" data-v-df468c35><code data-v-df468c35><span class="prompt" data-v-df468c35>$ </span>msc flatten Modelica.Electrical.Analog.Examples.CauerLowPassAnalog path/to/MSL</code></pre></div></div></div><div class="timeline-step" data-v-df468c35><div class="step-badge" data-v-df468c35><span class="step-num" data-v-df468c35>3</span></div><div class="step-card" data-v-df468c35><div class="step-meta" data-v-df468c35><h3 class="step-title" data-v-df468c35>Simulate ODE / DAE System</h3><p class="step-desc" data-v-df468c35>Execute numerical simulations with automatic index reduction and BLT partitioning.</p></div><div class="terminal-block" data-v-df468c35><div class="terminal-bar" data-v-df468c35><div class="terminal-dots" data-v-df468c35><span class="dot red" data-v-df468c35></span><span class="dot yellow" data-v-df468c35></span><span class="dot green" data-v-df468c35></span></div><span class="terminal-label" data-v-df468c35>bash</span><button type="button" class="copy-btn" aria-label="Copy command for step 3" data-v-df468c35><span class="copy-text" data-v-df468c35>Copy</span></button></div><pre class="terminal-code" data-v-df468c35><code data-v-df468c35><span class="prompt" data-v-df468c35>$ </span>msc simulate BouncingBall model.mo --stop-time 5</code></pre></div></div></div><div class="timeline-step" data-v-df468c35><div class="step-badge" data-v-df468c35><span class="step-num" data-v-df468c35>4</span></div><div class="step-card" data-v-df468c35><div class="step-meta" data-v-df468c35><h3 class="step-title" data-v-df468c35>Render Interactive SVG Diagram</h3><p class="step-desc" data-v-df468c35>Generate crisp vector diagrams from Modelica visual annotations.</p></div><div class="terminal-block" data-v-df468c35><div class="terminal-bar" data-v-df468c35><div class="terminal-dots" data-v-df468c35><span class="dot red" data-v-df468c35></span><span class="dot yellow" data-v-df468c35></span><span class="dot green" data-v-df468c35></span></div><span class="terminal-label" data-v-df468c35>bash</span><button type="button" class="copy-btn" aria-label="Copy command for step 4" data-v-df468c35><span class="copy-text" data-v-df468c35>Copy</span></button></div><pre class="terminal-code" data-v-df468c35><code data-v-df468c35><span class="prompt" data-v-df468c35>$ </span>msc render MyModel model.mo > diagram.svg</code></pre></div></div></div><!--]--></div></div></section><section class="home-section packages-section" data-v-f4fe9839><div class="section-container" data-v-f4fe9839><div class="section-header" data-v-f4fe9839><span class="section-badge" data-v-f4fe9839>Modular Ecosystem</span><h2 class="section-title" data-v-f4fe9839>Published Packages</h2><p class="section-subtitle" data-v-f4fe9839> Engineered for composability. Modular building blocks powering the computable digital thread. </p></div><div class="packages-grid" data-v-f4fe9839><!--[--><div class="package-card" data-v-f4fe9839><div class="package-top" data-v-f4fe9839><span class="package-name" data-v-f4fe9839>@modelscript/cli</span><span class="package-tag" data-v-f4fe9839>Toolchain</span></div><p class="package-desc" data-v-f4fe9839>The unified msc command-line toolchain — flatten, simulate, optimize, lint, render, and execute the digital thread.</p><div class="package-install-box" data-v-f4fe9839><span class="install-cmd" data-v-f4fe9839><code data-v-f4fe9839>npm install -g @modelscript/cli</code></span><button type="button" class="pkg-copy-btn" aria-label="Copy install command for @modelscript/cli" data-v-f4fe9839><span data-v-f4fe9839>Copy</span></button></div><div class="package-actions" data-v-f4fe9839><a href="/cli/overview" class="pkg-link" data-v-f4fe9839>Documentation →</a><a href="https://www.npmjs.com/package/@modelscript/cli" target="_blank" rel="noopener noreferrer" class="pkg-npm-link" data-v-f4fe9839>npm</a></div></div><div class="package-card" data-v-f4fe9839><div class="package-top" data-v-f4fe9839><span class="package-name" data-v-f4fe9839>@modelscript/modelica</span><span class="package-tag" data-v-f4fe9839>Compiler</span></div><p class="package-desc" data-v-f4fe9839>High-performance Modelica compiler — native WebAssembly GLR parser, CST indexer, and DAE flattener.</p><div class="package-install-box" data-v-f4fe9839><span class="install-cmd" data-v-f4fe9839><code data-v-f4fe9839>npm install @modelscript/modelica</code></span><button type="button" class="pkg-copy-btn" aria-label="Copy install command for @modelscript/modelica" data-v-f4fe9839><span data-v-f4fe9839>Copy</span></button></div><div class="package-actions" data-v-f4fe9839><a href="/languages/modelica" class="pkg-link" data-v-f4fe9839>Documentation →</a><a href="https://www.npmjs.com/package/@modelscript/modelica" target="_blank" rel="noopener noreferrer" class="pkg-npm-link" data-v-f4fe9839>npm</a></div></div><div class="package-card" data-v-f4fe9839><div class="package-top" data-v-f4fe9839><span class="package-name" data-v-f4fe9839>@modelscript/dsl</span><span class="package-tag" data-v-f4fe9839>Grammar & AST</span></div><p class="package-desc" data-v-f4fe9839>Polyglot modeling language runtime — AST combinators, GLR parser generator, and graph rewriting engines.</p><div class="package-install-box" data-v-f4fe9839><span class="install-cmd" data-v-f4fe9839><code data-v-f4fe9839>npm install @modelscript/dsl</code></span><button type="button" class="pkg-copy-btn" aria-label="Copy install command for @modelscript/dsl" data-v-f4fe9839><span data-v-f4fe9839>Copy</span></button></div><div class="package-actions" data-v-f4fe9839><a href="/architecture/overview" class="pkg-link" data-v-f4fe9839>Documentation →</a><a href="https://www.npmjs.com/package/@modelscript/dsl" target="_blank" rel="noopener noreferrer" class="pkg-npm-link" data-v-f4fe9839>npm</a></div></div><div class="package-card" data-v-f4fe9839><div class="package-top" data-v-f4fe9839><span class="package-name" data-v-f4fe9839>@modelscript/runtime</span><span class="package-tag" data-v-f4fe9839>Arena Engine</span></div><p class="package-desc" data-v-f4fe9839>Linear-memory WebAssembly DAE arena, Salsa incremental query engine, and computable digital thread coordinator.</p><div class="package-install-box" data-v-f4fe9839><span class="install-cmd" data-v-f4fe9839><code data-v-f4fe9839>npm install @modelscript/runtime</code></span><button type="button" class="pkg-copy-btn" aria-label="Copy install command for @modelscript/runtime" data-v-f4fe9839><span data-v-f4fe9839>Copy</span></button></div><div class="package-actions" data-v-f4fe9839><a href="/architecture/dae-arena" class="pkg-link" data-v-f4fe9839>Documentation →</a><a href="https://www.npmjs.com/package/@modelscript/runtime" target="_blank" rel="noopener noreferrer" class="pkg-npm-link" data-v-f4fe9839>npm</a></div></div><div class="package-card" data-v-f4fe9839><div class="package-top" data-v-f4fe9839><span class="package-name" data-v-f4fe9839>@modelscript/simulate</span><span class="package-tag" data-v-f4fe9839>Numerics</span></div><p class="package-desc" data-v-f4fe9839>Numerical ODE/DAE integrators, SUNDIALS CVODE/IDA, WebGPU batched solver, and surrogate modeling.</p><div class="package-install-box" data-v-f4fe9839><span class="install-cmd" data-v-f4fe9839><code data-v-f4fe9839>npm install @modelscript/simulate</code></span><button type="button" class="pkg-copy-btn" aria-label="Copy install command for @modelscript/simulate" data-v-f4fe9839><span data-v-f4fe9839>Copy</span></button></div><div class="package-actions" data-v-f4fe9839><a href="/algorithms/solvers-ode-dae" class="pkg-link" data-v-f4fe9839>Documentation →</a><a href="https://www.npmjs.com/package/@modelscript/simulate" target="_blank" rel="noopener noreferrer" class="pkg-npm-link" data-v-f4fe9839>npm</a></div></div><div class="package-card" data-v-f4fe9839><div class="package-top" data-v-f4fe9839><span class="package-name" data-v-f4fe9839>@modelscript/cad</span><span class="package-tag" data-v-f4fe9839>CAD / CSG</span></div><p class="package-desc" data-v-f4fe9839>CAD & ECAD engine — CSG primitives, OpenCascade integration, STEP (ISO 10303), and Gerber support.</p><div class="package-install-box" data-v-f4fe9839><span class="install-cmd" data-v-f4fe9839><code data-v-f4fe9839>npm install @modelscript/cad</code></span><button type="button" class="pkg-copy-btn" aria-label="Copy install command for @modelscript/cad" data-v-f4fe9839><span data-v-f4fe9839>Copy</span></button></div><div class="package-actions" data-v-f4fe9839><a href="/languages/step" class="pkg-link" data-v-f4fe9839>Documentation →</a><a href="https://www.npmjs.com/package/@modelscript/cad" target="_blank" rel="noopener noreferrer" class="pkg-npm-link" data-v-f4fe9839>npm</a></div></div><!--]--></div></div></section><section class="home-section vscode-section" data-v-0e7f87ce><div class="section-container" data-v-0e7f87ce><div class="section-header" data-v-0e7f87ce><span class="section-badge" data-v-0e7f87ce>Editor Tooling</span><h2 class="section-title" data-v-0e7f87ce>VS Code Extension</h2><p class="section-subtitle" data-v-0e7f87ce> Turn VS Code into a comprehensive physical modeling and simulation IDE. </p></div><div class="vscode-grid" data-v-0e7f87ce><!--[--><div class="vscode-feat-card" data-v-0e7f87ce><span class="feat-icon" data-v-0e7f87ce>🎨</span><div class="feat-content" data-v-0e7f87ce><h3 class="feat-title" data-v-0e7f87ce>Syntax Highlighting</h3><p class="feat-desc" data-v-0e7f87ce>Deep highlighting powered by WASM GLR parser tokens and TextMate grammar rules.</p></div></div><div class="vscode-feat-card" data-v-0e7f87ce><span class="feat-icon" data-v-0e7f87ce>⚡</span><div class="feat-content" data-v-0e7f87ce><h3 class="feat-title" data-v-0e7f87ce>Diagnostics & Linting</h3><p class="feat-desc" data-v-0e7f87ce>Sub-millisecond diagnostics with 15+ compiler lint rules and inline quick-fixes.</p></div></div><div class="vscode-feat-card" data-v-0e7f87ce><span class="feat-icon" data-v-0e7f87ce>📊</span><div class="feat-content" data-v-0e7f87ce><h3 class="feat-title" data-v-0e7f87ce>Interactive Diagramming</h3><p class="feat-desc" data-v-0e7f87ce>Visual schematic editor with automatic connector routing and SVG icon rendering.</p></div></div><div class="vscode-feat-card" data-v-0e7f87ce><span class="feat-icon" data-v-0e7f87ce>📈</span><div class="feat-content" data-v-0e7f87ce><h3 class="feat-title" data-v-0e7f87ce>In-Editor Simulation</h3><p class="feat-desc" data-v-0e7f87ce>Run numerical simulations and inspect trajectory plots without leaving VS Code.</p></div></div><div class="vscode-feat-card" data-v-0e7f87ce><span class="feat-icon" data-v-0e7f87ce>💡</span><div class="feat-content" data-v-0e7f87ce><h3 class="feat-title" data-v-0e7f87ce>Hover & Navigation</h3><p class="feat-desc" data-v-0e7f87ce>Go-to-definition, hover type inspection, and Salsa-backed semantic completion.</p></div></div><div class="vscode-feat-card" data-v-0e7f87ce><span class="feat-icon" data-v-0e7f87ce>📦</span><div class="feat-content" data-v-0e7f87ce><h3 class="feat-title" data-v-0e7f87ce>Bundled MSL</h3><p class="feat-desc" data-v-0e7f87ce>Pre-indexed Modelica Standard Library (MSL 4.0.0) ready out of the box.</p></div></div><!--]--></div><div class="vscode-actions" data-v-0e7f87ce><a href="https://marketplace.visualstudio.com/items?itemName=modelscript.modelscript" target="_blank" rel="noopener noreferrer" class="btn-primary" data-v-0e7f87ce> Install from Marketplace → </a><a href="https://open-vsx.org/extension/modelscript/modelscript" target="_blank" rel="noopener noreferrer" class="btn-secondary" data-v-0e7f87ce> Open VSX Registry </a></div></div></section><section class="home-section docker-section" data-v-217c687c><div class="section-container" data-v-217c687c><div class="section-header" data-v-217c687c><span class="section-badge" data-v-217c687c>Containerized Deployment</span><h2 class="section-title" data-v-217c687c>Run with Docker</h2><p class="section-subtitle" data-v-217c687c> Spin up the complete simulation API and Morsel environment locally with zero dependencies. </p></div><div class="docker-card" data-v-217c687c><div class="terminal-bar" data-v-217c687c><div class="terminal-dots" data-v-217c687c><span class="dot red" data-v-217c687c></span><span class="dot yellow" data-v-217c687c></span><span class="dot green" data-v-217c687c></span></div><span class="terminal-label" data-v-217c687c>docker-compose</span><button type="button" class="copy-btn" aria-label="Copy Docker command snippet" data-v-217c687c><span class="copy-text" data-v-217c687c>Copy</span></button></div><pre class="terminal-code" data-v-217c687c><code data-v-217c687c># Pull the pre-built multi-arch images
docker pull ghcr.io/modelscript/api:latest
docker pull ghcr.io/modelscript/morsel:latest
# Launch backend simulation server & interactive web UI
docker compose up -d</code></pre></div></div></section></div></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\":\"ua9zYoDV\",\"algorithms_autodiff.md\":\"CXd0GMMY\",\"algorithms_blt.md\":\"BFt3os2s\",\"algorithms_connector-balancing.md\":\"v1w1pZHw\",\"algorithms_diagram-layout.md\":\"DN48RiIC\",\"algorithms_graph-rewriting.md\":\"wX5CkZqR\",\"algorithms_linear-memory-structures.md\":\"6cLEPg4O\",\"algorithms_optimization.md\":\"CIo4yOVx\",\"algorithms_overview.md\":\"DejKFBo2\",\"algorithms_pantelides.md\":\"B7Z5o2It\",\"algorithms_sdp-bvp-cad.md\":\"Fu9hl47f\",\"algorithms_solvers-ode-dae.md\":\"DhNSfx2h\",\"algorithms_surrogates-linear-algebra.md\":\"CmRF-iWY\",\"algorithms_tearing.md\":\"VgQJsgUj\",\"algorithms_theory-coordinator.md\":\"NRnGpDy1\",\"algorithms_verification-chc.md\":\"Chzb-uPt\",\"architecture_dae-arena.md\":\"DMlxZZBH\",\"architecture_glr-parser.md\":\"BQWciXeY\",\"architecture_hil-wasm-runtime.md\":\"HDB3JHcX\",\"architecture_overview.md\":\"CpQF0dWM\",\"architecture_salsa-queries.md\":\"XgdpfDPC\",\"architecture_simulation-solvers.md\":\"DOlvxZog\",\"architecture_tgg.md\":\"a4yWQ3gF\",\"architecture_theory-coordinator.md\":\"sWZuS7tk\",\"cli_commands.md\":\"CJ8wIiAO\",\"cli_overview.md\":\"2nMwLeqN\",\"guide_administration.md\":\"xh9-nuLG\",\"guide_embedding.md\":\"MCqNvF1S\",\"guide_getting-started.md\":\"KlbYmcRy\",\"guide_installation.md\":\"19UzU_xD\",\"guide_introduction.md\":\"DWHF9AvB\",\"index.md\":\"CdCZLBpQ\",\"languages_adams.md\":\"CEbKk2wr\",\"languages_autosar.md\":\"BDY6P9o6\",\"languages_cfd.md\":\"yADveVzp\",\"languages_csv.md\":\"CD6UX9zm\",\"languages_easy5.md\":\"BvWzu3pD\",\"languages_fea.md\":\"DzYLKyOz\",\"languages_gensys.md\":\"DW0Bfvw7\",\"languages_gtsuite.md\":\"DsU8umL5\",\"languages_lps.md\":\"3s5N10sW\",\"languages_modelica.md\":\"wvbix_59\",\"languages_modelscript.md\":\"MB8v-6Fc\",\"languages_olga.md\":\"19MA_7Rj\",\"languages_overview.md\":\"layqBexy\",\"languages_owl2.md\":\"CSNKKGjL\",\"languages_pscad.md\":\"B3C5pIfh\",\"languages_psse.md\":\"D0KCGIRs\",\"languages_reqif.md\":\"gqb432yc\",\"languages_rocets.md\":\"Branhr0N\",\"languages_scad.md\":\"B6ghGNFQ\",\"languages_sima.md\":\"CsUewtU1\",\"languages_simpack.md\":\"DctM2L-D\",\"languages_simulink.md\":\"BWfLpXJ2\",\"languages_spice.md\":\"B4D9Dv9z\",\"languages_ssp.md\":\"zo53oMrP\",\"languages_step.md\":\"D5ElhH0O\",\"languages_sysml2.md\":\"D4H4yOBl\",\"languages_urdf.md\":\"EYDN-1NY\",\"reference_export-formats.md\":\"BJnxrUSQ\",\"reference_linter-rules.md\":\"Cj4Rq4m1\",\"reference_mcp-and-ide.md\":\"ByAZsTwN\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"ModelScript\",\"description\":\"Open-source computable digital thread unifying Modelica, SysML2, 3D CAD, and continuum physics.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":\"dark\",\"themeConfig\":{\"logo\":{\"light\":\"/ms-logo.png\",\"dark\":\"/ms-logo-light.png\",\"alt\":\"ModelScript\"},\"search\":{\"provider\":\"local\"},\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/introduction\"},{\"text\":\"Architecture\",\"link\":\"/architecture/overview\"},{\"text\":\"Algorithms\",\"link\":\"/algorithms/overview\"},{\"text\":\"Languages\",\"link\":\"/languages/overview\"},{\"text\":\"CLI\",\"link\":\"/cli/overview\"},{\"text\":\"Reference\",\"link\":\"/reference/linter-rules\"},{\"text\":\"Ecosystem\",\"items\":[{\"text\":\"Playground\",\"link\":\"https://modelscript.org/playground\"},{\"text\":\"Web IDE\",\"link\":\"https://ide.modelscript.org\"},{\"text\":\"VS Code Extension\",\"link\":\"https://marketplace.visualstudio.com/items?itemName=modelscript.modelscript\"},{\"text\":\"PDF Manual (164p)\",\"link\":\"/modelscript-reference-manual.pdf\",\"target\":\"_blank\"}]}],\"sidebar\":{\"/guide/\":[{\"text\":\"Getting Started\",\"items\":[{\"text\":\"Introduction\",\"link\":\"/guide/introduction\"},{\"text\":\"Installation\",\"link\":\"/guide/installation\"},{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"},{\"text\":\"Embedding Artifacts\",\"link\":\"/guide/embedding\"},{\"text\":\"Administration\",\"link\":\"/guide/administration\"}]}],\"/algorithms/\":[{\"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\"}]}],\"/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\"}]}],\"/languages/\":[{\"text\":\"Polyglot Languages\",\"items\":[{\"text\":\"Overview & Matrix\",\"link\":\"/languages/overview\"},{\"text\":\"ModelScript (.msx)\",\"link\":\"/languages/modelscript\"},{\"text\":\"Modelica\",\"link\":\"/languages/modelica\"},{\"text\":\"SysML v2 / KerML\",\"link\":\"/languages/sysml2\"},{\"text\":\"MATLAB Simulink\",\"link\":\"/languages/simulink\"},{\"text\":\"AUTOSAR Architecture\",\"link\":\"/languages/autosar\"},{\"text\":\"ReqIF Requirements\",\"link\":\"/languages/reqif\"},{\"text\":\"SPICE Electronics\",\"link\":\"/languages/spice\"},{\"text\":\"SIMPACK Multibody Dynamics\",\"link\":\"/languages/simpack\"},{\"text\":\"GENSYS Railway Dynamics\",\"link\":\"/languages/gensys\"},{\"text\":\"MSC Adams MBD\",\"link\":\"/languages/adams\"},{\"text\":\"URDF & Xacro Robotics\",\"link\":\"/languages/urdf\"},{\"text\":\"PSCAD Power Systems\",\"link\":\"/languages/pscad\"},{\"text\":\"PSS/E Power Flow (.raw)\",\"link\":\"/languages/psse\"},{\"text\":\"OLGA Multiphase Flow\",\"link\":\"/languages/olga\"},{\"text\":\"PipelineStudio (.lps)\",\"link\":\"/languages/lps\"},{\"text\":\"EASY5 Simulation\",\"link\":\"/languages/easy5\"},{\"text\":\"GT-SUITE / GT-POWER\",\"link\":\"/languages/gtsuite\"},{\"text\":\"SIMA / SIMO / RIFLEX\",\"link\":\"/languages/sima\"},{\"text\":\"NASA ROCETS Propulsion\",\"link\":\"/languages/rocets\"},{\"text\":\"STEP CAD (ISO 10303)\",\"link\":\"/languages/step\"},{\"text\":\"OWL2 Ontology\",\"link\":\"/languages/owl2\"},{\"text\":\"OpenSCAD CSG\",\"link\":\"/languages/scad\"},{\"text\":\"SSP System Packaging\",\"link\":\"/languages/ssp\"},{\"text\":\"CFD (SU2 / OpenFOAM)\",\"link\":\"/languages/cfd\"},{\"text\":\"FEA Structural Analysis\",\"link\":\"/languages/fea\"},{\"text\":\"CSV Telemetry\",\"link\":\"/languages/csv\"}]}],\"/cli/\":[{\"text\":\"CLI Toolchain\",\"items\":[{\"text\":\"CLI Overview\",\"link\":\"/cli/overview\"},{\"text\":\"Command Reference\",\"link\":\"/cli/commands\"}]}],\"/reference/\":[{\"text\":\"Reference & Diagnostics\",\"items\":[{\"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\"}]}]},\"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\":false}");</script>
</body>
</html>