Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sysml v2 Diagram Support #6317

Open
ericjameszimmerman opened this issue Feb 23, 2025 · 1 comment
Open

Sysml v2 Diagram Support #6317

ericjameszimmerman opened this issue Feb 23, 2025 · 1 comment
Labels
Status: Triage Needs to be verified, categorized, etc Type: Enhancement New feature or request

Comments

@ericjameszimmerman
Copy link

Proposal

Mermaid.js is widely used for generating text-based diagrams, making complex visualizations more accessible to developers and engineers. As Model-Based Systems Engineering (MBSE) adoption increases, supporting SysML v2 would enhance Mermaid.js’s utility in systems engineering, expanding its reach beyond software development. SysML v2 introduces improved semantics, better model interoperability, and a structured API for data exchange, aligning with the need for more precise and scalable system representations. By integrating SysML v2, Mermaid.js could facilitate clearer communication between software and systems engineering teams, improve compatibility with industry-standard MBSE tools, and attract a broader user base in aerospace, automotive, and industrial sectors. Adding this capability would strengthen Mermaid.js’s position as a versatile diagramming tool while addressing the growing demand for lightweight, standardized, and accessible system modeling solutions.

https://github.com/Systems-Modeling/SysML-v2-Release
https://www.omgwiki.org/MBSE/lib/exe/fetch.php?media=mbse:sysml_v2_transition:sysml_v2_basics-incose_iw-sfriedenthal-2024-01-28.pdf

Example

Image

package VehicleDefinitions {
	doc
	/*
	 * Example vehicle definitions model.
	 */

	private import ScalarValues::*;
	private import Quantities::*;
	private import MeasurementReferences::*;
	private import ISQ::*;
	private import SI::*;
	
	/* PART DEFINITIONS */
	
	part def Vehicle {
		attribute mass :> ISQ::mass;
	}
	part def Transmission;	
	part def AxleAssembly;
	part def Axle {
		port leftMountingPoint: AxleMountIF;
		port rightMountingPoint: AxleMountIF;
	}
	part def Wheel {
		port hub: WheelHubIF;
	}
	part def Lugbolt {
		attribute tighteningTorque :> ISQ::torque;
	}
	
	/* PORT DEFINITIONS */
	
	port def DriveIF { 
		in driveTorque :> ISQ::torque;
	}
	
	port def AxleMountIF { 
		out transferredTorque :> ISQ::torque;
	}
	
	port def WheelHubIF { 
		in appliedTorque :> ISQ::torque;
	}
	
	/* INTERFACE DEFINITIONS */
	
	interface def Mounting {
		doc /* The definition of the interface for mounting a Wheel to an Axle. */
		end axleMount: AxleMountIF;
		end hub: WheelHubIF;
		
		flow axleMount.transferredTorque to hub.appliedTorque;
	}
}

Screenshots

Image

@ericjameszimmerman ericjameszimmerman added Status: Triage Needs to be verified, categorized, etc Type: Enhancement New feature or request labels Feb 23, 2025
@Lon-fee
Copy link

Lon-fee commented Mar 1, 2025

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Triage Needs to be verified, categorized, etc Type: Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants