MCPcopy Index your code
hub / github.com/eclipse-syson/syson

github.com/eclipse-syson/syson @v2026.5.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2026.5.4 ↗ · + Follow
15,241 symbols 61,644 edges 1,704 files 8,612 documented · 57%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SysON Project

Welcome to the repository of the Eclipse SysON project.

Background

Obeo, a prominent contributor to Eclipse's Modeling technologies, has a history of active involvement in the Model-Based Systems Engineering (MBSE) community notably through Capella. Our commitment to advancing modeling tools is evident through our work on Eclipse Sirius Web, which aims to revolutionize modeling tools. As we progress with Sirius Web, we see it becoming better suited for managing complex languages and domains.

CEA is another significant player in the Eclipse Modeling technologies world. It is the main contributor to the Papyrus modeling platform. This platform provides support for OMG standards such as UML 2.X and SysML 1.X and comes with a wide set of satellite tools providing capabilities such as simulation, code generation and document generation. CEA is widely involved in the definition of OMG standards that are provided by the Papyrus platform and its satellite tools. In particular, CEA chairs specifications such as MARTE (Model and Analysis of Real-Time and Embedded Systems), PSCS (Precise Semantics for UML Composite Structures) and PSSM (Precise Semantics for UML State Machines).

In 2018, the Object Management Group (OMG) initiated a major revision of SysML 1.X to increase its MBSE adoption. The intention was to develop language improvements over precision, expressiveness, consistency, interoperability, and usability. This work led to the production of SysML V2. SysML V2 introduces major changes that have an impact on both the user and tool vendor levels. For instance, SysML V2 is no longer based on UML but on KerML (a core modeling language with a well-grounded formal semantics). This redesign, SysMLv2, a crucial language for systems engineering, is highly important for system design and compatibility among MBSE tools. Notably Papyrus which already supports UML, SysMLv1 and Eclipse Capella, which is gaining strong traction, stands to benefit from this adoption.

To facilitate this transformative vision, the System Engineering community acknowledged the need for a robust open-source tool dedicated to SysMLv2. This realization prompted both CEA and Obeo to initiate the development of a web-based SysMLv2 modeling tool using the Sirius Web platform. CEA will represent the project at the OMG and will lead the effort regarding SysMLv2 compliance and extensibility capabilities while Obeo will focus on the product and its user experience.

Scope

Eclipse SysON project provides an open-source and interoperable tool for editing SysMLv2 models conforming to the OMG Standard for the MBSE community.

This software will prominently showcase structured editors: graphical, form-based and tables, effectively utilizing the capabilities of the Sirius Web modeling platform. Additionally, the project will ensure seamless integration with Open-Source solutions like Papyrus and Capella, further enhancing the usability and versatility of the tool.

Description

The Eclipse SysON project provides open-source web-based tooling to edit SysML v2 models. It includes a set of editors (graphical, textual, form-based, etc.) enabling users to build the various parts of system models. Capitalizing on the capabilities of the Sirius Web platform, SysON offers a user-friendly interface, facilitating seamless model creation, modification, and visualization.

Furthermore, Eclipse SysON is the core of the SysMLv2 model editing feature of Papyrus and seamlessly enables co-design of SysMLv2 models alongside Eclipse Capella.

Additionally, Eclipse SysON embraces the standard API for interconnection, enhancing the interoperability of these vital modeling resources and will support the SysML v2 textual specifications as an exchange format, to ensure seamless transitions.

Through this initiative, we seek to foster growth within the MBSE community by providing a robust and accessible tool that harmonizes seamlessly with modern modeling landscapes.

Licenses

Eclipse Public License 2.0

Legal Issues

SysML® is a trademark owned by OMG with specific guidelines detailed here: https://www.omg.org/legal/tm_guidelines.htm

More about SysON

You can visit the SysON Website or contact Obeo for more information.

Extension points exported contracts — how you extend this code

PartUsage (Interface)
<!-- begin-user-doc --> A representation of the model object ' Part Usage '. <!-- end-user-doc --> Th [6 implementers]
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/PartUsage.java
ISysONExplorerFragment (Interface)
A fragment displayed in the SysON explorer. A fragment is a virtual element that is not present as-is in a {@ [10 implementers]
backend/services/syson-tree-services/src/main/java/org/eclipse/syson/tree/explorer/services/api/ISysONExplorerFragment.java
IDiagramChecker (Interface)
Checks an invariant on a diagram. @author gdaniel [27 implementers]
backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/checkers/IDiagramChecker.java
IViewDescriptionProvider (Interface)
Abstract class used to register Views in the application. @author Jerome Gout [5 implementers]
backend/views/syson-common-view/src/main/java/org/eclipse/syson/common/view/api/IViewDescriptionProvider.java
SysMLPackageNodePaletteAppearanceSectionState (Interface)
(no doc)
frontend/syson-components/src/nodes/package/SysMLPackageNodePaletteAppearanceSection.types.ts
Chainable (Interface)
(no doc)
integration-tests-cypress/cypress/cypress.d.ts
Step (Interface)
<!-- begin-user-doc --> A representation of the model object ' Step '. <!-- end-user-doc --> The foll [6 implementers]
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/Step.java
ISysMLMoveElementService (Interface)
Service that moves an element inside a new parent. @author Arthur Daussy [8 implementers]
backend/services/syson-services/src/main/java/org/eclipse/syson/services/api/ISysMLMoveElementService.java

Core symbols most depended-on inside this repo

add
called by 3242
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/helper/ImplicitSpecializationAccumulator.java
get
called by 1389
backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/expressions/graphql/MutationDeleteExpressionDataFetcher.java
getRelationship_OwnedRelatedElement
called by 1088
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/SysmlPackageImpl.java
createChildParameter
called by 1080
backend/metamodel/syson-siriusweb-customnodes-metamodel-edit/src/main/java/org/eclipse/syson/sysmlcustomnodes/provider/SysMLCustomnodesItemProviderAdapterFactory.java
append
called by 1079
backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/textual/utils/Appender.java
equals
called by 997
backend/application/syson-sysml-import/src/main/java/org/eclipse/syson/sysml/Event.java
getName
called by 835
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/Element.java
build
called by 720
backend/views/syson-tree-explorer-view/src/main/java/org/eclipse/syson/tree/explorer/view/SysONExplorerTreeDescriptionProvider.java

Shape

Method 13,176
Class 1,490
Interface 368
Function 195
Enum 12

Languages

Java96%
TypeScript3%
Python1%

Modules by API surface

backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/SysmlPackageImpl.java675 symbols
backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditParser.java426 symbols
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/util/SysmlAdapterFactory.java358 symbols
backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/textual/SysMLElementSerializer.java213 symbols
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/SysmlFactoryImpl.java189 symbols
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/util/SysmlSwitch.java181 symbols
backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/SysmlItemProviderAdapterFactory.java180 symbols
backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/SysmlFactory.java169 symbols
backend/application/syson-application/src/test/java/org/eclipse/syson/sysml/textual/SysMLElementSerializerTest.java127 symbols
backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditBaseListener.java93 symbols
backend/services/syson-direct-edit-grammar/src/main/java/org/eclipse/syson/direct/edit/grammars/DirectEditListener.java89 symbols
backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/helper/ImplicitSpecializationSwitch.java85 symbols

Datastores touched

postgresDatabase · 1 repos
syson-dbDatabase · 1 repos

For agents

$ claude mcp add syson \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact