-
Key: SYSML21-686
-
Status: open
-
Source: Mongoose Enterprises ( Christopher Toth)
-
Summary:
ISQElectromagnetism.sysml line 1256 defines MagneticDipoleMomentUnit with dimension L^3 M T^-2 I^-1 (Wb*m, for j_m = mu_0 m, IEC 80000-6). ISQAtomicNuclear.sysml line 286 defines MagneticDipoleMomentUnit with dimension L^2 I (A*m^2, ISO 80000-10). The corresponding value types are duplicated in the same way: MagneticDipoleMomentValue is defined at ISQElectromagnetism.sysml line 1237 and at ISQAtomicNuclear.sysml line 267. Both conventions are legitimate, but both packages are publicly wildcard-imported by ISQ (lines 15 and 19), which SI publicly imports.
SI.sysml then uses the unqualified name twice, needing a different definition each time:
line 233: attribute <'m²⋅A'> 'metre squared ampere' : MagneticDipoleMomentUnit = m^2*A; line 303: attribute <'Wb⋅m'> 'weber metre' : MagneticDipoleMomentUnit = Wb*m;
Whatever the name resolution rule yields for two wildcard-imported memberships with the same name, at most one of these two declarations can get the type its expression requires. Proposed resolution: use qualified names at both sites (ISQAtomicNuclear::MagneticDipoleMomentUnit at line 233, ISQElectromagnetism::MagneticDipoleMomentUnit at line 303), or give the two unit and value types distinct names in the generated ISQ packages. A check for other names defined in more than one ISQ package would be worthwhile.
-
Reported: SysML 2.0 — Mon, 21 Sep 2026 22:45 GMT
-
Updated: Mon, 28 Sep 2026 19:02 GMT
SYSML21 — MagneticDipoleMomentUnit/Value defined in both ISQElectromagnetism and ISQAtomicNuclear with different dimensions; SI.sysml uses the unqualified name for both
- Key: SYSML21-686
- OMG Task Force: Systems Modeling Language (SysML) 2.1 RTF