SysML 2.1b1 RTF Avatar
  1. OMG Issue

SYSML21 — MagneticDipoleMomentUnit/Value defined in both ISQElectromagnetism and ISQAtomicNuclear with different dimensions; SI.sysml uses the unqualified name for both

  • 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