State of the Art: Browser-Based SysML v2 Modeling

Introduction

This document surveys the landscape relevant to building a purely browser-based, client-side SysML v2 modeler. The timing is deliberate: on 21 July 2025 the OMG approved the final adoption of three linked specifications — SysML v2.0, KerML v1.0, and the Systems Modeling API and Services v1.0 (omg.org press release; omg.org/sysml/sysmlv2) — turning a decade of standardization into a stable target that every tool vendor is now building against. The API & Services spec is the most consequential part for tooling, because it defines a standard REST/HTTP interface for model access, persistence, querying, validation, and interoperability.

The survey is organized around the building blocks a new modeler must either reuse or replace:

  1. Existing web-based SysML v2 tools — Eclipse SysON as the reference open-source browser modeler.
  2. The canonical reference implementation — the OMG Systems-Modeling pilot codebases (textual parser, Jupyter kernel, REST API server, normative libraries).
  3. TypeScript/Langium tooling — SysIDE/Syside and the Langium framework that make in-browser SysML v2 language tooling feasible.
  4. Commercial tools & roadmaps — Dassault, PTC, IBM, Sparx, Capella/Eclipse, and the broader vendor ecosystem.
  5. Browser diagramming & layout frameworks — GLSP, Sprotty, maxGraph, JointJS, React Flow, diagram-js, ELK/elkjs, Yjs.
  6. In-browser persistence & serialization — IndexedDB/Dexie, OPFS, File System Access API, and the SysML v2 JSON / textual interchange formats.

A comparison table of the existing tools and a closing Gaps & opportunities subsection conclude the document.

A recurring theme across the entire landscape: most vendors are shipping SysML v2 alongside v1 (not as a replacement), authoring is still mostly desktop, and everyone is converging on the standard REST API as the integration backbone. A pure-browser, no-backend modeler is therefore a genuinely open niche.


1. Eclipse SysON

Eclipse SysON is an open-source, fully web-based MBSE (Model-Based Systems Engineering) modeling tool for authoring OMG SysML v2 models, led primarily by Obeo with CEA driving SysML v2 standard compliance. It runs entirely in the browser and is built as a ground-up implementation of the KerML and SysML v2 metamodels on top of the Sirius Web platform (mbse-syson.org, doc.mbse-syson.org – What is SysON, Obeo blog – Introducing Methodology Support).

Tech stack

SysON is built on Eclipse Sirius Web, Obeo's open-source low-code platform for defining custom web modeling editors, and inherits its full stack (eclipse.dev/sirius/sirius-web, Obeo blog – Sirius Web & SysON):

Supported SysML v2 diagram kinds & views

SysON provides graphical, form-based, and tabular editors. The graphical views are (SysON Docs – SysML v2 overview, Interconnection view, Obeo blog – SysON 2025.6):

Textual editing support

SysON supports the SysML v2 textual notation as an interchange format rather than as a full live textual IDE (SysML v2 textual format docs, import-export-textual.adoc on GitHub):

Persistence

Models are stored server-side in PostgreSQL through Sirius Web's persistence layer, using EMF/Ecore as the in-memory metamodel representation. Because the metamodel is EMF-based, models can be exported/imported as XMI, and additionally as SysML v2 textual files and as ZIP packages that preserve diagram layout (projects.eclipse.org/projects/modeling.syson, Developer guide, SysON 2025.6).

License

Eclipse Public License 2.0 (EPL-2.0); the repository also references LGPL-3.0 for certain dependency/component licensing (dual-license noting on GitHub) (projects.eclipse.org, GitHub repo).

Maturity & version

Notable limitations


2. SysML v2 Pilot Implementation & Reference API

The SysML v2 Pilot Implementation and the SysML v2 API & Services pilot are the official prototyping/reference codebases maintained by the OMG Systems-Modeling GitHub organization. They are the de-facto canonical reference against which the SysML v2 standard was developed and against which tool vendors validate their own implementations. Together with the companion SysML-v2-Release repository (the recommended starting point) and the SysML-v2-API-Cookbook, they constitute the executable reference for the language and its services.

What they are (reference implementation)

Their status as the canonical reference is reinforced by the fact that other tools (e.g., Eclipse SysON, vendor MBSE tools) target compatibility with the same REST API the SST deploys, and the Cookbook/Release repos are cited as the authoritative usage and model-library source. See https://www.omg.org/sysml/sysmlv2/ and the Systems Modeling API spec PDF https://www.omg.org/spec/SystemsModelingAPI/1.0/Beta1/PDF

The Java / Xtext basis

The Pilot Implementation is a Java codebase built on Eclipse Modeling Tools with Xtext providing the grammar, parser, scoping/name-resolution, and editor for the SysML/KerML textual notation. Key facts (from the repo README, https://github.com/Systems-Modeling/SysML-v2-Pilot-Implementation/blob/master/README.adoc):

Jupyter / textual notebook workflow

A first-class way to author SysML v2 is the Jupyter kernel, which "executes models via the new SysML textual language" and is "built on top of jupyter-jvm-basekernel." Details from https://github.com/Systems-Modeling/SysML-v2-Pilot-Implementation/blob/master/org.omg.sysml.jupyter.kernel/README.adoc:

This "textual notebook" workflow — write SysML text, execute, visualize, publish to the API — is the recommended low-friction way to learn and demo the language without the full Eclipse setup.

The REST API server (API & Services)

The reference server in SysML-v2-API-Services implements the REST/HTTP Platform-Specific Model (PSM) of the OMG Systems Modeling API. From https://github.com/Systems-Modeling/SysML-v2-API-Services:

The standardized API is what lets independent tools interoperate on the same model server; third parties have even built MCP servers and alternative front ends on top of it (e.g., https://roth-soft.de/blog/2025-09-18-building-mcp-server-sysml-v2-api.html, and SysON's API cookbook at https://doc.mbse-syson.org/syson/v2025.2.0/developer-guide/api-cookbook.html).

The standard (normative) model library

Distributed both inside the Pilot Implementation (sysml.library, kerml) and as release artifacts in SysML-v2-Release (textual .sysml, KPAR packages, and XMI). These libraries provide the foundational semantic vocabulary every model imports (base classifications, scalar/collection values, quantities and ISQ/SI units, geometry, control, analysis, metadata, etc.) and are required for name/cross-reference resolution in both the editor and the kernel.

Licenses

Note: a few specifics were drawn from cached GitHub README renders; version numbers (Eclipse 2025-12, JDK 21 for the pilot vs. JDK 11 for the API server) and the EPL/GPL dual-licensing should be re-verified against the live LICENSE and README.adoc files before relying on them contractually.

Sources: Pilot Implementation repo · Pilot README · Jupyter kernel README · JupyterLab package.json · API & Services repo · API Cookbook repo · API Java Client · SysML-v2-Release · OMG SysML v2 · Systems Modeling API spec PDF · MBSE4U: The SysML v2 Lab


3. TypeScript/Langium tooling (SysIDE, Langium)

SysIDE / Syside (Sensmetry)

SysIDE (pronounced "seaside") is an open-source SysML v2 textual editing and analysis system developed and maintained by Sensmetry, a company focused on safety- and mission-critical automated systems. Its core deliverable is a parser and a language server for the SysML v2 and KerML 2024-12 release specifications, surfaced primarily as a VS Code extension (GitHub: sensmetry/sysml-2ls, Sensmetry Syside page).

Built in TypeScript on Langium. SysIDE's codebase is ~98% TypeScript and is built on Langium (a TypeScript language-engineering/LSP framework — see below) for the SysML v2/KerML grammar, AST generation, and Language Server Protocol implementation. Development workflow uses the Langium grammar generator (e.g. pnpm run grammar:watch regenerates parser artifacts from the grammar declaration) (SysIDE overview PDF, Sensmetry). The approach and applications are documented in a peer-reviewed paper, "SysIDE: SysML v2 textual editing and analysis system: overview and applications," CEAS Space Journal (Springer, 2025) (Springer Link), indicating a reasonable level of maturity and external validation.

Language-server capabilities. The server provides a fairly complete LSP feature set: semantic highlighting, autocompletion, code navigation (go-to-definition), formatting, real-time syntax and semantic validation, reference search (find references), code folding, document symbols/outline, element renaming, and hover documentation (README, sysml-2ls).

Runs in-browser. Because it is pure TypeScript on Langium, SysIDE can run not only in desktop VS Code but also in VS Code for the Web (browser-based), as well as be embedded into other applications and automated workflows (sysml-2ls repo). This browser capability is inherited directly from Langium's web-worker architecture.

License. The extension source code is dual-licensed under the Eclipse Public License v2.0 (EPL-2.0) and GPLv2 with the GNU Classpath Exception (LICENSE file). The bundled SysML v2 standard library (from the OMG SysML-v2-Release) is separately licensed under LGPL v3.0 (README).

Maturity / status — important caveat. The original repo sensmetry/sysml-2ls is now branded "SysIDE Editor Legacy" and is deprecated: the README states it "has been deprecated and is no longer being maintained." Last release was v0.9.1 (Oct 2, 2025) and the repository was archived ~Oct 13, 2025. The deprecated Marketplace/Open VSX listings confirm this (Open VSX legacy, VS Marketplace legacy). The pre-1.0 version numbers signal it never reached a formally "stable" release under the legacy name.

The current Syside suite (successor). Sensmetry has rebranded/relaunched the line as Syside (sensmetry.com/syside):

Note: the public Syside marketing page does not itself restate the Langium/TypeScript implementation detail, but the lineage from the open-source sysml-2ls core (TypeScript + Langium) is well documented.

Langium itself (browser-capable DSL/LSP framework)

Langium is an open-source language-engineering / DSL framework written in TypeScript with first-class Language Server Protocol support. It is an Eclipse Foundation project (Eclipse Langium), originally created by TypeFox, and is explicitly positioned as the spiritual successor to Eclipse Xtext (langium.org, GitHub: eclipse-langium/langium, TypeFox blog).

License & maturity. Langium is MIT-licensed and mature — currently at v4.x (v4.2.2 at time of writing), having reached its 1.0 milestone back in 2023 (GitHub, TypeFox: Langium 1.0). The permissive MIT license makes it markedly easier to build on/redistribute than EPL- or LGPL-encumbered components.

Capabilities. From an EBNF-like grammar declaration, Langium generates a typed TypeScript AST, performs cross-reference resolution via configurable scoping, supports custom validations/diagnostics, and handles incremental workspace/document management. Out-of-the-box LSP features include code completion, diagnostics, find-references, formatting, hover, document symbols, and rename — i.e., exactly the feature surface SysIDE exposes (Langium Features).

Browser suitability (key strength for in-browser modeling). Langium is "built exclusively on web technologies" and runs equally in Node.js and the browser. In-browser, the language server runs in a Web Worker (so it does not block page load or UI), paired with the Monaco editor (the editor that powers VS Code) via monaco-editor-wrapper/monaco-languageclient, plus a custom/virtual file-system service to replace Node FS. A fully client-side setup (no backend) is possible using an "empty" single-document file system, giving a dedicated per-user language server, no network latency, and offline operation (TypeFox: Langium in the web browser). This architecture is precisely what enables SysML v2 tools like SysIDE/Syside to offer in-browser editing, and makes Langium a strong foundation for any browser-deployable SysML v2/KerML DSL tooling.

Sources:


4. Commercial tools & SysML v2 roadmaps

Standards context (why 2025–2026 is the inflection point)

On 21 July 2025 the OMG approved the final adoption of three linked specifications that anchor every vendor roadmap below: SysML v2.0, KerML v1.0, and the Systems Modeling API and Services v1.0 (omg.org press release; omg.org/sysml/sysmlv2). The API & Services spec is the most consequential part for tooling: it defines a standard REST/HTTP interface for model access, persistence, querying, validation and tool interoperability, so that, in Intercax's words, "any tool providing Systems Modeling API and Services 1.0 standard can be seamlessly integrated with other enterprise applications" (OMG release). The reference implementation (pilot textual parser, Jupyter kernel and REST server) lives on GitHub at github.com/Systems-Modeling/SysML-v2-Release. The DoD CTO office issued a SysML v2 technical highlight in Jan 2025 stressing the standardized API for the digital-engineering ecosystem (cto.mil PDF).

A recurring theme: most vendors are shipping SysML v2 alongside v1 (not as a replacement) and are building around the standard REST API as the integration backbone.

Dassault Systèmes — No Magic Cameo / CATIA Magic

PTC — PTC Modeler (formerly Windchill / Integrity Modeler)

IBM — Rhapsody (Rhapsody Systems Engineering)

Capella — and the Eclipse open-source v2 stack (SysON / Papyrus)

Other vendors / betas

Cross-cutting takeaways

Note: two primary pages (the IBM v1.5 announcement and the PTC Modeler 10.2 what's-new) returned HTTP 403 to automated fetch; their facts above are corroborated from the IBM/PTC search excerpts and secondary sources cited inline, but exact wording on those two could not be re-verified verbatim.


5. Browser diagramming & layout frameworks

This section evaluates each candidate against the constraints of a purely client-side SysML v2 modeler (no required server backend), with attention to five dimensions: license, browser-only feasibility, auto-layout, custom node/edge rendering, and fit for SysML notation. Two of these are not diagramming frameworks but complementary layers: ELK/elkjs (auto-layout) and Yjs (collaboration), covered last.

Quick comparison

Framework License Pure client-side? Built-in auto-layout SysML-notation fit
Eclipse GLSP EPL-2.0 Yes, since GLSP 2 "browser mode" Via ELK (server or in-browser) Strong (model-driven, ports/compartments)
Sprotty EPL-2.0 Yes (rendering/interaction only) Via elkjs (sprotty-elk) Good rendering layer; editing not included
Sirius Web / SysON EPL-2.0 No — needs Spring/Postgres backend Via ELK Excellent (SysON is a SysML v2 tool) but not client-only
maxGraph Apache-2.0 Yes (zero-dependency) Hierarchical/tree/organic + orthogonal routing Flexible low-level; build notation yourself
JointJS (core) MPL-2.0 (core); JointJS+ commercial Yes dagre/DirectedGraph in core; tree/stack/force in JointJS+ Good; advanced features behind paywall
React Flow / @xyflow MIT Yes (React only) None built-in (pair with elkjs/dagre) Good for nodes/edges; ports/compartments are custom work
Excalidraw MIT Yes None (free-form) Poor for formal notation; sketching only
diagram-js (bpmn-io) MIT (diagram-js); bpmn-js under bpmn.io watermark license Yes None built-in Good editing toolkit; build custom notation
ELK / elkjs EPL-2.0 Yes (GWT/J2CL, Web Worker) This is the layout engine N/A (pairs with a renderer)
Yjs MIT Yes N/A N/A (collaboration layer)

Eclipse GLSP (Graphical Language Server Platform)

Sprotty

Sirius Web (and Eclipse SysON)

maxGraph (mxGraph successor)

JointJS

React Flow / @xyflow

Excalidraw (@excalidraw/excalidraw)

bpmn-io / diagram-js

ELK / elkjs (auto-layout engine — complements the above)

Yjs (collaboration layer — complements the above)

Bottom-line guidance for a client-side SysML v2 modeler


6. In-browser persistence & serialization

This section surveys the client-only storage and serialization options relevant to a browser-resident SysML v2 modeling app: where to keep the model (IndexedDB/Dexie, File System Access API, OPFS), how to serialize it (JSON / JSON-LD), and how to interoperate with the two SysML v2 exchange formats (the textual notation and the standard API "metamodel" JSON). All facts below are drawn from the cited sources; a few uncertain points are flagged.

Storage engines

IndexedDB via Dexie.js

Dexie is a thin, promise-based wrapper over IndexedDB that exposes a higher-level, query-friendly API and, importantly, "works around bugs in the IndexedDB implementations, giving a more stable user experience" while handling database open/upgrade/indexing automatically (github.com/dexie/Dexie.js, dexie.org). IndexedDB itself stores structured objects (no JSON-stringify-everything), supports indexed queries, and is asynchronous and transactional, with quotas far larger than localStorage — typically at least ~1 GB on desktop and, on Chrome, up to ~80% of free disk; Firefox uses a dynamic per-origin quota; older Safari was historically much tighter (~50 MB per origin in some versions) (Dexie/StorageManager docs, pkgpulse comparison).

Critical caveat: IndexedDB is "best-effort" by default and can be evicted by the browser under storage pressure without warning. To protect a user's model you must request durable storage through the StorageManager API:

Dexie is broadly supported (it runs anywhere IndexedDB does, i.e., all modern browsers) and is the default storage layer for higher-level sync engines such as RxDB (rxdb.info/rx-storage-dexie).

File System Access API (true local files)

showOpenFilePicker(), showSaveFilePicker(), and showDirectoryPicker() let the app read/write actual user files and folders on disk, and the returned FileSystemFileHandle/FileSystemDirectoryHandle can be persisted in IndexedDB and re-opened later (after a permission re-grant), which is ideal for a "open my .sysml project file and keep editing it" workflow (Chrome capabilities docs, MDN File System API).

The major limitation is reach: the disk-picker methods ship only in Chromium browsers — Chrome 86+, Edge 86+, Opera 72+ (desktop only). Firefox and Safari do not implement them in any version, and there is no support on any mobile browser; Mozilla explicitly flagged the local-disk pickers as "harmful" in its standards position, and Apple has not committed to shipping them. caniuse currently puts global support at roughly 31.5% (caniuse, TestMu support tables, MDN). Treat it as a progressive enhancement: feature-detect window.showSaveFilePicker and fall back to a classic <a download> / Blob export (and <input type=file> import) on Firefox/Safari/mobile. A community ponyfill exists (use-strict/file-system-access).

OPFS (Origin Private File System)

OPFS is a separate, origin-scoped, user-invisible filesystem reached through navigator.storage.getDirectory() (returning a FileSystemDirectoryHandle). Unlike the File System Access API it needs no permission prompts and no Safe-Browsing/mark-of-the-web checks, and it does in-place writes rather than the temp-file copy pattern, which makes it markedly faster (web.dev/origin-private-file-system, MDN OPFS). Its headline feature is FileSystemFileHandle.createSyncAccessHandle(), which exposes synchronous read()/write()/truncate()/flush() — but only inside a Web Worker (the sync handle is not exposed on the main thread, by design, to avoid blocking the UI). The main thread can still use OPFS via the async createWritable() API.

Performance is the main reason to choose it: a cited benchmark wrote a 100 MB ArrayBuffer in ~90 ms with createSyncAccessHandle versus ~850 ms for the equivalent IndexedDB write (web.dev). Browser support is now universal across modern engines (since early 2023): Chrome 86+, Edge 86+, Firefox 111+, and Safari 15.2+ — notably broader than the File System Access pickers (renderlog, apurvkhare). OPFS is subject to the same quota/eviction rules as other origin storage (use persist() to harden it; estimate() reports an OPFS slice under usageDetails.fileSystem). A common production pattern is running SQLite compiled to Wasm on top of OPFS for a real queryable DB in the browser (Chrome blog: SQLite Wasm + OPFS).

Option Reach Strengths Watch-outs
IndexedDB + Dexie All modern browsers Queryable, transactional, mature, reactive-sync ecosystems Best-effort eviction unless persist(); verbose without a wrapper
OPFS Chrome/Edge 86+, FF 111+, Safari 15.2+ Fastest writes; sync worker I/O; backs SQLite-Wasm Sync handle worker-only; invisible to user; still quota-evictable
File System Access API Chromium desktop only (~31.5% global) Real user files; re-openable handles No Firefox/Safari/mobile; must build a Blob fallback

Serialization formats

JSON vs JSON-LD

A JSON-LD document is always valid JSON, so any JSON parser handles it; the difference is the optional @context, @id, and @type keywords that map fields to RDF/IRIs. This gives a "smooth upgrade path from JSON to JSON-LD" — consumers that don't care about Linked Data can simply include-but-ignore @context (json-ld.org, W3C JSON-LD 1.1, Wikipedia). Use JSON-LD when you need semantic interoperability, cross-document linking, or RDF/knowledge-graph mapping; plain JSON is sufficient when the data stays inside your app and needs no external semantic interpretation. This matters here because the SysML v2 standard API serializes objects as either JSON or JSON-LD (below), so designing your in-browser model objects to be JSON-LD-friendly (stable @id/@type) eases round-tripping.

SysML v2 standard API ("metamodel") JSON

The OMG Systems Modeling API and Services specification (Part 3 of SysML v2) defines a Platform-Independent Model plus REST/HTTP and OSLC platform-specific models; the API "contains full discoverable JSONSchema of the SysML v2 metamodel and uses JSON or JSON-LD to serialize objects," with paging and storable queries for retrieving partial object graphs (OMG SysML v2, OMG spec Part 3 PDF, SysON API docs). The reference pilot (Systems-Modeling/SysML-v2-API-Services) is a Java/Play/sbt service over PostgreSQL exposing a Swagger-documented REST API; usage patterns live in the API Cookbook.

Concrete payload shape (load-bearing for round-tripping): each model Element is a flat JSON object keyed by metamodel properties, e.g.

{
  "@id": "b2426313-e795-47e8-a2b2-7e29adb12a56",
  "@type": "Package",
  "declaredName": "Package1",
  "elementId": "b2426313-e795-47e8-a2b2-7e29adb12a56"
}

@type is the metaclass (Package, PartDefinition, OwningMembership, …); @id and elementId carry the same UUID (the spec has not finalized whether they must always be identical — treat that as a minor open point). Relationships are themselves elements; containment is expressed via ownedRelationship/owningRelationship references rather than nested objects, so a model is a flat graph of UUID-referenced nodes, not a tree. The data model layers Project → Commit → Element: a Commit has @id, created, owningProject, previousCommits, and a change array of DataVersion objects, each with an optional identity (which element it targets) and payload (the new element data); omitting the payload denotes deletion (SysON API cookbook, element owned-elements recipe).

Practical implication for a client-only app: storing your model as this flat @id/@type element-graph (one object per element, relationships as first-class elements) is the cleanest way to guarantee lossless round-tripping with conformant SysML v2 tools and servers — you can persist exactly the API JSON in Dexie/OPFS and later POST it as commit changes. JSON-LD output is available if/when you want RDF interoperability.

SysML v2 textual notation (.sysml / .kerml) import/export

The textual notation is the human-readable concrete syntax built on KerML, with a formal BNF grammar published in the release repo and a reference Xtext editor in the Pilot Implementation that parses .kerml/.sysml files (SysML-v2-Release BNF, Pilot Implementation, DeepWiki overview). It is positioned as a tool-neutral exchange format, and several tools support round-tripping (Sparx Trechoro claims clean export "free from Enterprise Architect-specific tags," and SysON supports both import and export) (Sparx, SysON FAQ).

Round-trip caveats to design around:

For a browser app, a pure-JS parser/printer for the textual notation is the gap: the reference parser is Xtext/Java, so client-only textual round-tripping likely requires either a hand-written/PEG grammar from the published BNF, a Wasm-compiled parser, or restricting textual support to export-only with API-JSON as the canonical store. (Flagging this as an architectural risk rather than a solved path — I found no maintained pure-browser JS SysML v2 textual parser in these sources. Note, however, that SysIDE/Syside's Langium-based parser is pure TypeScript and browser-capable — see Section 3 — which is the most promising route to closing this gap.)

Synthesis for a client-only modeler

Sources: dexie.org/docs/StorageManager, github.com/dexie/Dexie.js, pkgpulse, web.dev OPFS, MDN OPFS, Chrome SQLite-Wasm+OPFS, Chrome File System Access, caniuse File System Access, TestMu, json-ld.org, W3C JSON-LD 1.1, OMG SysML v2, OMG Systems Modeling API Part 3, SysML-v2-API-Services, SysML-v2-API-Cookbook, SysON API cookbook, SysON textual import/export, SysML-v2-Release BNF, SysML-v2-Pilot-Implementation.


7. Comparison of existing SysML v2 tools

The table consolidates the tools surveyed above, focused on the dimensions that matter for positioning a new pure-browser modeler. "Browser-only?" asks whether the tool can run entirely client-side with no required server backend — the defining constraint for this project.

Tool Type/Deployment Open/Closed Tech stack SysML v2 support API/Automation Browser-only?
Eclipse SysON Web app (server-backed); Docker/Spring + Postgres Open (EPL-2.0 / LGPL-3.0) Java 21, Spring Boot, EMF/Ecore; React + Sprotty + ELK; PostgreSQL; GraphQL Graphical (General, Interconnection, Action Flow, State Transition), forms, tables; textual import/export (partial); initial ViewUsage GraphQL (primary) + some REST; standard SysML v2 REST API on roadmap No — requires Spring + PostgreSQL backend
OMG Pilot Implementation Desktop IDE + Jupyter kernel Open (EPL-2.0 + GPL option) Java 21, Eclipse, Xtext; PlantUML/GraphViz viz; JupyterLab 4.x kernel Reference/canonical: full textual KerML+SysML parser, type-checker, normative libraries Companion REST server (see below); %publish magic to API No — desktop Eclipse / local Jupyter
OMG API & Services (reference server) REST server Open (EPL-2.0) Scala, Play Framework, sbt, JDK 11; PostgreSQL; OpenAPI 3.1 / Swagger Serves the standard SysML v2 metamodel (JSON / JSON-LD); Project→Commit→Element repository The standard REST/HTTP API (CRUD, commits, branches, queries) No — server process (port 9000) + Postgres
SysIDE / Syside (Sensmetry) VS Code extension (desktop + VS Code for Web); CLI; Python automation Mixed: Editor open (EPL-2.0 + GPLv2-CE), Modeler/Automator commercial TypeScript on Langium; Monaco; Web Worker LSP Textual SysML v2 + KerML (2024-12); semantic validation, diagram gen (Modeler), tables/matrices, ReqIF Headless CLI (Modeler); Python Automator; Sysand package manager Partial/Yes — Langium core runs in-browser (VS Code for Web); full Modeler is desktop/commercial
Dassault — Cameo / CATIA Magic Desktop authoring + Teamwork Cloud server; MagicLab browser viewer Closed (commercial; free Community Edition) Proprietary desktop client; Teamwork Cloud server v1 + v2 coexist (Enterprise tiers only, 2026x); textual↔graphical sync; v1→v2 migration Standard SysML v2 REST API via Teamwork Cloud (CI/CD) No for authoring — MagicLab/Collaborator are read-only browser viewers
PTC Modeler Desktop authoring + managed DB; Windchill/OSLC Closed (commercial) Windows desktop client; SQL Server backing store Incremental (10.0→10.2): structure, behavior, State, Analysis, Verification; .sysml text import OSLC; Windchill PLM digital thread No — desktop client
IBM Rhapsody Systems Engineering Described as web-based platform; multi-user Closed (commercial) Not publicly detailed; "web-based platform" per Siemens New v2 product (v1.5, Oct 2025); drag-drop auto-generates spec-compliant v2 model Standard v2 API & Services; Teamcenter MBSE (Siemens partnership) Partial — positioned as web-based, but enterprise-server-backed (not no-backend)
Sparx Enterprise Architect ("Trechoro") Desktop authoring Closed (commercial) UML-free environment built directly on KerML Preview/early-access (2025); v2 library elements; textual import + clean export Textual .sysml import/export No — desktop client
Vitech GENESYS Desktop (roadmap) Closed (commercial) Not yet shipped for v2 Roadmap — next-gen GENESYS to incorporate SysML v2 Vendor on OMG SST/FTF No — desktop (planned)

Pattern: every authoring tool today is either desktop-based or requires an enterprise server (Spring/Postgres for SysON, Teamwork Cloud for Dassault, Play/Postgres for the reference API). The only genuinely client-side-capable building block among shipping SysML v2 tools is SysIDE/Syside's Langium core, and even that is a textual language server rather than a graphical modeler. No shipping tool is a pure-browser, no-backend, graphical-plus-textual SysML v2 authoring environment — which is precisely the gap below.


Gaps & opportunities

Synthesizing the six sections, a new pure-browser, no-required-backend SysML v2 modeler can occupy a position that none of the surveyed tools currently fill. What it should do differently:

  1. Be genuinely backend-optional — the headline differentiator. Eclipse SysON (the closest open web modeler) mandates Spring Boot + PostgreSQL; Dassault's browser surface (MagicLab/Collaborator) is read-only over Teamwork Cloud; the reference API is a Scala/Play/Postgres server. A modeler that runs entirely from static hosting (or fully offline as a PWA), storing models in IndexedDB/Dexie hardened with navigator.storage.persist(), with OPFS for large-model throughput, would be the first authoring tool deployable with zero server. The server becomes optional — for sync and team sharing — not a prerequisite to draw a single block.

  2. Adopt the standard SysML v2 API element-graph JSON as the native in-memory and on-disk model. Rather than inventing a proprietary format (or coupling to EMF/Ecore as SysON does), store the model as the flat @id/@type element graph the OMG API & Services spec already defines, with relationships as first-class elements and Project→Commit→Element/DataVersion change semantics. This guarantees lossless round-tripping and lets the same payloads be POSTed to any conformant API server later — interoperability is designed in from the first commit, not retrofitted.

  3. Unify graphical and textual editing as true peers, with live two-way sync. SysON treats text as lossy import/export, not a live IDE; SysIDE/Syside is a strong textual IDE but not a graphical modeler; commercial tools bolt one onto the other. A browser tool can host a Langium-based SysML v2/KerML language server in a Web Worker (Monaco editor, client-side, the SysIDE/Syside lineage) side-by-side with a diagram canvas bound to the same element graph — giving simultaneous, synchronized text and diagram views with no server round-trip. This also directly closes the "no maintained pure-browser JS textual parser" gap flagged in Section 6, since Langium is exactly that parser.

  4. Choose a permissive, client-side-capable rendering stack and own the notation. The diagramming survey points to a pragmatic split: ELK/elkjs (Web Worker auto-layout) is non-negotiable because it natively supports ports and hierarchical/nested nodes — exactly block/IBD/interconnection geometry. Pair it with a client-side renderer chosen for control and license: Sprotty or GLSP 2 browser-mode (EPL-2.0, model-driven, the architecture SysON itself renders with) for maximal rigor, or maxGraph (Apache-2.0, zero-dependency) / React Flow (MIT) for a lighter, more permissive stack. Avoid Sirius Web (server-bound) and bpmn-js (watermark). Since no framework ships SysML notation, owning the compartment/port/containment rendering is unavoidable work — and an opportunity to get the notation right.

  5. Make collaboration and offline first-class via CRDTs, not a database. Yjs (MIT) over the shared element graph gives conflict-free multi-user editing, presence/awareness cursors, offline editing, and undo/redo without a stateful application server — only an optional lightweight relay for transport. This inverts the commercial model (IBM/Dassault require enterprise servers for multi-user) and fits the backend-optional thesis: collaboration becomes a peer-to-peer or thin-relay capability layered on the same local-first model.

  6. Compete on adoption ergonomics, not feature-count parity. The realistic gaps in every tool are the on-ramps: SysON's behavioral/ViewUsage coverage is still maturing and it doesn't scale to large models; textual round-trip is lossy everywhere; the desktop incumbents are expensive (Dassault's ~20% 2026 price rise, Enterprise-tier-only v2) and heavyweight. A focused browser tool should target instant zero-install trial (open a URL, start modeling), standards-faithful interchange (API-JSON canonical, textual as convenience), and the normative model libraries bundled client-side for correct cross-reference resolution offline. It need not match Cameo feature-for-feature to win the "try SysML v2 in thirty seconds, in any browser, with nothing to install and nothing to pay" use case — a niche the entire current market leaves open.

In one sentence: the opportunity is a local-first, standards-native SysML v2 modeler — Langium-in-a-worker for text, elkjs + a permissive renderer for diagrams, the OMG API element-graph as the model, Dexie/OPFS for persistence, and Yjs for optional collaboration — delivering in-browser graphical and textual authoring with no mandatory backend, which is exactly the combination no surveyed tool provides today.